field('U.*')->JOIN('user', 'as U', 'logon.uid=U.id')->where('logon.appid', $appid)->where('U.appid', $appid)->where('logon.token', $token)->find(); //false if (!$res_logon) out(127, $app_res); //TOKEN不存在或已失效 if ($res_logon['ban'] > time() || $res_logon['ban'] == 999999999) out(114, $res_logon['ban_notice'], $app_res); //账号被禁用 Db::table('user_logon')->where('token', $token)->update(['last_t' => time()]); //记录活动时间 $res_qq = Db::table('user')->where(['openid_qq' => $openid, 'appid' => $appid])->find(); //false if ($res_qq) out(160, $app_res); //已绑定其他账号 $get_data = ['access_token' => $access_token, 'openid' => $openid, 'oauth_consumer_key' => $qqappid, 'format' => 'json']; $qq_data = http_gets('https://graph.qq.com/user/get_user_info', $get_data); if (!$qq_data) out(162, $app_res); $json_qq = json_decode($qq_data, true); if (isset($json_qq['errcode'])) out(158, $app_res); //错误的身份信息 $res = Db::table('user')->where('id', $res_logon['id'])->update(['openid_qq' => $openid]); if ($res) { if (defined('USER_LOG') && USER_LOG == 1) { Db::table('log')->add(['uid' => $res_logon['id'], 'type' => $act, 'status' => 200, 'time' => time(), 'ip' => getip(), 'appid' => $appid]); } //记录日志 out(200, '绑定成功', $app_res); } else { if (defined('USER_LOG') && USER_LOG == 1) { Db::table('log')->add(['uid' => $res_logon['id'], 'type' => $act, 'status' => 201, 'time' => time(), 'ip' => getip(), 'appid' => $appid]); } //记录日志 out(201, '绑定成功', $app_res); } ?>