Browse Source

refactor login code

stanley-king 4 years ago
parent
commit
04b328b347
1 changed files with 98 additions and 95 deletions
  1. 98 95
      mobile/control/login.php

+ 98 - 95
mobile/control/login.php

@@ -8,13 +8,14 @@ defined('InShopNC') or exit('Access Invalid!');
 require_once(BASE_DATA_PATH . '/model/member.model.php');
 require_once(BASE_CORE_PATH . '/framework/libraries/sms.php');
 require_once(BASE_CORE_PATH . '/framework/function/core.php');
-require_once(BASE_ROOT_PATH . '/helper/sms_helper.php');
-require_once(BASE_ROOT_PATH . '/helper/field_helper.php');
-require_once(BASE_ROOT_PATH . '/helper/session_helper.php');
-require_once(BASE_ROOT_PATH . '/helper/relation_helper.php');
-require_once(BASE_ROOT_PATH . '/helper/account_helper.php');
-require_once(BASE_ROOT_PATH . '/helper/session.php');
-require_once(BASE_ROOT_PATH . '/helper/login_helper.php');
+
+require_once(BASE_HELPER_PATH . '/sms_helper.php');
+require_once(BASE_HELPER_PATH . '/field_helper.php');
+require_once(BASE_HELPER_PATH . '/session_helper.php');
+require_once(BASE_HELPER_PATH . '/relation_helper.php');
+require_once(BASE_HELPER_PATH . '/account_helper.php');
+require_once(BASE_HELPER_PATH . '/session.php');
+require_once(BASE_HELPER_PATH . '/login_helper.php');
 
 //登录,获取验证码,注册
 class loginControl extends mobileHomeControl
@@ -119,51 +120,47 @@ class loginControl extends mobileHomeControl
                 }
                 account_helper::onLogin(session_helper::memberid());
             }
-            else
-            {
-                //pre-> mobile
-                if (session_helper::has_regmobile()) {
-                    $mobile = session_helper::get_regmobile();
-
-                    $mobile_loginner = new login\mobile_log($mobile);
-                    if ($mobile_loginner->ismember()) {
-                        $mobile_loginner->bind($user_info, $mobile);
-                        $mobile_loginner->login();
-                    } else {
-                        $unionid_loginner->bind($user_info, $mobile); //前向兼容很久前用openid登录情况。
-                        $unionid_loginner->login();
-                    }
-
-                    account_helper::onLogin(session_helper::memberid());
-                    session_helper::clear_regmobile();
-                    wechat_helper::clear_userinfo();
-                } else {
-                    wechat_helper::set_userinfo($user_info);
-                }
-            }
-        }
-        else
-        {
-            if (session_helper::has_regmobile())
-            {
+            elseif (session_helper::has_regmobile())
+            {   //pre-> mobile
                 $mobile = session_helper::get_regmobile();
-                $mobile_loginner = new login\mobile_log($mobile);
 
+                $mobile_loginner = new login\mobile_log($mobile);
                 if ($mobile_loginner->ismember()) {
-                    $mobile_loginner->bind($user_info);
+                    $mobile_loginner->bind($user_info, $mobile);
                     $mobile_loginner->login();
                 } else {
-                    $unionid_loginner->register($user_info, session_helper::relay_id(), $mobile);
+                    $unionid_loginner->bind($user_info, $mobile); //前向兼容很久前用openid登录情况。
                     $unionid_loginner->login();
-                    account_helper::onRegister(session_helper::memberid(), session_helper::relay_id());
-                    session_helper::clear_regmobile();
-                    wechat_helper::clear_userinfo();
                 }
+
                 account_helper::onLogin(session_helper::memberid());
-            } else {
+                session_helper::clear_regmobile();
+                wechat_helper::clear_userinfo();
+            }
+            else {
                 wechat_helper::set_userinfo($user_info);
             }
         }
+        elseif (session_helper::has_regmobile())
+        {
+            $mobile = session_helper::get_regmobile();
+            $mobile_loginner = new login\mobile_log($mobile);
+
+            if ($mobile_loginner->ismember()) {
+                $mobile_loginner->bind($user_info);
+                $mobile_loginner->login();
+            } else {
+                $unionid_loginner->register($user_info, session_helper::relay_id(), $mobile);
+                $unionid_loginner->login();
+                account_helper::onRegister(session_helper::memberid(), session_helper::relay_id());
+                session_helper::clear_regmobile();
+                wechat_helper::clear_userinfo();
+            }
+            account_helper::onLogin(session_helper::memberid());
+        }
+        else {
+            wechat_helper::set_userinfo($user_info);
+        }
 
         return self::outsuccess($this->ret_value());
     }
