소스 검색

验证会员登陆

DESKTOP-2STQMTS\Administrator 3 년 전
부모
커밋
3b855a77a4
3개의 변경된 파일57개의 추가작업 그리고 3개의 파일을 삭제
  1. 35 0
      app/Http/Controllers/Api/UserController.php
  2. 10 1
      app/Servers/Common/PassServer.php
  3. 12 2
      app/Servers/Member/UserServer.php

+ 35 - 0
app/Http/Controllers/Api/UserController.php

@@ -80,6 +80,12 @@ class UserController extends FrontController
      * @return \Illuminate\Http\JsonResponse
      */
     function getVideo(){
+
+        $token = request()->input('token', '');//token
+        if(empty($m_id) || empty($token)) return $this->apiResponseError('',[],401);
+        $check = $this->checkLogin($m_id,$token);
+        if(!$check) return $this->apiResponseError('',[],401);
+        
         $data['one_video'] = 'https://jhnewshop.oss-cn-chengdu.aliyuncs.com/7659551ca700956ae3a2a9a184e3c08b.mp4';
         $data['two_video'] = 'https://jhnewshop.oss-cn-chengdu.aliyuncs.com/7bfdd070327beaa4ae9b7e8ba2ce172c.mp4';
         return $this->apiResponseSuccess('成功',$data);
@@ -92,6 +98,10 @@ class UserController extends FrontController
     function setRecord(){
         $s_code = request()->input('s_code', '');//上级推广码
         $m_id = request()->input('m_id', '');//浏览者
+        $token = request()->input('token', '');//token
+        if(empty($m_id) || empty($token)) return $this->apiResponseError('',[],401);
+        $check = $this->checkLogin($m_id,$token);
+        if(!$check) return $this->apiResponseError('',[],401);
 
         if(empty($s_code) || empty($m_id)) return $this->apiResponseSuccess('完成');
         //检查上级是否存在
@@ -154,6 +164,12 @@ class UserController extends FrontController
         $name = request()->input('name', '');//名称
         $phone = request()->input('phone', '');//账号
         $code = request()->input('code', '');//验证码
+        $token = request()->input('token', '');//token
+        if(empty($m_id) || empty($token)) return $this->apiResponseError('',[],401);
+        $check = $this->checkLogin($m_id,$token);
+        if(!$check) return $this->apiResponseError('',[],401);
+
+
         if (empty($m_id))  return $this->apiResponseError( '必要参数缺失');
         if (empty($name))  return $this->apiResponseError( '名称必填');
         if (mb_strlen($name) > 10) return $this->apiResponseError('名称10字以内');
@@ -194,6 +210,10 @@ class UserController extends FrontController
         $name = request()->input('name', '');//名称
         $phone = request()->input('phone', '');//账号
         $industry = request()->input('industry', '');//行业
+        $token = request()->input('token', '');//token
+        if(empty($m_id) || empty($token)) return $this->apiResponseError('',[],401);
+        $check = $this->checkLogin($m_id,$token);
+        if(!$check) return $this->apiResponseError('',[],401);
 
         if (empty($m_id))  return $this->apiResponseError( '必要参数缺失');
 
@@ -241,4 +261,19 @@ class UserController extends FrontController
         $ret = WeixinServer::creatServer()->getJsConfig($url);
         return $this->apiResponseSuccess('获取信息成功', $ret);
     }
+
+    /**
+     * 检查会员登陆
+     * @param $m_id
+     * @param $token
+     * @return bool
+     */
+    function checkLogin($m_id,$token){
+        $member = WxUser::where('id',$m_id)->select(['id','token_str'])->first();
+
+        if ($member['token_str'] != $token || empty($member)) {
+            return false;
+        }
+        return true;
+    }
 }

+ 10 - 1
app/Servers/Common/PassServer.php

@@ -131,5 +131,14 @@ class PassServer
         return md5($str);
     }
 
-
+    /**
+     * 生成会员登录token
+     * @param $m_id
+     * @return string
+     */
+    public function getMemberToken($m_id)
+    {
+        $token = md5($m_id . 'token' . time());
+        return $token;
+    }
 }

+ 12 - 2
app/Servers/Member/UserServer.php

@@ -2,6 +2,7 @@
 namespace App\Servers\Member;
 
 use App\Models\UserModels\WxUser;
+use App\Servers\Common\PassServer;
 
 class UserServer
 {
@@ -54,14 +55,23 @@ class UserServer
             $member_info['openid'] = $wx_info['openid'];
             $member_info['p_id'] = $p_id;
 
+
             $member_info = WxUser::create($member_info);
             if (empty($member_info)) {
                 return false;
             }
 
-            $info = ['m_id' => $member_info->{'id'},'status' => 0, 't_code' => $invite_code];
+            $token_str = PassServer::creatServer()->getMemberToken($member_info->{'id'});
+            WxUser::where('id', $member_info->{'id'})->update(['token_str' => $token_str]);
+            $info = ['m_id' => $member_info->{'id'},'status' => 0, 't_code' => $invite_code, 'token_str' => $token_str];
+
+//            $info = ['m_id' => $member_info->{'id'},'status' => 0, 't_code' => $invite_code];
         }else{
-            $info = ['m_id' => $user->{'id'},'status' => $user->{'status'}, 't_code' => $user->{'invite_code'}];
+
+            $token_str = PassServer::creatServer()->getMemberToken($user->{'id'});
+            WxUser::where('id', $user->{'id'})->update(['token_str' => $token_str]);
+            $info = ['m_id' => $user->{'id'},'status' => $user->{'status'}, 't_code' => $user->{'invite_code'}, 'token_str' => $token_str];
+//            $info = ['m_id' => $user->{'id'},'status' => $user->{'status'}, 't_code' => $user->{'invite_code'}];
         }
 
         return $info;