xieruidong 2 years ago
parent
commit
a927e38e34

+ 5 - 1
application/api/controller/User.php

@@ -345,7 +345,7 @@ class User extends Api
             $this->error('马苏德');
         }
 
-        list($res,$openid)=WxOpenService::bind($key,$data['event']);
+        list($res,$openid,$returnData)=WxOpenService::bind($key,$data['event']);
         if(!$res){
             $this->error($openid);
         }
@@ -368,6 +368,10 @@ class User extends Api
             if($user['status']=='hidden'){
                 $this->error('用户被禁用');
             }
+            if(!empty($returnData['unionid'])){
+                $user['unionid']=$returnData['unionid'];
+                $user->save();
+            }
             $this->auth->direct($user['id']);
             UserLoginRange::addRange($this->auth->getUser());
             $info['user']=$this->auth->getUserinfo();

+ 2 - 2
application/common/service/WxOpenService.php

@@ -42,7 +42,7 @@ class WxOpenService{
         $res=(new Client())->get($url)->getBody()->getContents();
         $arr=json_decode($res,true);
         if(isset($arr['errcode'])){
-            return [false,$arr['errmsg']];
+            return [false,$arr['errmsg'],$arr];
         }else{
             if($e==2) {
                 $user=User::where('mobile',$key)->find();
@@ -56,7 +56,7 @@ class WxOpenService{
             elseif($e==1){
                 Cache::set("wx_open_openid_{$key}", $arr['openid'], 600);
             }
-            return [true,$arr['openid']];
+            return [true,$arr['openid'],$arr];
         }
     }
     public static function getCachedOpenId($key){