wesmiler 2 месяцев назад
Родитель
Сommit
904badc8f1
2 измененных файлов с 31 добавлено и 106 удалено
  1. 0 2
      app/Http/Middleware/WebLogin.php
  2. 31 104
      app/Services/Api/MemberService.php

+ 0 - 2
app/Http/Middleware/WebLogin.php

@@ -33,8 +33,6 @@ class WebLogin extends Middleware
             $token = trim($token);
             if($token){
                 // JWT解密token
-                //$jwt = new Jwt();
-               // $userId = $jwt->verifyToken($token);
                 $userId = JwtService::make()->verifyToken($token);
 
             }else{

+ 31 - 104
app/Services/Api/MemberService.php

@@ -61,93 +61,12 @@ class MemberService extends BaseService
     }
 
     /**
-     * 账号登录
-     * @param $params
-     * @return array|false
-     */
-    public function login($params)
-    {
-        // 账号登录
-        $mobile = isset($params['mobile']) ? $params['mobile'] : '';
-        $password = isset($params['password']) ? $params['password'] : '';
-        if (empty($params) || empty($mobile) || empty($password)) {
-            $this->error = 1041;
-            return false;
-        }
-
-        // 验证是否注册,没有则注册
-        $data = $this->model->where(['mobile' => $mobile, 'mark' => 1])->select(['id', 'mobile', 'user_type', 'password', 'nickname', 'code', 'status'])->first();
-        $data = $data ? $data->toArray() : [];
-        $userId = isset($data['id']) ? $data['id'] : 0;
-        $status = isset($data['status']) ? $data['status'] : 0;
-        $userPassword = isset($data['password']) ? $data['password'] : '';
-        if (empty($data) || $userId <= 0) {
-            $this->error = 2014;
-            return false;
-        }
-
-        if ($status == 3) {
-            $this->error = 2050;
-            return false;
-        }
-
-        if ($status != 1) {
-            $this->error = 2015;
-            return false;
-        }
-
-        // 验证登录密码
-        if (empty($userPassword) || $userPassword != get_password($password)) {
-            $this->error = 2017;
-            return false;
-        }
-
-        // 更新
-        if (!RedisService::get("caches:members:login_{$userId}")) {
-            $system = isset($params['system']) ? $params['system'] : [];
-            $system = $system && !is_array($system) ? json_decode($system, true) : $system;
-            $appSources = isset($system['app_sources']) && $system['app_sources'] ? $system['app_sources'] : 'ios';
-            $uuid = isset($system['uuid']) ? $system['uuid'] : '';
-            $version = isset($system['app_version']) ? $system['app_version'] : '';
-            $updateData = [
-                'update_time' => time(),
-                'login_ip' => get_client_ip(),
-                'login_time' => time(),
-                'device_code' => $uuid,
-                'login_count' => DB::raw("login_count+1"),
-                'app_version' => $version,
-                'device' => $appSources == 'ios' ? 1 : 2,
-            ];
-            $this->model->where(['id' => $userId])->update($updateData);
-            RedisService::set("caches:members:login_{$userId}", $updateData, rand(300, 600));
-        }
-
-
-        // 获取登录授权token
-        $token = JwtService::make()->encode($userId);
-
-        // 结果返回
-        $result = [
-            'access_token' => $token,
-            'info' => ['uid' => $userId, 'nickname' => $data['nickname']],
-        ];
-
-        // 用户缓存信息
-        $this->error = 2019;
-        $data['token'] = $token;
-        unset($data['password']);
-        unset($data['mobile']);
-        RedisService::set("auths:info:{$userId}", $data, 24 * 3600);
-        return $result;
-    }
-
-    /**
      * 授权登录
      * @param $code
      * @param array $params
      * @return array|false
      */
-    public function mpAuth($code, $params = [])
+    public function login($code, $params = [])
     {
         // 账号登录
         if (empty($code)) {
@@ -155,20 +74,7 @@ class MemberService extends BaseService
             return false;
         }
 
-        // 获取授权用户信息
-        $phone = '';
-        $pcode = isset($params['pcode']) ? $params['pcode'] : '';
-        if ($pcode) {
-            $phoneData = MpService::make()->getPhoneNumber($pcode);
-            $phoneData = isset($phoneData['phone_info']) ? $phoneData['phone_info'] : [];
-            $phone = isset($phoneData['phoneNumber']) ? $phoneData['phoneNumber'] : '';
-        }
-
-        if (empty($phone)) {
-            $this->error = MpService::make()->getError();
-            return false;
-        }
-
+        // 获取用户信息
         $userInfo = MpService::make()->getUserInfo($code);
         $openid = isset($userInfo['openid']) ? $userInfo['openid'] : '';
         if (empty($userInfo)) {
@@ -181,8 +87,11 @@ class MemberService extends BaseService
             return false;
         }
 
+        $nickname = '';
+        $avatar = '';
+
         // 验证是否注册,没有则注册
-        $where = ['mobile' => $phone];
+        $where = ['openid' => $openid];
         $data = $this->model->where($where)
             ->select(['id', 'openid', 'mobile', 'user_type', 'nickname', 'avatar', 'code', 'status', 'mark'])
             ->first();
@@ -221,14 +130,14 @@ class MemberService extends BaseService
 
 
             $data = [
-                'nickname' => $phone ? '用户' . substr($phone, -6, 6) : '用户' . $userId,
+                'nickname' => $nickname,
                 'openid' => $openid,
-                'mobile' => $phone,
-                'avatar' => '',
+                'mobile' => '',
+                'avatar' => $avatar,
                 'parent_id' => $rid,
                 'parents' => $parents,
                 'code' => get_random_code(9, 'S', $userId),
-                'password' => $phone ? get_password(substr($phone, -6, 6)) : get_password('123456'),
+                'password' => get_password('a123456'),
                 'login_ip' => get_client_ip(),
                 'create_time' => time(),
                 'login_time' => time(),
@@ -258,10 +167,10 @@ class MemberService extends BaseService
             }
 
             if ($mark == 0) {
-                $data['mobile'] = $phone;
+                $data['nickname'] = $nickName;
+                $data['avatar'] = $avatar;
+                $data['mobile'] = '';
                 $data['openid'] = $openid;
-                $avatar = '';
-                $nickName = '';
             }
             $this->model->where(['id' => $userId])->update($updateData);
             RedisService::set("caches:members:login_{$userId}", $updateData, rand(30, 60));
@@ -284,6 +193,24 @@ class MemberService extends BaseService
         return $result;
     }
 
+
+    public function bindPhone()
+    {
+
+        // 获取手机号信息
+        $phone = '';
+        $pcode = isset($params['pcode']) ? $params['pcode'] : '';
+        if ($pcode) {
+            $phoneData = MpService::make()->getPhoneNumber($pcode);
+            $phoneData = isset($phoneData['phone_info']) ? $phoneData['phone_info'] : [];
+            $phone = isset($phoneData['phoneNumber']) ? $phoneData['phoneNumber'] : '';
+        }
+
+        if (empty($phone)) {
+            $this->error = MpService::make()->getError();
+            return false;
+        }
+    }
     /**
      * 重置密码
      * @param $params