getOpenid($code); if (empty($res['openid'])) { return sendErrorMessage(4001, '授权失败'); } //更新小程序用户信息表 $user_info = [ 'uid' => UID, 'openid' => $res['openid'], 'unionid' => isset($res['unionid']) ? $res['unionid'] : '', 'session_key' => isset($res['session_key']) ? $res['session_key'] : '', 'session_key_time' => time(), ]; $res = $mpqq_user_model->updateUser($user_info); //获取用户信息 $mpqq_user = $mpqq_user_model->getOneData([ ['openid', '=', $user_info['openid']] ], 'id,user_id,openid'); //获取token $info = [ 'uid' => UID, 'openid' => $mpqq_user['openid'], 'mpqq_user_id' => $mpqq_user['id'], 'user_id' => $mpqq_user['user_id'], ]; $res_token = $jwt_class->signToken($info); $r_data = $info; $r_data['access_token'] = $res_token['token']; $r_data['access_token_expire_time'] = $res_token['exp']; return sendSuccessMessage($r_data); } /** * 平台用户信息更新 * @date 2021-07-01 */ public function userInfoUpdate() { $param = input('post.'); $mpqq_user_model = new MpqqUser(); $data = [ 'uid' => UID, 'openid' => OPENID, 'nickname' => $param['nickname'], 'headimgurl' => $param['headimgurl'], 'gender' => $param['gender'], 'country' => $param['country'], 'province' => $param['province'], 'city' => $param['city'], 'language' => $param['language'] ]; $res = $mpqq_user_model->updateUser($data); if (!$res) { return sendErrorMessage(4001, '更新信息失败'); } return sendSuccessMessage(); } /** * 微信小程序 通过openid获取信息(一般用于测试openid或access_token过期后重新获取) * @date 2021-07-01 */ public function getUserByOpenid() { $openid = input('post.openid'); $mpqq_user_model = new MpqqUser(); $jwt_class = new \jwt\Jwt(); //获取用户信息 $mpqq_user = $mpqq_user_model->getOneData([ ['openid', '=', $openid] ], 'id,user_id,openid'); //获取token $info = [ 'uid' => UID, 'openid' => $mpqq_user['openid'], 'mpqq_user_id' => $mpqq_user['id'], 'user_id' => $mpqq_user['user_id'], ]; $res_token = $jwt_class->signToken($info); $r_data = $info; $r_data['access_token'] = $res_token['token']; $r_data['access_token_expire_time'] = $res_token['exp']; return sendSuccessMessage($r_data); } }