Example #1
0
 /**
  * 获取融云token
  * @see <*****@*****.**>
  * http://jira.chuangyejia.com:8090/pages/viewpage.action?pageId=3412605
  * @param $uid int  用户ID
  *
  * @return json
  */
 public function actionGettoken()
 {
     $uid = Yii::$app->getRequest()->get('uid');
     $uid = intval($uid);
     if ($uid) {
         $userinfo = UserBaseInfo::findOne($uid);
         $userinfo->username = $userinfo->username ? $userinfo->username : $userinfo->id;
         $userinfo->avatar = $userinfo->avatar ? $userinfo->avatar : 'http://www.idaiyan.cnuploads/20151023/s70_2015102318482010000.jpg';
         if ($userinfo->id && $userinfo->username && $userinfo->avatar) {
             $result = Yii::$app->rongyun->getToken($userinfo->id, $userinfo->username, $userinfo->avatar);
             $res = json_decode($result, true);
             if ($res['code'] == '200') {
                 //$return = array('status' => '0', 'msg' => 'success', 'data' => ['token' => $res['token'], 'uid' => $userinfo->id ]);
                 $return = Yii::$app->util->responseArray('0', 'success', '成功', ['token' => $res['token'], 'uid' => $userinfo->id]);
             } else {
                 //$return = array('status' => '4101', 'msg' => 'rongyun_result_error');
                 $return = Yii::$app->util->responseArray('4101', 'rongyun_result_error', '失败');
             }
         } else {
             //$return = array('status' => '1102', 'msg' => 'userinfo_error');
             $return = Yii::$app->util->responseArray('1102', 'userinfo_error', '用户信息有误!');
         }
     } else {
         //$return = array('status' => '1101', 'msg' => 'params_uid_error');
         $return = Yii::$app->util->responseArray('1101', 'params_uid_error', '参数有误!');
     }
     return $return;
 }
Example #2
0
 /**
  * 注册功能
  *
  * @param Array $user
  *        ~
  *        $user = [
  *            'mobile' => '',
  *            'password' => '',
  *            'reg_channel' => '',
  *            'reg_ip' => ''
  *        ]
  *        ~
  *
  * @return array
  */
 public function register($user)
 {
     if (isset($user['_format'])) {
         unset($user['_format']);
     }
     $mobile = isset($user['mobile']) ? $user['mobile'] : '';
     if (!$mobile) {
         return responseArray(1101, 'mobile_params_missing', '手机号不能为空');
     }
     if (!\Yii::$app->util->regularMobile($mobile)) {
         return responseArray(2101, 'mobile_format_error', '手机号码格式有误');
     }
     $userInfo = new UserBaseInfo();
     $count = $userInfo->uniqueUser($mobile);
     if ($count > 0) {
         return responseArray(1103, 'mobile_been_registered', '手机已被注册');
     }
     $password = isset($user['password']) ? $user['password'] : '';
     if (!$password) {
         return responseArray(1102, 'password_params_missing', '密码不能为空');
     }
     // 正则匹配 密码格式
     $preg = "/((?=.*\\d)(?=.*\\D)|(?=.*[a-zA-Z])(?=.*[^a-zA-Z]))^.{8,16}\$/";
     $space = "/\\s/";
     $numSpace = preg_match($space, $password);
     $num = preg_match($preg, $password);
     if (!$num) {
         return responseArray(2102, 'password_format_wrong', '密码格式有误');
     }
     if ($numSpace) {
         return responseArray(2103, 'password_not_contain_space', '密码不允许包含空格');
     }
     $reg_channel = isset($user['reg_channel']) ? $user['reg_channel'] : '';
     if (!$reg_channel) {
         return responseArray(1103, 'channel_params_missing', '注册渠道不能为空');
     }
     $reg_ip = isset($user['reg_ip']) ? $user['reg_ip'] : '';
     if (!$reg_ip) {
         return responseArray(1104, 'ip_params_missing', '注册IP不能为空');
     }
     $user['open_id'] = openId();
     $userInfo = new UserBaseInfo();
     $userId = $userInfo->register($user);
     if ($userId) {
         $registerUser = UserBaseInfo::findOne($userId);
         // TODO:: 通知其他应用系统
         $ret = $this->generateToken();
         $ret['username'] = $registerUser->username;
         $ret['open_id'] = $registerUser->open_id;
         $ret['mobile'] = $registerUser->mobile;
         $ret['password'] = $registerUser->password;
         $ret['password_salt'] = $registerUser->password_salt;
         return responseArray(0, 'success', '注册成功', $ret);
     } else {
         return responseArray(1, 'network_anomaly', '网络异常,请稍后重试');
     }
 }