Commit cc263c7d authored by hujun's avatar hujun

login register invite

parent 5e3a8c9a
...@@ -20,30 +20,42 @@ class Member extends Basic ...@@ -20,30 +20,42 @@ class Member extends Basic
public function login() { public function login() {
$user_data = $this->user->get([
'user_phone' => $this->params['phone'],
'status' => 0,
]);
$data['data'] = ''; $data['data'] = '';
$data['status'] = 101; $data['status'] = 101;
if (isset($user_data->id)) {
if ($user_data->user_pswd == md5(md5($this->params['pwd']) . '+123')) { if ($this->request->has('phone','post') && $this->request->has('pwd','post')) {
$jwt_data['id'] = $user_data->id; $user_data = $this->user->get([
$jwt_data['user_nick'] = $user_data->user_nick; 'user_phone' => $this->params['phone'],
$jwt_data['user_phone'] = $user_data->user_phone; 'status' => 0,
]);
$jwt = new JwtUntils();
$data['data'] = $user_data->getData(); if (isset($user_data->id)) {
$data['data']['authToken'] = $jwt->createToken($jwt_data); if ($user_data->user_pswd == md5(md5($this->params['pwd']) . '+123')) {
$data['msg'] = '登陆成功';
$data['status'] = 200; $jwt_data['id'] = $user_data->id;
} else { $jwt_data['user_nick'] = $user_data->user_nick;
$data['msg'] = '密码错误'; $jwt_data['user_phone'] = $user_data->user_phone;
$jwt = new JwtUntils();
$data['data'] = $user_data->getData();
$data['data']['last_login_ip'] = long2ip($data['data']['last_login_ip']);
$data['data']['authToken'] = $jwt->createToken($jwt_data);
$data['msg'] = '登陆成功';
$data['status'] = 200;
Session::set('u_user', $data['data']);
$user_data->last_login_ip = ip2long($this->request->ip());
$user_data->last_login_time = date('Y-m-d H:i:s');
$user_data->save();
} else {
$data['msg'] = '密码错误';
}
} else {
$data['msg'] = '没有该用户';
} }
} else { } else {
$data['msg'] = '没有该用户'; $data['msg'] = '用户名或密码为空';
} }
return $this->response($data['status'], $data['msg'],$data['data']); return $this->response($data['status'], $data['msg'],$data['data']);
} }
...@@ -54,163 +66,127 @@ class Member extends Basic ...@@ -54,163 +66,127 @@ class Member extends Basic
* @return type * @return type
*/ */
public function sendSms() { public function sendSms() {
$noteLog = new NoteLog();
$num = $noteLog->where('phone', $this->params['phone'])->where('is_success',1)->count();
$data['data'] = ''; $data['data'] = '';
$data['status'] = 101; $data['status'] = 101;
if (check_phone($phone)) { if ($this->request->param('phone')) {
if ($num > 7) { $phone = $this->request->param('phone');
$data['msg'] = '短信发送超过上限'; $noteLog = new NoteLog();
} else { $num = $noteLog->where('phone', $phone)->where('is_success',1)->count();
$result['statusMsg'] = '';
$result['statusCode'] = ''; if (check_phone($phone)) {
if ($num > 7) {
$message = new MessageUntils(); $data['msg'] = '短信发送超过上限';
$_code = mt_rand(1000, 9999) . ''; } else {
$result = $message->sendCCPSMS($this->params['phone'], array($_code, '5分钟'), 214759); $result['statusMsg'] = '';
$result['statusCode'] = '';
$noteLog->phone = $phone; $message = new MessageUntils();
$noteLog->template_msg = '【同联商业】您的验证码为'.$_code.',请于5分钟内正确输入,如非本人操作,请忽略此短信。'; $_code = mt_rand(1000, 9999) . '';
$noteLog->code = $_code; $result = $message->sendCCPSMS($phone, array($_code, '5分钟'), 214759);
$noteLog->is_success = $result['statusCode'] == 0 ? 1 : 2;
$noteLog->send_time = date('Y-m-d H:i:s');
$noteLog->save();
Session::set('_code', $_code); $noteLog->phone = $phone;
$noteLog->template_msg = '【同联商业】您的验证码为'.$_code.',请于5分钟内正确输入,如非本人操作,请忽略此短信。';
$data['data'] = $_code; $noteLog->code = $_code;
$data['msg'] = ($result['statusCode'] == 0) ? '获取短信成功':$result['statusMsg']; $noteLog->is_success = $result['statusCode'] == 0 ? 1 : 2;
$data['status'] = ($result['statusCode'] == 0) ? 200 : 101; $noteLog->send_time = date('Y-m-d H:i:s');
$noteLog->save();
Session::set('_code', $_code);
$data['data'] = $_code;
$data['msg'] = ($result['statusCode'] == 0) ? '发送短信成功':$result['statusMsg'];
$data['status'] = ($result['statusCode'] == 0) ? 200 : 101;
}
} else {
$data['msg'] = '手机号码错误';
} }
} else { } else {
$data['msg'] = '手机号码错误'; $data['msg'] = '手机号码为空';
} }
return $this->response($data['status'], $data['msg'], $data['data']); return $this->response($data['status'], $data['msg'], $data['data']);
} }
public function register() { public function register() {
$result = 0;
$type = $this->params['type'];
if ($this->request->has('type','post')) {
$type = $this->params['type'];
switch ($type) { //根据不同的类型验证不同的场景
case 'add' : $check = 'users.register'; switch ($type) {
break; case 'add' : $check = 'users.register';
case 'edit' : $check = 'users.edit'; break;
break; case 'invite' : $check = 'users.invite';
case 'invite' : $check = 'users.invite'; break;
break; default:
$check = 'users.edit';
break;
}
$result = $this->validate([
'user_phone' => $this->request->param('phone'),
'user_pswd' => $this->request->param('pwd'),
'user_pswd2' => $this->request->param('pwd2'),
'referrer_id' => $this->request->param('referrer_id'),
'referrer_source' => $this->request->param('referrer_source'),
'code' => $this->request->param('code'),
'user_nick' => $this->request->param('user_nick')
], $check);
} }
$result = $this->validate([
'user_phone' => $this->params['phone'],
'user_pswd' => $this->params['pswd'],
'user_pswd2' => $this->params['pswd2']
], $check);
$data['status'] = 101; $data['status'] = 101;
$data['data'] = '';
if (true === $result){ 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');
if (empty($user_data->id)) { if (empty($user_data->id)) {
$this->user->save([ $insert_data['referrer_id'] = $this->request->param('referrer_id');
'user_nick' => $this->params['nick_name'], $insert_data['referrer_source'] = $this->request->param('referrer_source');
'user_phone' => $this->params['phone'], $insert_data['status'] = 0;
'user_pswd' => md5(md5($user_pswd) . '+123'), $insert_data['create_time'] = $date;
'user_pic' => $this->params['image'], $insert_data['update_time'] = $date;
'referrer_id' => $this->params['referrer_id'], $insert_data['last_login_time'] = $date;
'referrer_source' => $this->params['referrer_id'], $insert_data['last_login_ip'] = ip2long($this->request->ip());
'status' => 0, $insert_data['user_phone'] = $this->request->param('phone');
'create_time' => $date, //不是邀请注册
'update_time' => $date, if ($type != 'invite') {
'last_login_time' => $date, $insert_data['user_nick'] = $this->request->param('user_nick');
'last_login_ip' => ip2long($_SERVER["REMOTE_ADDR"]), $insert_data['user_pswd'] = md5(md5($this->request->param('pwd')) . '+123');
]); $insert_data['user_pic'] = $this->request->param('user_pic');
$this->user->save($insert_data);//注册用户
$data['data'] = ['id' => $this->user->id]; $data['data'] = ['id' => $this->user->id];
} else { $data['msg'] = '注册成功';
$data['status'] = 200;
}
$user_data->user_nick = $this->params['nick_name']? $this->params['nick_name'] : $user_data->user_nick; $code = Session::get('_code');
$user_data->user_phone = $this->params['user_phone'] ? $this->params['user_phone'] : $user_data->user_phone; if ($this->request->param('code') == $code) {
$user_data->user_pswd = $this->params['user_pswd'] ? $this->params['user_pswd'] : $user_data->user_pswd; $this->user->save($insert_data);//邀请注册用户
$user_data->user_pic = $this->params['user_pic'] ? $this->params['user_pic'] : $user_data->user_pic; Session::delete('_code');
$user_data->referrer_id = $this->params['nick_name'] ? $this->params['nick_name'] : $user_data->user_nick; $data['data'] = ['id'=> $this->user->id];
$user_data->referrer_source = $this->params['nick_name'] ? $this->params['nick_name'] : $user_data->user_nick; $data['msg'] = '注册成功';
$user_data->status = $this->params['nick_name'] ? $this->params['nick_name'] : $user_data->user_nick; $data['status'] = 200;
$user_data->update_time = $this->params['nick_name'] ? $this->params['nick_name'] : $user_data->user_nick; } else {
$user_data->last_login_time = $this->params['nick_name'] ? $this->params['nick_name'] : $user_data->user_nick; $data['msg'] = '验证码错误';
$user_data->last_login_ip = $this->params['nick_name'] ? $this->params['nick_name'] : $user_data->user_nick; }
} else {
$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_pswd = $this->request->param('pwd') ? $this->request->param('pwd') : $user_data->user_pswd;
$user_data->user_pic = $this->request->param('user_pic') ? $this->request->param('user_pic') : $user_data->user_pic;
$user_data->referrer_id = $this->request->param('referrer_id') ? $this->request->param('referrer_id') : $user_data->referrer_id;
$user_data->referrer_source = $this->request->param('referrer_source') ? $this->request->param('referrer_source') : $user_data->referrer_source;
$user_data->status = $this->request->param('status') ? $this->request->param('status') : $user_data->status;
$user_data->update_time = $date;
$user_data->last_login_ip = $this->request->param('last_login_ip') ? $this->params['last_login_ip'] : $user_data->last_login_ip;
$user_data->save(); $user_data->save();
$data['data'] = ['id' => $user_data->id]; $data['data'] = ['id' => $user_data->id];
} }
$data['msg'] = $result;
$data['status'] = 200;
} else { } else {
$data['msg'] = $result; $data['msg'] = $result? $result:'type参数为空' ;
$data['data'] = '';
} }
return $this->response($data['status'], $data['msg'], $data['data']); return $this->response($data['status'], $data['msg'], $data['data']);
} }
/**
* 邀请注册
* @param Request $this->request
* @return type
*/
public function invite(){
$code = Session::get('_code');
$data['data'] = '';
$data['status'] = 101;
$data['msg'] = '';
$result = $this->validate([
'user_phone' => $this->params['phone'],
'referrer_id' => $this->params['referrer_id'],
'referrer_source' => $this->params['referrer_id'],
'code' => $this->params['code']
], 'Users.cPost');
if(true === $result) {
$code = Session::get('_code');
if ($post['code'] == $code) {
$user_data = $this->user->get(['user_phone' => $this->params['phone']]);
$data['data'] = '';
if (empty($user_data->id)) {
$result = $this->user->validate('user.invite')->save([
'user_phone' => $this->params['phone'],
'referrer_id' => $this->params['referrer_id'],
'referrer_source' => $this->params['referrer_source'],
]);
if (false === $result) {
$data['msg'] = $this->user->getError();
} else {
$data['data'] = ['id'=> $this->user->id];
$data['msg'] = '注册成功';
$data['status'] = 200;
}
} else {
$data['msg'] = '已注册';
}
} else {
$data['msg'] = '请重新获取验证码';
}
} else {
$data['msg'] = $result;
}
return $this->response($data['status'], $data['msg'], $data['data']);
}
} }
...@@ -56,10 +56,7 @@ class MessageUntils { ...@@ -56,10 +56,7 @@ class MessageUntils {
$data['statusMsg'] = $result['statusMsg']; $data['statusMsg'] = $result['statusMsg'];
}else{ }else{
$data['statusCode'] = $result['statusCode']; $data['statusCode'] = $result['statusCode'];
$data['statusMsg'] = $result['statusMsg'];
$data['TemplateSMS'] = $result['TemplateSMS']; $data['TemplateSMS'] = $result['TemplateSMS'];
$data['dateCreated'] = $result['dateCreated'];
$data['smsMessageSid'] = $result['smsMessageSid'];
} }
return $data; return $data;
......
...@@ -20,7 +20,7 @@ class Users extends Validate { ...@@ -20,7 +20,7 @@ class Users extends Validate {
'referrer_source' => 'require|number', 'referrer_source' => 'require|number',
'code' => 'require|number', 'code' => 'require|number',
'user_nick' => 'require', 'user_nick' => 'require',
'user_pswd' => 'require', 'user_pswd' => 'require|min:6',
'user_pswd2' => 'require|confirm:user_pswd', 'user_pswd2' => 'require|confirm:user_pswd',
]; ];
protected $message = [ protected $message = [
...@@ -34,7 +34,8 @@ class Users extends Validate { ...@@ -34,7 +34,8 @@ class Users extends Validate {
'code.number' => 'code is null', 'code.number' => 'code is null',
'user_nick.require' => '用户名为空', 'user_nick.require' => '用户名为空',
'user_pswd.require' => '密码为空', 'user_pswd.require' => '密码为空',
'user_pswd2.require' => '密码为空', 'user_pswd.min' => '密码小于6位',
'user_pswd2.require' => '重复输入密码为空',
'user_pswd2.confirm' => '重复输入密码不一致', 'user_pswd2.confirm' => '重复输入密码不一致',
]; ];
protected $scene = [ protected $scene = [
......
...@@ -51,7 +51,7 @@ Route::group('api',[ ...@@ -51,7 +51,7 @@ Route::group('api',[
//post member //post member
'login' => ['api/member/login',['method' => 'post']], //c端登陆 'login' => ['api/member/login',['method' => 'post']], //c端登陆
'invite' => ['api/member/invite',['method'=> 'post']], //邀请注册 'invite' => ['api/member/register',['method'=> 'post']], //邀请注册
'register' => ['api/member/register',['method'=> 'post']], //邀请注册 'register' => ['api/member/register',['method'=> 'post']], //邀请注册
//post shop //post shop
......
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