vali 6 gadi atpakaļ
vecāks
revīzija
ba626966f9
1 mainītis faili ar 59 papildinājumiem un 47 dzēšanām
  1. 59 47
      app/Http/Controllers/Sys/UserController.php

+ 59 - 47
app/Http/Controllers/Sys/UserController.php

@@ -13,95 +13,107 @@ class UserController extends Controller
 {
 
     //游客注册登录 133
-    public function hideLogin(){
+    public function hideLogin()
+    {
         $ip = GETIP();
 
         //检测是否注册过
-        $member=DB::table('members')->where('user_ip',$ip)->first();
-        if(!empty($member)){
-            if(($member->deleted_at) > date('Y-m-d H:i:s')){
-                $token=\App\Vendor\Jwt::getToken($member->id);
+        $member = DB::table('members')->where('user_ip', $ip)->first();
+        if (!empty($member)) {
+            if (($member->deleted_at) > date('Y-m-d H:i:s')) {
+                $this->del_oldMap($member->remember_token);
+                $token = \App\Vendor\Jwt::getToken($member->id);
                 DB::table('members')
                     ->where('id', $member->id)
                     ->update(['remember_token' => $token]);
-
-                $tokenmd5 = md5($token);
-                Redis::hset("MAPS_TOKEN_UID",$tokenmd5,$member->id );
-                Redis::hset("MAPS_UID_TOKEN",$member->id,$tokenmd5 );
-                return toJson(1,'',array('token'=>$token));
+                $this->ResetMaps($member->id,$token);
+                return toJson(1, '', array('token' => $token));
             }
             return toJson(-20004);
         }
         //没有注册,生成游客用户
         $seed = time();
-        $name = rand(0,$seed);
+        $name = rand(0, $seed);
         $pwd = '123456';
         $uuid = getUUID();
         $userData = [
-            'name' =>'youke_'.$name,
-            'phone' =>'180'.rand(10000000,99999999),
-            'uuid' =>$uuid,
-            'password' =>createPasswd(trim($pwd),$uuid),
+            'name' => 'youke_' . $name,
+            'phone' => '180' . rand(10000000, 99999999),
+            'uuid' => $uuid,
+            'password' => createPasswd(trim($pwd), $uuid),
             'identity' => 2,
-            'user_ip' =>$ip,
-            'created_at' =>date('Y-m-d H:i:s'),
-            'updated_at' =>date('Y-m-d H:i:s'),
-            'deleted_at' =>date('Y-m-d H:i:s',strtotime("+2 day"))
+            'user_ip' => $ip,
+            'created_at' => date('Y-m-d H:i:s'),
+            'updated_at' => date('Y-m-d H:i:s'),
+            'deleted_at' => date('Y-m-d H:i:s', strtotime("+2 day"))
         ];
 
-        try{
+        try {
             $ret = DB::table('members')->insertGetId($userData);
-            $token=\App\Vendor\Jwt::getToken($ret);
+            $token = \App\Vendor\Jwt::getToken($ret);
             DB::table('members')
                 ->where('id', $ret)
                 ->update(['remember_token' => $token]);
-        }catch(Exception $ex){
+        } catch (Exception $ex) {
             return toJson(-20001);
         }
-        $tokenmd5 = md5($token);
-        Redis::hset("MAPS_TOKEN_UID",$tokenmd5,$ret );
-        Redis::hset("MAPS_UID_TOKEN",$ret,$tokenmd5 );
-        return toJson(1,'',array('token'=>$token));
+        $this->ResetMaps($ret,$token);
+        return toJson(1, '', array('token' => $token));
     }
+
     public function register(Request $req)
     {
-        try{
-            $user=[];
-            $user['name']=$req->input('user');
-            $user['password']=$req->input('password');
-            $cpwd=$req->input('confirm_password');
-            $user['phone']=$req->input('phone');
-            $user['uuid']=getUUID();
-            $user['password']=createPasswd(trim($user['password']),$user['uuid']);
-            $re=\App\Models\Member::insert($user);
+        try {
+            $user = [];
+            $user['name'] = $req->input('user');
+            $user['password'] = $req->input('password');
+            $cpwd = $req->input('confirm_password');
+            $user['phone'] = $req->input('phone');
+            $user['uuid'] = getUUID();
+            $user['password'] = createPasswd(trim($user['password']), $user['uuid']);
+            $re = \App\Models\Member::insert($user);
 
             return toJson(1);
-        }catch(Exception $ex){
+        } catch (Exception $ex) {
             return toJson(-20001);
         }
     }
-    public function login(Request $req){
-        $user['name']=$req->input('user');
-        $user['password']=$req->input('password');
-        $member=\App\Models\Member::where('name',$user['name'])->first();
-        if(!$member){
+
+    public function login(Request $req)
+    {
+        $user['name'] = $req->input('user');
+        $user['password'] = $req->input('password');
+        $member = \App\Models\Member::where('name', $user['name'])->first();
+        if (!$member) {
             return toJson(-20002);
         }
-        if(($member['password'])!=createPasswd(trim($user['password']),$member['uuid'])){
+        if (($member['password']) != createPasswd(trim($user['password']), $member['uuid'])) {
             return toJson(-20003);
         }
         // echo $member['id'];
-        $token=\App\Vendor\Jwt::getToken($member['id']);
+        $token = \App\Vendor\Jwt::getToken($member['id']);
+        $this->del_oldMap($member['remember_token']);
         DB::table('members')
             ->where('id', $member['id'])
             ->update(['remember_token' => $token]);
+        $this->ResetMaps($member['id'],$token);
+        return toJson(1, '', array('token' => $token));
+    }
 
+    private function ResetMaps($uid, $token)
+    {
+        $tokenmd5 = md5($token);
+        Redis::hset("MAPS_TOKEN_UID", $tokenmd5, $uid);
+        Redis::hset("MAPS_UID_TOKEN", $uid, $tokenmd5);
+    }
+    private  function del_oldMap($token){
         $tokenmd5 = md5($token);
-        Redis::hset("MAPS_TOKEN_UID",$tokenmd5,$member['id'] );
-        Redis::hset("MAPS_UID_TOKEN",$member['id'],$tokenmd5 );
-        return toJson(1,'',array('token'=>$token));
+        Redis::hdel("MAPS_TOKEN_UID", $tokenmd5);
     }
-    public function logout(){
+
+
+    public function logout()
+    {
 
     }
 }