|
|
@@ -210,23 +210,57 @@ class MemberService extends BaseService
|
|
|
}
|
|
|
|
|
|
|
|
|
- public function bindPhone()
|
|
|
+ public function setProfile($params)
|
|
|
{
|
|
|
+ $id = isset($params['id'])? $params['id'] : 0;
|
|
|
+ $code = isset($params['code'])? $params['code'] : '';
|
|
|
+ $avatar = isset($params['avatar'])? $params['avatar'] : '';
|
|
|
+ $nickname = isset($params['nickname'])? $params['nickname'] : '';
|
|
|
+ if($id<=0 || empty($code)){
|
|
|
+ $this->error = '授权参数错误,请刷新重试';
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
- // 获取手机号信息
|
|
|
- $phone = '';
|
|
|
- $pcode = isset($params['pcode']) ? $params['pcode'] : '';
|
|
|
- if ($pcode) {
|
|
|
- $phoneData = MpService::make()->getPhoneNumber($pcode);
|
|
|
- $phoneData = isset($phoneData['phone_info']) ? $phoneData['phone_info'] : [];
|
|
|
- $phone = isset($phoneData['phoneNumber']) ? $phoneData['phoneNumber'] : '';
|
|
|
+ if(empty($avatar) || empty($nickname)){
|
|
|
+ $this->error = '请先获取用户授权信息';
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
+ $userInfo = $this->model->where(['id'=>$id,'mark'=>1])
|
|
|
+ ->select(['id as uid', 'nickname', 'openid','avatar'])
|
|
|
+ ->first();
|
|
|
+ if(empty($userInfo)){
|
|
|
+ $this->error = '授权登录失败,请刷新重试';
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取手机号信息
|
|
|
+ $phoneData = MpService::make()->getPhoneNumber($code);
|
|
|
+ $phoneData = isset($phoneData['phone_info']) ? $phoneData['phone_info'] : [];
|
|
|
+ $phone = isset($phoneData['phoneNumber']) ? $phoneData['phoneNumber'] : '';
|
|
|
+
|
|
|
if (empty($phone)) {
|
|
|
$this->error = MpService::make()->getError();
|
|
|
return false;
|
|
|
}
|
|
|
+
|
|
|
+ $avatar = save_base64_image($avatar, 'avatar');
|
|
|
+ if(!$this->model->where(['id'=>$id])->update(['mobile'=>$phone,'nickname'=>$nickname,'avatar'=>$avatar,'update_time'=>time()])){
|
|
|
+ $this->error = '获取授权信息失败';
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ $this->error = '登录成功';
|
|
|
+
|
|
|
+ // 获取登录授权token
|
|
|
+ $token = JwtService::make()->encode($id);
|
|
|
+ return [
|
|
|
+ 'access_token'=> $token,
|
|
|
+ 'info'=> $userInfo
|
|
|
+ ];
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 重置密码
|
|
|
* @param $params
|
|
|
@@ -242,13 +276,6 @@ class MemberService extends BaseService
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- // 验证码验证
|
|
|
- $smsCode = isset($params['sms_code']) ? trim($params['sms_code']) : '';
|
|
|
- if (!SmsService::make()->check($mobile, $smsCode, 'reset_password')) {
|
|
|
- $this->error = SmsService::make()->getError();
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
// 验证是否注册
|
|
|
if (!$userId = $this->model->where(['mobile' => $mobile, 'mark' => 1])->value('id')) {
|
|
|
$this->error = 1038;
|