@@ -231,6 +228,8 @@ class loginControl extends mobileHomeControl
             $result['headimgurl'] = $data['avatarUrl'];
             $result['sex'] = $data['gender'];
             return $result;
+        } else {
+            return false;
         }
     }
 
@@ -247,7 +246,7 @@ class loginControl extends mobileHomeControl
     //给迷你小程序使用add
     public function wxauthenOp()
     {
-        $user_info = $_GET['user_info'];
+        $user_info  = $_GET['user_info'];
         $phone_info = $_GET['phone_info'];
 
         if (empty($user_info)) {
@@ -283,19 +282,17 @@ class loginControl extends mobileHomeControl
             $mid_login->login();
             account_helper::onLogin(session_helper::memberid());
         }
-        else
-        {
-            if ($uid_login->ismember()) {
-                $uid_login->bind($user_info,$phone);
-                $uid_login->login();
-                account_helper::onLogin(session_helper::memberid());
-            } else {
-                $uid_login->register($user_info, session_helper::relay_id(), session_helper::mobile());
-                $uid_login->login();
-                account_helper::onRegister(session_helper::memberid(), session_helper::relay_id());
-                session_helper::clear_regmobile();
-                wechat_helper::clear_userinfo();
-            }
+        elseif ($uid_login->ismember()) {
+            $uid_login->bind($user_info,$phone);
+            $uid_login->login();
+            account_helper::onLogin(session_helper::memberid());
+        }
+        else {
+            $uid_login->register($user_info, session_helper::relay_id(), session_helper::mobile());
+            $uid_login->login();
+            account_helper::onRegister(session_helper::memberid(), session_helper::relay_id());
+            session_helper::clear_regmobile();
+            wechat_helper::clear_userinfo();
         }
 
         return self::outsuccess($this->ret_value());
@@ -314,12 +311,16 @@ class loginControl extends mobileHomeControl
 
         if ($resp == false) {
             return self::outerr(errcode::ErrLogin);
-        } else {
+        }
+        else
+        {
             $body = json_decode($resp, true);
             Log::record("{$resp}", Log::DEBUG);
             if (isset($body['errcode'])) {
                 return self::outerr(errcode::ErrApptype, "获取appid失败");
-            } else {
+            }
+            else
+            {
                 if (array_key_exists('session_key', $body)) {
                     wechat_helper::setmini_sesskey($body['session_key']);
                     Log::record("session_key = {$body['session_key']}");
@@ -334,9 +335,9 @@ class loginControl extends mobileHomeControl
     {
         if ($mobile == '13700000000' && $code == '1111') {
             return true;
-        } else if ($mobile == '13800000000' && $code == '1111') {
+        } elseif ($mobile == '13800000000' && $code == '1111') {
             return true;
-        } else if ($mobile == '13900000000' && $code == '1111') {
+        } elseif ($mobile == '13900000000' && $code == '1111') {
             return true;
         } else {
             return false;
@@ -381,10 +382,13 @@ class loginControl extends mobileHomeControl
         //绑定逻辑,以微信Unionid优先级为高。
         //cur-> mobile
         $mobile_loginner = new login\mobile_log($mobile);
-        if ($mobile_loginner->ismember()) {
-            if ($mobile_loginner->binded_wechat()) {
+        if ($mobile_loginner->ismember())
+        {
+            if ($mobile_loginner->binded_wechat())
+            {
                 //pre->wx
-                if (wechat_helper::has_userinfo()) {
+                if (wechat_helper::has_userinfo())
+                {
                     $user_info = wechat_helper::get_userinfo();
 
                     $union_logginer = new login\open_userinfo_log($user_info);
@@ -401,48 +405,48 @@ class loginControl extends mobileHomeControl
                     $mobile_loginner->login();
                 }
                 account_helper::onLogin(session_helper::memberid());
-            } else {
-                //pre->wx
-                if (wechat_helper::has_userinfo()) {
-                    $user_info = wechat_helper::get_userinfo();
-                    $union_logginer = new login\open_userinfo_log($user_info);
-                    if ($union_logginer->ismember()) {
-                        $union_logginer->bind([], $mobile);
-                        $union_logginer->login();
-                    } else {
-                        $mobile_loginner->bind(wechat_helper::get_userinfo());
-                        $mobile_loginner->login();
-                    }
-
-                    account_helper::onLogin(session_helper::memberid());
-                    session_helper::clear_regmobile();
-                    wechat_helper::clear_userinfo();
-                } else {
-                    session_helper::set_regmobile($mobile);
-                }
             }
-        } else {
-            //pre->wx
-            if (wechat_helper::has_userinfo()) {
+            elseif (wechat_helper::has_userinfo())
+            {
                 $user_info = wechat_helper::get_userinfo();
-
                 $union_logginer = new login\open_userinfo_log($user_info);
                 if ($union_logginer->ismember()) {
                     $union_logginer->bind([], $mobile);
                     $union_logginer->login();
                 } else {
-                    $mobile_loginner->register($user_info, session_helper::relay_id(), $mobile);
+                    $mobile_loginner->bind(wechat_helper::get_userinfo());
                     $mobile_loginner->login();
-                    account_helper::onRegister($mobile_loginner->memberid(), session_helper::relay_id());
                 }
 
                 account_helper::onLogin(session_helper::memberid());
                 session_helper::clear_regmobile();
                 wechat_helper::clear_userinfo();
-            } else {
+            }
+            else {
                 session_helper::set_regmobile($mobile);
             }
         }
+        elseif (wechat_helper::has_userinfo()) //pre->wx
+        {
+            $user_info = wechat_helper::get_userinfo();
+
+            $union_logginer = new login\open_userinfo_log($user_info);
+            if ($union_logginer->ismember()) {
+                $union_logginer->bind([], $mobile);
+                $union_logginer->login();
+            } else {
+                $mobile_loginner->register($user_info, session_helper::relay_id(), $mobile);
+                $mobile_loginner->login();
+                account_helper::onRegister($mobile_loginner->memberid(), session_helper::relay_id());
+            }
+
+            account_helper::onLogin(session_helper::memberid());
+            session_helper::clear_regmobile();
+            wechat_helper::clear_userinfo();
+        }
+        else {
+            session_helper::set_regmobile($mobile);
+        }
 
         return self::outsuccess($this->ret_value());
     }
@@ -551,17 +555,16 @@ class loginControl extends mobileHomeControl
         $model_member = Model('member');
         $member_info = $this->getMemberInfoEx($model_member, $openid, $type, $password);
 
-        if (is_array($member_info) and !empty($member_info)) {
+        if (is_array($member_info) and !empty($member_info))
+        {
             if (!$member_info['member_state']) {
                 return self::outerr(errcode::ErrAccountStop);
             }
         }
-        else {
-            if ($type == self::wxopen_login) { //如果是开放平台帐号,此处先需要注册
-                return self::outerr(errcode::ErrWxNotExist);
-            } else {
-                return self::outerr(errcode::ErrUserOrPass, "该手机号码未注册或者密码错误");
-            }
+        elseif ($type == self::wxopen_login) { //如果是开放平台帐号,此处先需要注册
+            return self::outerr(errcode::ErrWxNotExist);
+        } else {
+            return self::outerr(errcode::ErrUserOrPass, "该手机号码未注册或者密码错误");
         }
 
         $model_member->createSession($member_info);