ソースを参照

账号登录绑定wx_code

whitefang 1 年間 前
コミット
becad54a67
2 ファイル変更21 行追加15 行削除
  1. 20 0
      app/api/controller/LoginController.php
  2. 1 15
      app/api/logic/LoginLogic.php

+ 20 - 0
app/api/controller/LoginController.php

@@ -40,6 +40,15 @@ class LoginController extends BaseApiController
     {
         $params = (new RegisterValidate())->post()->goCheck('register');
         $result = LoginLogic::register($params);
+        //验证是否传微信小程序的CODE,如果传入进行绑定
+        if(!empty($params['wx_code']) and $params['channel']==1){
+            $params['code'] = $params['wx_code'];
+            $params['user_id'] = $this->userId;
+            $wx_result = LoginLogic::mnpAuthLogin($params);
+            if ($wx_result === false) {
+                return $this->fail(LoginLogic::getError());
+            }
+        }
         if (true === $result) {
             return $this->success('注册成功', [], 1, 1);
         }
@@ -57,6 +66,17 @@ class LoginController extends BaseApiController
     {
         $params = (new LoginAccountValidate())->post()->goCheck();
         $result = LoginLogic::login($params);
+
+        //验证是否传微信小程序的CODE,如果传入进行绑定
+        if(!empty($params['wx_code']) and $params['terminal']==1){
+            $params['code'] = $params['wx_code'];
+            $params['user_id'] = $this->userId;
+            $wx_result = LoginLogic::mnpAuthLogin($params);
+            if ($wx_result === false) {
+                return $this->fail(LoginLogic::getError());
+            }
+        }
+
         if (false === $result) {
             return $this->fail(LoginLogic::getError());
         }

+ 1 - 15
app/api/logic/LoginLogic.php

@@ -52,7 +52,7 @@ class LoginLogic extends BaseLogic
             $password = create_password($params['password'], $passwordSalt);
             $avatar = ConfigService::get('default_image', 'user_avatar');
 
-            $user = User::create([
+            User::create([
                 'sn' => $userSn,
                 'avatar' => $avatar,
                 'nickname' => '用户' . $userSn,
@@ -61,13 +61,6 @@ class LoginLogic extends BaseLogic
                 'channel' => $params['channel'],
             ]);
 
-            //验证是否传微信小程序的CODE,如果传入进行绑定
-            if(!empty($params['wx_code']) and $params['channel']==1){
-                $params['code'] = $params['wx_code'];
-                $params['user_id'] = $user->id;
-                self::mnpAuthLogin($params);
-            }
-
             return true;
         } catch (\Exception $e) {
             self::setError($e->getMessage());
@@ -110,13 +103,6 @@ class LoginLogic extends BaseLogic
             $avatar = $user->avatar ?: Config::get('project.default_image.user_avatar');
             $avatar = FileService::getFileUrl($avatar);
 
-            //验证是否传微信小程序的CODE,如果传入进行绑定
-            if(!empty($params['wx_code']) and $params['terminal']==1){
-                $params['code'] = $params['wx_code'];
-                $params['user_id'] = $user->id;
-                self::mnpAuthLogin($params);
-            }
-
             return [
                 'nickname' => $userInfo['nickname'],
                 'sn' => $userInfo['sn'],