|
@@ -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;
|
|
|
}
|