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' => '重置密码验证码'), ), 'updateUserInfo' => array( 'user_id' => array('name' => 'user_id', 'type' => 'string', 'require' => true, 'desc' => '用户id'), 'field' => array('name' => 'field', 'type' => 'string', 'require' => true, 'desc' => '更新字段'), 'value' => array('name' => 'value', '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; } /** * 用户信息更新 * @desc 用户信息更新 * @return string user_id 用户id * @return string field 字段名称,目前仅支持修改['refresh_frequency', 'video', 'is_open_upload'] * @return string value 数值 */ public function updateUserInfo(){ $promit_field = array('refresh_frequency', 'video', 'is_open_upload'); if(in_array($this->field, $promit_field)){ $user_service = new Domain_User(); $data[$this->field] = $this->value; $data['_id'] = $this->user_id; $result = $user_service->updateUserInfo($data); if($result == 0){ $rs['msg'] = '用户信息更新成功'; } elseif($result == 1){ $rs['code'] = 1; $rs['msg'] = '用户信息更新失败'; } elseif($result == 2){ $rs['code'] = 1; $rs['msg'] = '用户信息不能存在或已被锁定'; } else{ $rs['code'] = 1; $rs['msg'] = '用户id不可为空'; } } else{ $rs['code'] = 1; $rs['msg'] = '非法的更新字段'; } return $rs; } }