| <?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' => '用户电话'), | 
|             ), | 
|         ); | 
|     } | 
|   | 
|     /** | 
|      * 用户注册 | 
|      * @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'] = $info; | 
|         } | 
|         else{ | 
|             $rs['code'] = 1; | 
|             $rs['msg'] = '用户信息不存在'; | 
|         } | 
|   | 
|         return $rs; | 
|     } | 
|   | 
| } |