|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //模版列表 | 
|---|
|  |  |  | 'templates' => array( | 
|---|
|  |  |  | 'register' => 'SMS_71216225' | 
|---|
|  |  |  | 'register' => 'SMS_71216225', | 
|---|
|  |  |  | 'resetPwd' => 'SMS_71216225' | 
|---|
|  |  |  | ), | 
|---|
|  |  |  | 'app_key' => '23531128', | 
|---|
|  |  |  | 'secretkey' => 'b079269785183c5a7520da9b8047bb42' | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //模版列表 | 
|---|
|  |  |  | 'templates' => array( | 
|---|
|  |  |  | 'register' => '71245307' | 
|---|
|  |  |  | 'register' => '71245307', | 
|---|
|  |  |  | 'resetPwd' => '71245307' | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public function getRules(){ | 
|---|
|  |  |  | return array( | 
|---|
|  |  |  | 'register_sms' => array( | 
|---|
|  |  |  | 'sms' => array( | 
|---|
|  |  |  | 'phone' => array( | 
|---|
|  |  |  | 'name' => 'phone', | 
|---|
|  |  |  | 'type' => 'string', | 
|---|
|  |  |  | 'require' => true, | 
|---|
|  |  |  | 'desc' => '注册手机号' | 
|---|
|  |  |  | ), | 
|---|
|  |  |  | 'type' => array( | 
|---|
|  |  |  | 'name' => 'type', | 
|---|
|  |  |  | 'type' => 'string', | 
|---|
|  |  |  | 'require' => true, | 
|---|
|  |  |  | 'desc' => '短信发送类型' | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | ), | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 注册短信 | 
|---|
|  |  |  | * 发送短信接口 | 
|---|
|  |  |  | * @desc 发送注册短信 | 
|---|
|  |  |  | * @return bool code 操作码,0表示成功, 1表示失败 | 
|---|
|  |  |  | * @return string msg 返回提示 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public function register_sms(){ | 
|---|
|  |  |  | public function sms(){ | 
|---|
|  |  |  | $rs = array('code' => 0, 'msg' => ''); | 
|---|
|  |  |  | $sms_service = new Domain_SmsCode(); | 
|---|
|  |  |  | $scene = 'register'; | 
|---|
|  |  |  | if($sms_service->check($this->phone, $scene)){ | 
|---|
|  |  |  | $code = Common_Util::random(6, 1); | 
|---|
|  |  |  | $send_json_data = json_encode(array('mobile_validate' => $code)); | 
|---|
|  |  |  | if($this->alidayu->send($this->phone, $send_json_data, $scene)){ | 
|---|
|  |  |  | $data = array(); | 
|---|
|  |  |  | $time = time(); | 
|---|
|  |  |  | $data['phone'] = $this->phone; | 
|---|
|  |  |  | $data['code'] = $code; | 
|---|
|  |  |  | $data['create_time'] = date('Y-m-d H:i:s', $time); | 
|---|
|  |  |  | $data['expire_time'] = date('Y-m-d H:i:s', $time + 60); | 
|---|
|  |  |  | $data['scene'] = $scene; | 
|---|
|  |  |  | $data['status'] = 0; | 
|---|
|  |  |  | $sms_service->add($data); | 
|---|
|  |  |  | $rs['msg'] = '发送成功'; | 
|---|
|  |  |  | $promit_scene = array('register', 'resetPwd'); | 
|---|
|  |  |  | if(in_array($this->type, $promit_scene)){ | 
|---|
|  |  |  | $scene = $this->type; | 
|---|
|  |  |  | if($sms_service->check($this->phone, $scene)){ | 
|---|
|  |  |  | $code = Common_Util::random(6, 1); | 
|---|
|  |  |  | $send_json_data = json_encode(array('mobile_validate' => $code)); | 
|---|
|  |  |  | if($this->alidayu->send($this->phone, $send_json_data, $scene)){ | 
|---|
|  |  |  | $data = array(); | 
|---|
|  |  |  | $time = time(); | 
|---|
|  |  |  | $data['phone'] = $this->phone; | 
|---|
|  |  |  | $data['code'] = $code; | 
|---|
|  |  |  | $data['create_time'] = date('Y-m-d H:i:s', $time); | 
|---|
|  |  |  | $data['expire_time'] = date('Y-m-d H:i:s', $time + 60); | 
|---|
|  |  |  | $data['scene'] = $scene; | 
|---|
|  |  |  | $data['status'] = 0; | 
|---|
|  |  |  | $sms_service->add($data); | 
|---|
|  |  |  | $rs['msg'] = '发送成功'; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else{ | 
|---|
|  |  |  | $rs['code'] = 1; | 
|---|
|  |  |  | $rs['msg'] = '发送失败'; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else{ | 
|---|
|  |  |  | $rs['code'] = 1; | 
|---|
|  |  |  | $rs['msg'] = '发送失败'; | 
|---|
|  |  |  | $rs['msg'] = '请勿重复发送短信,间隔时间60秒'; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else{ | 
|---|
|  |  |  | $rs['code'] = 1; | 
|---|
|  |  |  | $rs['msg'] = '请勿重复发送短信,间隔时间60秒'; | 
|---|
|  |  |  | $rs['msg'] = '非法的短信类型'; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return $rs; | 
|---|
|  |  |  | 
|---|
|  |  |  | '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' => '密码'), | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public function getUserInfo(){ | 
|---|
|  |  |  | $rs = array('code' => 0, 'msg' => '', 'info' => array()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | $user_service = new Domain_User(); | 
|---|
|  |  |  | $user = $user_service->getUserInfoByPhone($this->phone); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | return $rs; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 重置密码 | 
|---|
|  |  |  | * @desc 重置密码 | 
|---|
|  |  |  | * @return bool code 操作码,0表示成功, 1表示失败 | 
|---|
|  |  |  | * @return string msg 返回提示 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public function resetPwd(){ | 
|---|
|  |  |  | $rs = array('code' => 0, 'msg' => ''); | 
|---|
|  |  |  | $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'] = '密码重置失败'; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return $rs; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 重置密码 | 
|---|
|  |  |  | * @param  [type] $phone  [description] | 
|---|
|  |  |  | * @param  [type] $newPwd [description] | 
|---|
|  |  |  | * @return [type]         [description] | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public function resetPwd($phone, $newPwd){ | 
|---|
|  |  |  | $user = $this->getUserInfoByPhone($phone); | 
|---|
|  |  |  | if($user && $user['is_lock'] == 0){ | 
|---|
|  |  |  | $data['password'] = md5(md5($newPwd).$user['encrypt']); | 
|---|
|  |  |  | $result = $this->model->update($data, array('_id' => $user['_id'])); | 
|---|
|  |  |  | if($result){ | 
|---|
|  |  |  | return 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else{ | 
|---|
|  |  |  | return 2; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else{ | 
|---|
|  |  |  | return 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|