diff --git a/app/api/controller/User.php b/app/api/controller/User.php index b9d95b97b..8bd035d3f 100755 --- a/app/api/controller/User.php +++ b/app/api/controller/User.php @@ -383,7 +383,7 @@ class User extends Common if($result['status'] == 0) { // 先从数据库获取用户信息 - $user = UserService::AppUserInfoHandle(null, 'baidu_openid', $result); + $user = UserService::AppUserInfoHandle(null, 'baidu_openid', $result['data']['openid']); if(!empty($user)) { // 用户状态 @@ -395,7 +395,7 @@ class User extends Common $ret = DataReturn('授权登录成功', 0, $user); } } else { - $ret = DataReturn('授权登录成功', 0, ['is_user_exist'=>0, 'openid'=>$result['data']]); + $ret = DataReturn('授权登录成功', 0, ['is_user_exist'=>0, 'openid'=>$result['data']['openid']]); } } else { $ret = DataReturn($result['msg'], -10); @@ -488,10 +488,10 @@ class User extends Common if($result['status'] == 0) { // 先从数据库获取用户信息 - $user = UserService::AppUserInfoHandle(null, 'toutiao_openid', $result); + $user = UserService::AppUserInfoHandle(null, 'toutiao_openid', $result['data']['openid']); if(empty($user)) { - $ret = DataReturn('授权登录成功', 0, ['is_user_exist'=>0, 'openid'=>$result['data']]); + $ret = DataReturn('授权登录成功', 0, ['is_user_exist'=>0, 'openid'=>$result['data']['openid']]); } else { // 用户状态 $ret = UserService::UserStatusCheck('id', $user['id']); @@ -579,13 +579,13 @@ class User extends Common { // 授权 $result = (new \base\QQ(MyC('common_app_mini_qq_appid'), MyC('common_app_mini_qq_appsecret')))->GetAuthSessionKey($this->data_post['authcode']); - if($result !== false) + if($result['status'] == 0) { // 先从数据库获取用户信息 - $user = UserService::AppUserInfoHandle(null, 'qq_openid', $result); + $user = UserService::AppUserInfoHandle(null, 'qq_openid', $result['data']['openid']); if(empty($user)) { - $ret = DataReturn('授权登录成功', 0, ['is_user_exist'=>0, 'openid'=>$result]); + $ret = DataReturn('授权登录成功', 0, ['is_user_exist'=>0, 'openid'=>$result['data']['openid']]); } else { // 用户状态 $ret = UserService::UserStatusCheck('id', $user['id']); @@ -597,7 +597,7 @@ class User extends Common } } } else { - $ret = DataReturn('授权登录失败', -100); + $ret = DataReturn($result['msg'], -10); } } else { $ret = DataReturn('授权码为空', -1); diff --git a/app/service/AppMiniUserService.php b/app/service/AppMiniUserService.php index 783e0db4b..613fd214a 100644 --- a/app/service/AppMiniUserService.php +++ b/app/service/AppMiniUserService.php @@ -251,7 +251,7 @@ class AppMiniUserService if($result['status'] == 0) { // 先从数据库获取用户信息 - $user = UserService::AppUserInfoHandle(null, 'baidu_openid', $result); + $user = UserService::AppUserInfoHandle(null, 'baidu_openid', $result['data']['openid']); if(!empty($user)) { // 用户状态 @@ -263,7 +263,7 @@ class AppMiniUserService $ret = DataReturn('授权登录成功', 0, $user); } } else { - $ret = DataReturn('授权登录成功', 0, ['is_user_exist'=>0, 'openid'=>$result['data']]); + $ret = DataReturn('授权登录成功', 0, ['is_user_exist'=>0, 'openid'=>$result['data']['openid']]); } } else { $ret = DataReturn($result['msg'], -10); @@ -373,10 +373,10 @@ class AppMiniUserService if($result['status'] == 0) { // 先从数据库获取用户信息 - $user = UserService::AppUserInfoHandle(null, 'toutiao_openid', $result); + $user = UserService::AppUserInfoHandle(null, 'toutiao_openid', $result['data']['openid']); if(empty($user)) { - $ret = DataReturn('授权登录成功', 0, ['is_user_exist'=>0, 'openid'=>$result['data']]); + $ret = DataReturn('授权登录成功', 0, ['is_user_exist'=>0, 'openid'=>$result['data']['openid']]); } else { // 用户状态 $ret = UserService::UserStatusCheck('id', $user['id']); @@ -461,13 +461,13 @@ class AppMiniUserService { // 授权 $result = (new \base\QQ(MyC('common_app_mini_qq_appid'), MyC('common_app_mini_qq_appsecret')))->GetAuthSessionKey($params['authcode']); - if($result !== false) + if($result['status'] == 0) { // 先从数据库获取用户信息 - $user = UserService::AppUserInfoHandle(null, 'qq_openid', $result); + $user = UserService::AppUserInfoHandle(null, 'qq_openid', $result['data']['openid']); if(empty($user)) { - $ret = DataReturn('授权登录成功', 0, ['is_user_exist'=>0, 'openid'=>$result]); + $ret = DataReturn('授权登录成功', 0, ['is_user_exist'=>0, 'openid'=>$result['data']['openid']]); } else { // 用户状态 $ret = UserService::UserStatusCheck('id', $user['id']); @@ -479,7 +479,7 @@ class AppMiniUserService } } } else { - $ret = DataReturn('授权登录失败', -100); + $ret = DataReturn($result['msg'], -10); } } else { $ret = DataReturn('授权码为空', -1); diff --git a/extend/base/Baidu.php b/extend/base/Baidu.php index b87896443..b701d75ed 100755 --- a/extend/base/Baidu.php +++ b/extend/base/Baidu.php @@ -144,6 +144,10 @@ class Baidu 'sk' => $this->_appsecret, ]; $result = json_decode($this->HttpRequestPost('https://spapi.baidu.com/oauth/jscode2sessionkey', $data), true); + if(empty($result)) + { + return ['status'=>-1, 'msg'=>'授权接口调用失败']; + } if(!empty($result['openid'])) { // 缓存SessionKey @@ -151,9 +155,9 @@ class Baidu // 缓存存储 MyCache($key, $result); - return ['status'=>0, 'msg'=>'授权成功', 'data'=>$result['openid']]; + return ['status'=>0, 'msg'=>'授权成功', 'data'=>$result]; } - return ['status'=>-1, 'msg'=>$result['error_description']]; + return ['status'=>-1, 'msg'=>empty($result['error_description']) ? '授权接口异常错误' : $result['error_description']]; } /** diff --git a/extend/base/QQ.php b/extend/base/QQ.php index 6b5adf7e6..c0b6f60b6 100644 --- a/extend/base/QQ.php +++ b/extend/base/QQ.php @@ -107,16 +107,20 @@ class QQ // 请求获取session_key $url = 'https://api.q.qq.com/sns/jscode2session?appid='.$this->_appid.'&secret='.$this->_appsecret.'&js_code='.$authcode.'&grant_type=authorization_code'; $result = $this->HttpRequestGet($url); - if(!empty($result) && !empty($result['openid'])) + if(empty($result)) { - // 从缓存获取用户信息 + return ['status'=>-1, 'msg'=>'授权接口调用失败']; + } + if(!empty($result['openid'])) + { + // 缓存SessionKey $key = 'qq_user_login_'.$result['openid']; // 缓存存储 MyCache($key, $result); - return $result['openid']; + return ['status'=>0, 'msg'=>'授权成功', 'data'=>$result]; } - return false; + return ['status'=>-1, 'msg'=>empty($result['errmsg']) ? '授权接口异常错误' : $result['errmsg']]; } /** diff --git a/extend/base/Toutiao.php b/extend/base/Toutiao.php index 50798cf39..b34db6d78 100644 --- a/extend/base/Toutiao.php +++ b/extend/base/Toutiao.php @@ -56,11 +56,11 @@ class Toutiao // 获取授权 $url = 'https://developer.toutiao.com/api/apps/jscode2session?appid='.$this->config['appid'].'&secret='.$this->config['secret'].'&code='.$params['authcode']; $result = json_decode(RequestGet($url), true); - if(empty($result['openid'])) + if(empty($result) || empty($result['openid'])) { - return ['status'=>-1, 'msg'=>$result['errmsg']]; + return ['status'=>-1, 'msg'=>empty($result['errmsg']) ? '授权接口异常错误' : $result['errmsg']]; } - return ['status'=>0, 'msg'=>'授权成功', 'data'=>$result['openid']]; + return ['status'=>0, 'msg'=>'授权成功', 'data'=>$result]; } /** diff --git a/extend/base/Wechat.php b/extend/base/Wechat.php index fd4c6136a..2cea9fa5f 100755 --- a/extend/base/Wechat.php +++ b/extend/base/Wechat.php @@ -111,7 +111,11 @@ class Wechat // 请求获取session_key $url = 'https://api.weixin.qq.com/sns/jscode2session?appid='.$this->_appid.'&secret='.$this->_appsecret.'&js_code='.$params['authcode'].'&grant_type=authorization_code'; $result = $this->HttpRequestGet($url); - if(!empty($result) && !empty($result['openid'])) + if(empty($result)) + { + return ['status'=>-1, 'msg'=>'授权接口调用失败']; + } + if(!empty($result['openid'])) { // 缓存SessionKey $key = 'wechat_user_login_'.$result['openid']; @@ -120,7 +124,7 @@ class Wechat MyCache($key, $result); return ['status'=>0, 'msg'=>'授权成功', 'data'=>$result]; } - return ['status'=>-1, 'msg'=>$result['errmsg']]; + return ['status'=>-1, 'msg'=>empty($result['errmsg']) ? '授权接口异常错误' : $result['errmsg']]; } /**