|
@@ -16,7 +16,7 @@ use think\Db; |
|
@@ -16,7 +16,7 @@ use think\Db; |
16
|
*/
|
16
|
*/
|
17
|
class User extends Api
|
17
|
class User extends Api
|
18
|
{
|
18
|
{
|
19
|
- protected $noNeedLogin = ['login','gettoken'];
|
19
|
+ protected $noNeedLogin = ['login', 'gettoken'];
|
20
|
protected $noNeedRight = ['*'];
|
20
|
protected $noNeedRight = ['*'];
|
21
|
|
21
|
|
22
|
/**
|
22
|
/**
|
|
@@ -40,53 +40,54 @@ class User extends Api |
|
@@ -40,53 +40,54 @@ class User extends Api |
40
|
'token':'token']
|
40
|
'token':'token']
|
41
|
})
|
41
|
})
|
42
|
*/
|
42
|
*/
|
43
|
- public function login(){
|
43
|
+ public function login()
|
|
|
44
|
+ {
|
44
|
//接收传递信息
|
45
|
//接收传递信息
|
45
|
$config = Config::get('wechat');
|
46
|
$config = Config::get('wechat');
|
46
|
$encryptedData = $this->request->post('encryptedData');
|
47
|
$encryptedData = $this->request->post('encryptedData');
|
47
|
$iv = $this->request->post('iv');
|
48
|
$iv = $this->request->post('iv');
|
48
|
$code = $this->request->post('code');
|
49
|
$code = $this->request->post('code');
|
49
|
- if(empty($code)){
|
50
|
+ if (empty($code)) {
|
50
|
$this->error('参数错误');
|
51
|
$this->error('参数错误');
|
51
|
}
|
52
|
}
|
52
|
$params = [
|
53
|
$params = [
|
53
|
- 'appid'=>$config['app_id'], //小程序appid
|
|
|
54
|
- 'secret'=>$config['secret'], //小程序appid的秘钥
|
|
|
55
|
- 'js_code'=>$code, //前端传来的code
|
54
|
+ 'appid' => $config['app_id'], //小程序appid
|
|
|
55
|
+ 'secret' => $config['secret'], //小程序appid的秘钥
|
|
|
56
|
+ 'js_code' => $code, //前端传来的code
|
56
|
'grant_type' => 'authorization_code' //authorization_code — 授权码模式(即先登录获取code,再获取token)
|
57
|
'grant_type' => 'authorization_code' //authorization_code — 授权码模式(即先登录获取code,再获取token)
|
57
|
];
|
58
|
];
|
58
|
$result = Http::sendRequest("https://api.weixin.qq.com/sns/jscode2session", $params, 'GET');//接口
|
59
|
$result = Http::sendRequest("https://api.weixin.qq.com/sns/jscode2session", $params, 'GET');//接口
|
59
|
- if($result['ret']){
|
|
|
60
|
- $json = json_decode($result['msg'],true); //json_decode()接收一个json格式数据将他变为php变量
|
|
|
61
|
- if(isset($json['openid'])){
|
60
|
+ if ($result['ret']) {
|
|
|
61
|
+ $json = json_decode($result['msg'], true); //json_decode()接收一个json格式数据将他变为php变量
|
|
|
62
|
+ if (isset($json['openid'])) {
|
62
|
$options = [
|
63
|
$options = [
|
63
|
- 'debug'=>true,
|
|
|
64
|
- 'app_id'=>$config['app_id'],
|
|
|
65
|
- 'secret'=>$config['secret'],
|
|
|
66
|
- 'token'=>$this->auth->getToken(), //获取token
|
64
|
+ 'debug' => true,
|
|
|
65
|
+ 'app_id' => $config['app_id'],
|
|
|
66
|
+ 'secret' => $config['secret'],
|
|
|
67
|
+ 'token' => $this->auth->getToken(), //获取token
|
67
|
'log' => [
|
68
|
'log' => [
|
68
|
'level' => 'debug',
|
69
|
'level' => 'debug',
|
69
|
- 'file' =>'/tmp/easywechat.log',
|
70
|
+ 'file' => '/tmp/easywechat.log',
|
70
|
],
|
71
|
],
|
71
|
];
|
72
|
];
|
72
|
$sessionKey = $json['session_key'];
|
73
|
$sessionKey = $json['session_key'];
|
73
|
$app = Factory::miniProgram($options);
|
74
|
$app = Factory::miniProgram($options);
|
74
|
try {
|
75
|
try {
|
75
|
- $phone = $app->encryptor->decryptData($sessionKey,$iv,$encryptedData);
|
|
|
76
|
- }catch (\Exception $e){
|
76
|
+ $phone = $app->encryptor->decryptData($sessionKey, $iv, $encryptedData);
|
|
|
77
|
+ } catch (\Exception $e) {
|
77
|
$this->error('网络不好,重新操作');
|
78
|
$this->error('网络不好,重新操作');
|
78
|
}
|
79
|
}
|
79
|
- if (isset($phone['phoneNumber'])){
|
|
|
80
|
- $userId = Db::name('third')->where(['apptype'=>'wxapp','openid'=>$json['openid']])->value('user_id');
|
80
|
+ if (isset($phone['phoneNumber'])) {
|
|
|
81
|
+ $userId = Db::name('third')->where(['apptype' => 'wxapp', 'openid' => $json['openid']])->value('user_id');
|
81
|
$auth = Auth::instance();
|
82
|
$auth = Auth::instance();
|
82
|
$ret = $auth->direct($userId);
|
83
|
$ret = $auth->direct($userId);
|
83
|
- if ($ret){ //假如登录上后获取信息
|
84
|
+ if ($ret) { //假如登录上后获取信息
|
84
|
$data = $auth->getUserinfo();
|
85
|
$data = $auth->getUserinfo();
|
85
|
- $aut = \db('user')->where('id',$userId)->find();
|
86
|
+ $aut = \db('user')->where('id', $userId)->find();
|
86
|
$data['avatar'] = cdnurl($data['avatar']); //cdnurl第三方存储
|
87
|
$data['avatar'] = cdnurl($data['avatar']); //cdnurl第三方存储
|
87
|
$data['mobile'] = $aut['mobile'];
|
88
|
$data['mobile'] = $aut['mobile'];
|
88
|
- $this->success('登录成功',$data);
|
|
|
89
|
- }elseif(empty($ret)){
|
89
|
+ $this->success('登录成功', $data);
|
|
|
90
|
+ } elseif (empty($ret)) {
|
90
|
/*注册一个用户*/
|
91
|
/*注册一个用户*/
|
91
|
$data = [
|
92
|
$data = [
|
92
|
'nickname' => '微信用户',
|
93
|
'nickname' => '微信用户',
|
|
@@ -94,33 +95,33 @@ class User extends Api |
|
@@ -94,33 +95,33 @@ class User extends Api |
94
|
'avatar' => '/assets/img/avatar.png',
|
95
|
'avatar' => '/assets/img/avatar.png',
|
95
|
'status' => 'normal',
|
96
|
'status' => 'normal',
|
96
|
'mobile' => $phone['phoneNumber'],
|
97
|
'mobile' => $phone['phoneNumber'],
|
97
|
- 'jointime'=>time()
|
98
|
+ 'jointime' => time()
|
98
|
];
|
99
|
];
|
99
|
//插入user
|
100
|
//插入user
|
100
|
$id = \db('user')->insertGetId($data);
|
101
|
$id = \db('user')->insertGetId($data);
|
101
|
//插入third
|
102
|
//插入third
|
102
|
\db('third')->insert(['user_id' => $id, 'apptype' => 'wxapp', 'openname' => '微信用户',
|
103
|
\db('third')->insert(['user_id' => $id, 'apptype' => 'wxapp', 'openname' => '微信用户',
|
103
|
'access_token' => $json['session_key'], 'openid' => $json['openid']]);
|
104
|
'access_token' => $json['session_key'], 'openid' => $json['openid']]);
|
104
|
- $userId = Db::name('third')->where(['apptype'=> 'wxapp', 'openid'=>$json['openid']])->value('user_id');
|
105
|
+ $userId = Db::name('third')->where(['apptype' => 'wxapp', 'openid' => $json['openid']])->value('user_id');
|
105
|
$auth = Auth::instance();
|
106
|
$auth = Auth::instance();
|
106
|
$ret = $auth->direct($userId);
|
107
|
$ret = $auth->direct($userId);
|
107
|
- if ($ret){
|
108
|
+ if ($ret) {
|
108
|
$data = $auth->getUserinfo();
|
109
|
$data = $auth->getUserinfo();
|
109
|
- $aut = \db('user')->where('id',$userId)->find();
|
110
|
+ $aut = \db('user')->where('id', $userId)->find();
|
110
|
$data['avatar'] = cdnurl($data['avatar']);
|
111
|
$data['avatar'] = cdnurl($data['avatar']);
|
111
|
$data['mobile'] = $aut['mobile'];
|
112
|
$data['mobile'] = $aut['mobile'];
|
112
|
- $this->success('登录成功',$data);
|
|
|
113
|
- }else{
|
113
|
+ $this->success('登录成功', $data);
|
|
|
114
|
+ } else {
|
114
|
$this->error('连接失败');
|
115
|
$this->error('连接失败');
|
115
|
}
|
116
|
}
|
116
|
}
|
117
|
}
|
117
|
- }else{
|
118
|
+ } else {
|
118
|
$this->error('手机号未找到,请重新输入');
|
119
|
$this->error('手机号未找到,请重新输入');
|
119
|
}
|
120
|
}
|
120
|
- }else{
|
121
|
+ } else {
|
121
|
$this->error('获取openid失败');
|
122
|
$this->error('获取openid失败');
|
122
|
}
|
123
|
}
|
123
|
- }else{
|
124
|
+ } else {
|
124
|
$this->error('请求失败');
|
125
|
$this->error('请求失败');
|
125
|
}
|
126
|
}
|
126
|
|
127
|
|
|
@@ -146,7 +147,7 @@ class User extends Api |
|
@@ -146,7 +147,7 @@ class User extends Api |
146
|
}
|
147
|
}
|
147
|
$data['xh'] = "输入手环ID绑定信息";
|
148
|
$data['xh'] = "输入手环ID绑定信息";
|
148
|
$data['sm'] = "扫码绑定信息";
|
149
|
$data['sm'] = "扫码绑定信息";
|
149
|
- $this->success('',$data);
|
150
|
+ $this->success('', $data);
|
150
|
}
|
151
|
}
|
151
|
|
152
|
|
152
|
|
153
|
|
|
@@ -216,7 +217,7 @@ class User extends Api |
|
@@ -216,7 +217,7 @@ class User extends Api |
216
|
if (!$data) {
|
217
|
if (!$data) {
|
217
|
$this->error('暂无内容', ['status' => 2]);
|
218
|
$this->error('暂无内容', ['status' => 2]);
|
218
|
}
|
219
|
}
|
219
|
- $this->success('获取成功',$data);
|
220
|
+ $this->success('获取成功', $data);
|
220
|
}
|
221
|
}
|
221
|
|
222
|
|
222
|
|
223
|
|
|
@@ -235,13 +236,14 @@ class User extends Api |
|
@@ -235,13 +236,14 @@ class User extends Api |
235
|
if (!$data) {
|
236
|
if (!$data) {
|
236
|
$this->error('暂无内容', ['status' => 2]);
|
237
|
$this->error('暂无内容', ['status' => 2]);
|
237
|
}
|
238
|
}
|
238
|
- $this->success('获取成功',$data);
|
239
|
+ $this->success('获取成功', $data);
|
239
|
}
|
240
|
}
|
240
|
|
241
|
|
241
|
/**
|
242
|
/**
|
242
|
* 获取测试token
|
243
|
* 获取测试token
|
243
|
*/
|
244
|
*/
|
244
|
- public function gettoken(){
|
245
|
+ public function gettoken()
|
|
|
246
|
+ {
|
245
|
$this->auth->direct(2);
|
247
|
$this->auth->direct(2);
|
246
|
$token = $this->auth->getToken();
|
248
|
$token = $this->auth->getToken();
|
247
|
return $token;
|
249
|
return $token;
|