dever 6 år sedan
förälder
incheckning
bc01b932d3
1 ändrade filer med 2 tillägg och 85 borttagningar
  1. 2 85
      lib/Client.php

+ 2 - 85
lib/Client.php

@@ -242,10 +242,7 @@ class Client extends Base
 			$refer = urldecode($this->refer);
 			Dever::location($refer);
 		} else {
-			$result = $user;
-	        $result['uid'] = $user['id'];
-	        $result['signature'] = Dever::login($user['id']);
-	        return $result;
+	        return $user;
 		}
 	}
 
@@ -254,9 +251,6 @@ class Client extends Base
 	 */
 	private function update($data, $id)
 	{
-		$uid = false;
-        $info = Dever::load('passport/wechat-one', array('option_openid' => $data['openid']));
-
         $this->param('user', 'access_token', $data['access_token']);
 		$this->param('user', 'openid', $data['openid']);
 
@@ -285,84 +279,7 @@ class Client extends Base
             $user['country'] = $userinfo['country'];
         }
 
-        if ($userinfo['country'] && $userinfo['province'] && $userinfo['city']) {
-        	$user['area'] = $userinfo['country'] .','. $userinfo['province'] .','. $userinfo['city'];
-    	}
-
-        if (!$info) {
-            if (isset($data['unionid']) && $data['unionid']) {
-                $info = Dever::load('passport/wechat-one', array('unionid' => $data['unionid']));
-                if (!$info) {
-                    $uid = false;
-                } else {
-                    $uid = $info['uid'];
-                }
-                $wechat['unionid'] = $data['unionid'];
-            }
-            if (!$uid) {
-            	$user['source_type'] = 'service';
-            	if ($this->system) {
-					$user['system_id'] = $this->system;
-	            }
-	            if ($this->source_type) {
-					$user['source_type'] = $this->source_type;
-	            }
-                $uid = Dever::load('passport/user-insert', $user);
-            } else {
-                $user['where_id'] = $uid;
-                Dever::load('passport/user-update', $user);
-            }
-
-            $wechat['access_token'] = $data['access_token'];
-            $wechat['openid'] = $data['openid'];
-            $wechat['expires_in'] = $data['expires_in'];
-            $wechat['refresh_token'] = $data['refresh_token'];
-            $wechat['account_id'] = $this->account;
-            if ($this->system) {
-				$wechat['system_id'] = $this->system;
-            }
-            
-            $wechat['uid'] = $uid;
-            $wechat['type'] = 2;
-            if ($this->source_type == 'ios') {
-            	$wechat['type'] = 3;
-            } elseif ($this->source_type == 'android') {
-            	$wechat['type'] = 4;
-            }
-            $id = Dever::load('passport/wechat-insert', $wechat);
-
-            if (Dever::project('source') && isset($this->source) && $this->source && $this->source > 0) {
-            	Dever::load('source/lib/core')->saveUser($id, $uid, $this->source, 'oauth', $this->account);
-            }
-        } else {
-            $uid = $info['uid'];
-            if (isset($data['unionid']) && $data['unionid']) {
-                $wechat['unionid'] = $data['unionid'];
-                # 判断用户是否存在,是否需要合并
-                $wechat['uid'] = $this->passport->combine($uid, $data['unionid']);
-            }
-            
-            $wechat['access_token'] = $data['access_token'];
-            $wechat['openid'] = $data['openid'];
-            $wechat['expires_in'] = $data['expires_in'];
-            $wechat['refresh_token'] = $data['refresh_token'];
-            $wechat['where_id'] = $info['id'];
-            $wechat['account_id'] = $this->account;
-            if ($this->system) {
-            	$wechat['system_id'] = $this->system;
-            }
-            $id = $info['id'];
-            Dever::load('passport/wechat-update', $wechat);
-
-            $user['where_id'] = $uid;
-            Dever::load('passport/user-update', $user);
-        }
-
-        $this->passport->createUsername($uid, $user['username']);
-
-        $user = Dever::load('passport/user-one', $uid);
-
-        $this->save($user);
+    	$user = $this->passport->wechat($data, $user, $this->account, $this->system, $this->source_type, $this->source);
 
         return $user;
 	}