<?php
|
/**
|
* 用户信息类
|
*/
|
|
class Api_User extends PhalApi_Api {
|
|
public function getRules() {
|
return array(
|
'register' => array(
|
'phone' => array('name' => 'phone', 'type' => 'string', 'require' => true, 'desc' => '用户电话'),
|
'password' => array('name' => 'password', 'type' => 'string', 'require' => true, 'desc' => '密码'),
|
'code' => array('name' => 'code', 'type' => 'string', 'require' => true, 'desc' => '注册验证码'),
|
),
|
'login' => array(
|
'phone' => array('name' => 'phone', 'type' => 'string', 'require' => true, 'desc' => '用户电话'),
|
'password' => array('name' => 'password', 'type' => 'string', 'require' => true, 'desc' => '密码'),
|
),
|
'getUserInfo' => array(
|
'phone' => array('name' => 'phone', 'type' => 'string', 'require' => true, 'desc' => '用户电话'),
|
),
|
'resetPwd' => array(
|
'phone' => array('name' => 'phone', 'type' => 'string', 'require' => true, 'desc' => '用户电话'),
|
'password' => array('name' => 'password', 'type' => 'string', 'require' => true, 'desc' => '密码'),
|
'code' => array('name' => 'code', 'type' => 'string', 'require' => true, 'desc' => '重置密码验证码'),
|
)
|
);
|
}
|
|
/**
|
* 用户注册
|
* @desc 用于用户注册
|
* @return bool code 操作码,0表示注册成功, 1表示注册
|
* @return string msg 返回提示
|
*/
|
public function register(){
|
$rs = array('code' => 0, 'msg' => '');
|
$user_service = new Domain_User();
|
if($user_service->checkPhone($this->phone)){
|
$sms_service = new Domain_SmsCode();
|
$result = $sms_service->checkSmsCode($this->phone, $this->code, 'register');
|
if($result == 0){
|
$data['phone'] = $this->phone;
|
$data['encrypt'] = Common_Util::random(8);
|
$data['password'] = md5(md5($this->password).$data['encrypt']);
|
$data['nickname'] = $this->phone;
|
$data['refresh_frequency'] = 5;
|
$data['is_open_upload'] = 1;
|
$data['video'] = 1;
|
$data['create_time'] = date('Y-m-d H:i:s');
|
$data['edit_time'] = $data['create_time'];
|
$data['is_lock'] = 0;
|
$data['role'] = '596f23ab9e74bb85388b4567';
|
if($user_service->register($data)){
|
$rs['msg'] = '用户注册成功';
|
}
|
else{
|
$rs['code'] = 1;
|
$rs['msg'] = '注册失败';
|
}
|
}
|
elseif($result == 1){
|
$rs['code'] = 1;
|
$rs['msg'] = '手机验证码已失效或已经使用过了,请重新获取验证码';
|
}
|
elseif($result == 2){
|
$rs['code'] = 1;
|
$rs['msg'] = '手机验证码错误';
|
}
|
else{
|
$rs['code'] = 1;
|
$rs['msg'] = '验证码不存在,请重新获取验证码';
|
}
|
}
|
else{
|
$rs['code'] = 1;
|
$rs['msg'] = '注册手机已存在';
|
}
|
return $rs;
|
}
|
|
/**
|
* 用户登录
|
* @desc 用于用户登录验证
|
* @return bool code 操作码,0表示登录成功, 1表示登录失败
|
* @return string msg 返回提示
|
*/
|
public function login(){
|
$rs = array('code' => 0, 'msg' => '', 'info' => array());
|
$user_service = new Domain_User();
|
if(!$user_service->checkPhone($this->phone) && $user_service->checkUserStatus($this->phone)){
|
if($user_service->login($this->phone, $this->password)){
|
$rs['msg'] = '登录验证成功';
|
$rs['info'] = $user_service->getUserInfoByPhone($this->phone);
|
}
|
else{
|
$rs['code'] = 1;
|
$rs['msg'] = '用户手机错误或者密码错误';
|
}
|
}
|
else{
|
$rs['code'] = 1;
|
$rs['msg'] = '用户手机不存在或已被禁用';
|
}
|
return $rs;
|
}
|
|
/**
|
* 获取用户信息
|
* @desc 获取单个用户记录
|
* @return bool code 操作码,0表示成功, 1表示失败
|
* @return string msg 返回提示
|
* @return object info 用户信息对象
|
* @return string info._id 用户id
|
* @return string info.phone 手机号码
|
* @return string info.encypt 随机码
|
* @return string info.password 密码
|
* @return string info.nickname 用户昵称
|
* @return string info.refresh_frequency 刷新频率
|
* @return string info.is_open_upload 是否开启上传
|
* @return string info.is_lock 是否被锁定,0表示未锁定,1表示锁定
|
*/
|
public function getUserInfo(){
|
$rs = array('code' => 0, 'msg' => '', 'info' => array());
|
$user_service = new Domain_User();
|
$user = $user_service->getUserInfoByPhone($this->phone);
|
|
if ($user) {
|
$rs['code'] = 0;
|
$rs['msg'] = '用户信息获取成功';
|
$rs['info'] = $user;
|
}
|
else{
|
$rs['code'] = 1;
|
$rs['msg'] = '用户信息不存在';
|
}
|
|
return $rs;
|
}
|
|
/**
|
* 重置密码
|
* @desc 重置密码
|
* @return bool code 操作码,0表示成功, 1表示失败
|
* @return string msg 返回提示
|
*/
|
public function resetPwd(){
|
$rs = array('code' => 0, 'msg' => '');
|
$sms_service = new Domain_SmsCode();
|
$result = $sms_service->checkSmsCode($this->phone, $this->code, 'resetPwd');
|
if($result == 0){
|
$user_service = new Domain_User();
|
$result = $user_service->resetPwd($this->phone, $this->password);
|
if($reslt == 0){
|
$rs['msg'] = '密码重置成功';
|
}
|
elseif($result == 1){
|
$rs['code'] = 1;
|
$rs['msg'] = '用户不存在或已禁用';
|
}
|
else{
|
$rs['code'] = 1;
|
$rs['msg'] = '密码重置失败';
|
}
|
}
|
elseif($result == 1){
|
$rs['code'] = 1;
|
$rs['msg'] = '手机验证码已失效或已经使用过了,请重新获取验证码';
|
}
|
elseif($result == 2){
|
$rs['code'] = 1;
|
$rs['msg'] = '手机验证码错误';
|
}
|
else{
|
$rs['code'] = 1;
|
$rs['msg'] = '验证码不存在,请重新获取验证码';
|
}
|
return $rs;
|
}
|
|
}
|