Commit 1ff32af9 authored by hujun's avatar hujun

修改用户忘记、注册、编辑

parent 3af59860
...@@ -116,22 +116,27 @@ class Member extends Basic ...@@ -116,22 +116,27 @@ class Member extends Basic
$message = new MessageUntils(); $message = new MessageUntils();
$_code = mt_rand(1000, 9999) . ''; $_code = mt_rand(1000, 9999) . '';
$result = $message->sendCCPSMS($phone, array($_code, '5分钟'), 214759); $result = $message->sendCCPSMS($phone, array($_code, '5分钟'), 214759);
$jwt = new JwtUntils();
$noteLog->phone = $phone; $noteLog->phone = $phone;
$noteLog->template_msg = '【同联商业】您的验证码为'.$_code.',请于5分钟内正确输入,如非本人操作,请忽略此短信。'; $noteLog->template_msg = '【同联商业】您的验证码为'.$_code.',请于5分钟内正确输入,如非本人操作,请忽略此短信。';
$noteLog->code = $_code; $noteLog->code = $_code;
$noteLog->is_success = $result['statusCode'] == 0 ? 1 : 2;
$noteLog->send_time = date('Y-m-d H:i:s'); $noteLog->send_time = date('Y-m-d H:i:s');
$noteLog->save(); $result['statusCode'] = 1;
if ($result['statusCode'] == 1) {
Session::set('_code', $_code); $jwt = new JwtUntils();
$noteLog->is_success = 1;
$jwt_data['phone'] = $phone; $jwt_data['phone'] = $phone;
$jwt_data['code'] = $_code; $jwt_data['code'] = $_code;
$data['data']['sms_code'] = $_code; $data['data']['sms_code'] = $_code;
$data['data']['token'] = $jwt->createToken($jwt_data); $data['data']['token'] = $jwt->createToken($jwt_data);
$data['msg'] = ($result['statusCode'] == 0) ? '发送短信成功':$result['statusMsg']; $data['status'] = 200;
$data['status'] = ($result['statusCode'] == 0) ? 200 : 101; $data['msg'] = '发送短信成功';
} else {
$noteLog->is_success = 2;
$data['msg'] = '短信发送失败';
}
$noteLog->save();
} }
} else { } else {
$data['msg'] = '手机号码错误'; $data['msg'] = '手机号码错误';
...@@ -149,81 +154,70 @@ class Member extends Basic ...@@ -149,81 +154,70 @@ class Member extends Basic
* @return type * @return type
*/ */
public function register() { public function register() {
$result = 0; $type = $this->request->param('type');
$phone = $this->request->param('phone');
$pwd = $this->request->param('pwd');
$user_nick = $this->request->param('user_nick');
$user_pic = $this->request->param('user_pic');
if ($this->params['type']) { if ($type == '') {
$type = $this->params['type']; return $this->response(101, 'type is null');
}
//根据不同的类型验证不同的场景 if (!check_phone($phone)) {
switch ($type) { return $this->response(101, '手机号码错误');
case 'add' : $check = 'users.register';
break;
case 'invite' : $check = 'users.invite';
break;
default:
$check = 'users.edit';
break;
} }
$result = $this->validate([ if ($pwd == '') {
'user_phone' => $this->request->param('phone'), return $this->response(101, '密码为空');
'user_pswd' => $this->request->param('pwd'), }
'referrer_id' => $this->request->param('referrer_id'),
'referrer_source' => $this->request->param('referrer_source'), if (mb_strlen($pwd) < 6) {
'code' => $this->request->param('code'), return $this->response(101, '密码少于6位');
'user_nick' => $this->request->param('user_nick'),
'token' => $this->request->param('token')
], $check);
} else {
return $this->response(101, 'type is null');
} }
$phone = $this->request->param('phone');
if ($this->params['token']) { if ($this->params['token'] && $this->params['type'] != 'register') {
$jwt = new JwtUntils(); $jwt = new JwtUntils();
$jwt_data = $jwt->getDecode($this->params['token']); $jwt_data = $jwt->getDecode($this->params['token']);
$code = Session::get('_code')? Session::get('_code') : $jwt_data['data']['code']; $code = $jwt_data['data']['code'];
$jwt_phone = $jwt_data['data']['phone']; $jwt_phone = $jwt_data['data']['phone'];
$note = new NoteLog(); $note = new NoteLog();
$note_data = $note->field('id,code,send_time')->where([ $note_data = $note->field('id,code,send_time')->where([
'phone'=> $phone, 'phone'=> $phone,
'code' => $code, 'code' => $code,
'is_success'=>1 'is_success' => 1,
])->find(); ])->whereTime('send_time', '>',time()-300)->find();
if (time()-strtotime($note_data->send_time) > 18000) { if (time() - strtotime($note_data->send_time) > 300) {
return $this->response(101, '请重新获取验证码'); return $this->response(101, '请重新获取验证码');
} }
} else {
return $this->response(101, 'token is null');
} }
$data['status'] = 101; $data['status'] = 101;
$data['data'] = array(); $data['data'] = array();
if (true === $result){
$user_data = $this->user->get(['user_phone' => $this->params['phone']]); $user_data = $this->user->get(['user_phone' => $this->params['phone']]);
$date = date('Y-m-d H:i:s'); $date = date('Y-m-d H:i:s');
$pwd = md5(md5($this->request->param('pwd')) . '+123'); $pwd = md5(md5($pwd) . '+123');
switch ($type) {
case 'add' :
if (empty($user_data->id)) { if (empty($user_data->id)) {
if ($this->request->param('code') == $code && $code != '' && $jwt_phone == $phone) { if ($this->request->param('code') == $code && $code != '') {
$insert_data['referrer_id'] = $this->request->param('referrer_id'); $insert_data['referrer_id'] = $this->request->param('referrer_id');
$insert_data['referrer_source'] = $this->request->param('referrer_source'); $insert_data['referrer_source'] = $this->request->param('referrer_source');
$insert_data['status'] = 0; $insert_data['status'] = 0;
$insert_data['create_time'] = $date; $insert_data['create_time'] = $date;
$insert_data['update_time'] = $date; // $insert_data['update_time'] = $date;
$insert_data['last_login_time'] = $date; // $insert_data['last_login_time'] = $date;
$insert_data['last_login_ip'] = ip2long($this->request->ip()); // $insert_data['last_login_ip'] = ip2long($this->request->ip());
$insert_data['user_phone'] = $phone; $insert_data['user_phone'] = $phone;
$insert_data['user_pswd'] = $pwd; $insert_data['user_pswd'] = $pwd;
$insert_data['user_nick'] = $this->request->param('user_nick'); $insert_data['user_nick'] = $user_nick;
$insert_data['user_pic'] = $this->request->param('user_pic'); $insert_data['user_pic'] = $user_pic;
$this->user->save($insert_data); //注册用户 $this->user->save($insert_data); //注册用户
if ($this->user->id) { if ($this->user->id) {
...@@ -248,58 +242,48 @@ class Member extends Basic ...@@ -248,58 +242,48 @@ class Member extends Basic
} else { } else {
$data['msg'] = '验证码错误'; $data['msg'] = '验证码错误';
} }
} else { } else {
$data['msg'] = '该手机号已注册'; $data['msg'] = '该手机号已注册';
} }
break;
case 'forget' :
if ($code == $this->request->param('code') && $jwt_phone == $phone) {
$user_data->update_time = $date; $user_data->update_time = $date;
//编辑
if ($type == 'edit') {
$user_data->user_nick = $this->request->param('user_nick')? $this->request->param('user_nick') : $user_data->user_nick;
$user_data->user_phone = $this->request->param('phone') ? $this->request->param('phone') : $user_data->user_phone;
$user_data->user_pic = $this->request->param('user_pic') ? $this->request->param('user_pic') : $user_data->user_pic;
$user_data->last_login_ip = $this->request->param('last_login_ip') ? $this->params['last_login_ip'] : $user_data->last_login_ip;
//修改密码
if ($this->request->param('pwd') == $user_data->user_pswd) {
$user_data->user_pswd = $pwd; $user_data->user_pswd = $pwd;
}
$user_data->save(); $user_data->save();
if ($user_data->id) { if ($user_data->id) {
$data['data'] = $user_data; //编辑完返回用户信息 $data['data'] = ['id' => $user_data->id];
$data['status'] = 200; $data['status'] = 200;
$data['msg'] = '修改成功'; $data['msg'] = '修改成功';
} else { } else {
$data['msg'] = '编辑失败'; $data['msg'] = '密码修改失败';
} }
} else {
$data['msg'] = '验证码错误';
} }
break;
default :
$user_data->update_time = $date;
$user_data->user_nick = $user_nick? $user_nick : $user_data->user_nick;
$user_data->user_phone = $phone ? $phone : $user_data->user_phone;
$user_data->user_pic = $user_pic ? $user_pic : $user_data->user_pic;
//忘记密码 //修改密码
if ($type == 'forget') { if ($pwd == $user_data->user_pswd) {
if ($this->request->param('code') == $code && $code != '' && $jwt_phone == $phone) {
$user_data->user_pswd = $pwd; $user_data->user_pswd = $pwd;
}
$user_data->save(); $user_data->save();
if ($user_data->id) { if ($user_data->id) {
$data['data'] = ['id' => $user_data->id]; $data['data'] = $user_data; //编辑完返回用户信息
$data['status'] = 200; $data['status'] = 200;
$data['msg'] = '修改成功'; $data['msg'] = '修改成功';
} else { } else {
$data['msg'] = '密码修改失败'; $data['msg'] = '编辑失败';
}
} else {
$data['status'] = 101;
$data['msg'] = '修改失败';
} }
break;
} }
} else {
$data['msg'] = $result;
}
return $this->response($data['status'], $data['msg'], $data['data']); return $this->response($data['status'], $data['msg'], $data['data']);
} }
......
...@@ -79,7 +79,7 @@ class Basic extends Controller ...@@ -79,7 +79,7 @@ class Basic extends Controller
$requestPath = $this->request->routeInfo()["rule"][0]."/".$this->request->routeInfo()["rule"][1]; $requestPath = $this->request->routeInfo()["rule"][0]."/".$this->request->routeInfo()["rule"][1];
//过滤掉不需要验证token的接口 //过滤掉不需要验证token的接口
if (!in_array(trim($requestPath), $this->filterVerify)) { if (!in_array(trim($requestPath), $this->filterVerify)) {
// $this->tokenVerify(); $this->tokenVerify();
} }
} }
......
...@@ -15,7 +15,7 @@ use think\Validate; ...@@ -15,7 +15,7 @@ use think\Validate;
class Users extends Validate { class Users extends Validate {
protected $rule = [ protected $rule = [
'user_phone' => 'require|/^1[34578]{1}\d{9}$/', 'user_phone' => '/^1[34578]{1}\d{9}$/',
'referrer_id' => 'require|number', 'referrer_id' => 'require|number',
'referrer_source' => 'require|number', 'referrer_source' => 'require|number',
'code' => 'require|number', 'code' => 'require|number',
...@@ -25,7 +25,6 @@ class Users extends Validate { ...@@ -25,7 +25,6 @@ class Users extends Validate {
]; ];
protected $message = [ protected $message = [
'user_phone' => '手机号码错误', 'user_phone' => '手机号码错误',
'user_phone.require' => '手机号码为空',
'referrer_id.require' => 'referrer_id is null', 'referrer_id.require' => 'referrer_id is null',
'referrer_id.number' => 'referrer_id must be numbers', 'referrer_id.number' => 'referrer_id must be numbers',
'referrer_source.require' => 'referrer_source is null', 'referrer_source.require' => 'referrer_source is null',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment