Procházet zdrojové kódy

小程序手机号授权登录

whitefang před 1 rokem
rodič
revize
c4bf7d48cc

+ 14 - 1
app/api/controller/LoginController.php

@@ -28,7 +28,7 @@ use app\api\logic\LoginLogic;
 class LoginController extends BaseApiController
 class LoginController extends BaseApiController
 {
 {
 
 
-    public array $notNeedLogin = ['account', 'logout', 'codeUrl', 'oaLogin',  'mnpLogin', 'getScanCode', 'scanLogin', 'firmLogin'];
+    public array $notNeedLogin = ['account', 'logout', 'codeUrl', 'oaLogin',  'mnpLogin', 'getScanCode', 'scanLogin', 'firmLogin','getMnpPhone'];
 
 
     /**
     /**
      * @notes 账号密码/手机号密码/手机号验证码登录
      * @notes 账号密码/手机号密码/手机号验证码登录
@@ -120,6 +120,19 @@ class LoginController extends BaseApiController
         return $this->success('', $res);
         return $this->success('', $res);
     }
     }
 
 
+    /**
+     * @return \think\response\Json
+     */
+    public function getMnpPhone()
+    {
+        $params = (new WechatLoginValidate())->post()->goCheck('wechatAuth');
+        $res = LoginLogic::mnpPhoneCode($params);
+        if (false === $res) {
+            return $this->fail(LoginLogic::getError());
+        }
+        return $this->success('', (array)$res);
+    }
+
 
 
     /**
     /**
      * @notes 小程序绑定微信
      * @notes 小程序绑定微信

+ 18 - 0
app/api/logic/LoginLogic.php

@@ -238,6 +238,24 @@ class LoginLogic extends BaseLogic
         }
         }
     }
     }
 
 
+    /**
+     * @param array $params
+     * @return array|false
+     */
+    public static function mnpPhoneCode(array $params)
+    {
+        Db::startTrans();
+        try {
+            $response = (new WeChatMnpService())->getUserPhoneNumber($params['code']);
+            Db::commit();
+            return $response;
+        } catch (\Exception  $e) {
+            Db::rollback();
+            self::$error = $e->getMessage();
+            return false;
+        }
+    }
+
 
 
     /**
     /**
      * @notes 更新登录信息
      * @notes 更新登录信息