function handle_reset() { $device = @$_GET['device']; if (empty($device)) { $device = get_device(); } if (empty($device)) { return 'no device'; } //删除保存了的在线列表 mmc_array_del(NS_DEVICE_LIST, $device); //删除保存了的账户信息 $mem = api_open_mmc(); $mem->ns_delete(NS_BINDED_LIST, $device); $mem->ns_delete(NS_BINDED_CAPTION, $device); foreach (mmc_array_keys(NS_BINDING_LIST) as $platform) { $ns_bind_list = NS_BINDING_LIST . $platform; mmc_array_del($ns_bind_list, $device); } //删除保存了的计划任务消息记录 $mem->ns_delete(NS_SCHED_DEVICE, $device); $mem->ns_delete(NS_PLANS_DEVICE, $device); new_user($device, time() + COOKIE_TIMEOUT_NEW); //清空cookie unset($_COOKIE[COOKIE_DEVICE_SAVED]); setcookie(COOKIE_DEVICE_SAVED, '', time() - 3600, '/', COOKIE_DOMAIN); return 'succeed'; }
function onebox_cached($content) { $mem = api_open_mmc(); $result = $mem->ns_get(NS_ONEBOX_CACHE, md5($content)); if (empty($result)) { $result = make_onebox_appgame($content); $mem->ns_set(NS_ONEBOX_CACHE, md5($content), $result); } return $result; }
function async_checkpoint_update() { $mem = api_open_mmc(); $mem->set(CHECKPOINT_TIME_KEY, time()); }
header('Access-Control-Allow-Credentials: true'); header('Content-Type: text/html; charset=utf-8'); $cmd = @$_POST['cmd']; if ($cmd == 'sendmessage') { $device_list = $_POST['target']; $cmdbox = $_POST['cmdbox']; $msgmod = $cmdbox['msgmod']; $new_text = make_onebox_appgame($cmdbox['text']); if ($new_text !== $cmdbox['text']) { $cmdbox['text'] = $new_text; } $ok_res = []; $error_res = []; //放置异步消息 if ($msgmod == 'heartbeat') { $mem = api_open_mmc(); foreach ($device_list as $device) { if ($cmdbox_list = $mem->ns_get(NS_HEARTBEAT_MESSAGE, $device)) { array_push($cmdbox_list, $cmdbox); } else { $cmdbox_list = array($cmdbox); } if ($mem->ns_set(NS_HEARTBEAT_MESSAGE, $device, $cmdbox_list, CACHE_EXPIRE_SECONDS)) { $ok_res[] = $device; } else { $error_res[] = $device; } } die(jsonp(['ok' => $ok_res, 'error' => $error_res])); } //发送实时消息
function get_locale_mem($ip) { $mem = api_open_mmc(); if ($city_name = $mem->ns_get(GET_DEVICE, $ip)) { return $city_name; } $city_name = get_city_name($ip); if (empty($city_name)) { $city_name = $ip; } $mem->ns_set(GET_LOCALE, $ip, $city_name, GET_LOCALE_EXPIRE); return $city_name; }
function async_timer($script_path, $time_interval = null) { $mem = api_open_mmc(); $item = $mem->ns_get(SCRIPT_TIMER, $script_path); $now_time = time(); do { if (empty($item)) { break; } if (is_null($time_interval)) { $time_interval = $item['interval']; } if ($now_time - $item['lasttime'] > $time_interval) { break; } return $item['lasttime']; } while (false); if (is_null($time_interval)) { return $now_time; } $new_item = array('interval' => $time_interval, 'lasttime' => $now_time); $mem->ns_set(SCRIPT_TIMER, $script_path, $new_item); call_async_php($script_path); return $now_time; }