/**
  * 手机号注册
  */
 public function actionMobReg()
 {
     $response = Yii::$app->response;
     $response->format = \yii\web\Response::FORMAT_JSON;
     $request = Yii::$app->request;
     $this_path = $this->modules_name . "/" . lcfirst($this->class_name) . "/" . lcfirst(str_replace('action', "", __FUNCTION__));
     $this_allow_version = "1.1";
     //获取参数
     $param_deviceid = $request->post("deviceid");
     //设备id
     $param_clienttime = (int) $request->post("clienttime");
     //客户端时间
     $param_channel = $request->post("channel");
     //渠道
     $param_os = (int) $request->post("os");
     //设备终端
     $param_mobile = $request->post("mobile");
     //设备终端
     $param_pwd = $request->post("pwd");
     //设备终端
     $param_gender = (int) $request->post("gender");
     //设备终端
     $param_nikename = $request->post("nikename");
     //设备终端
     $param_avatar = isset($_FILES['avatar']['error']);
     //头像上传,如果值是 true 再看 error 是不是0,如果是0就表示有对应的头像上传
     //获取token
     $headers = $request->headers;
     $header_openid = $headers->get('Openid') ? $headers->get('Openid') : $request->post("openid");
     //加密之后的设备号,做到兼容post的方式
     //验证参数是不是有空的
     $check_null = Validators::validateAllNull([$param_nikename, $param_deviceid, $param_clienttime, $header_openid, $param_channel, $param_os, $param_mobile, $param_pwd, $param_gender]);
     if ($check_null === FALSE) {
         //错误信息,参数不全
         return $response->data = Error::errorJson($this_path, 1001);
     }
     //验证加密
     $decode_hear_openid = RsaDecode::rsa_decode($header_openid);
     if ($decode_hear_openid !== $param_deviceid) {
         return $response->data = Error::errorJson($this_path, 9001);
     }
     //验证通过,证明了合法性
     //验证性别
     if (!in_array($param_gender, [1, 2])) {
         //性别输入不符
         return $response->data = Error::errorJson($this_path, 9001);
     }
     //验证手机号是不是进行过注册的操作
     $user_id = UserEmblem::checkExist($param_mobile, 2);
     if ($user_id == 0) {
         //新的手机号,进行注册操作,【 用户账户,用户标识,用户头像,用户基础信息 】
         // 获取新的uid,写入 用户基础表,写入 用户标识表 ,写入 用户头像表
         $uid = NumberOrder::getNewid(1);
         $user_id = UserAccount::add($uid, $param_channel, $param_os);
         //用户相关的标识
         UserEmblem::add($user_id, $param_mobile, 2);
         //密码
         UserPassword::add($user_id, RsaDecode::rsa_decode($param_pwd));
         //获取用户的头像
         if ($param_avatar == true && $_FILES['avatar']['error'] == 0) {
             //获取对应的
             $avatar_url = WebImgToLocal::simpleUploadV2($_FILES['avatar']);
         } else {
             $avatar_url = Yii::$app->params['default_avatar'];
         }
         UserAvatar::add($user_id, $avatar_url);
         //用户的基本信息
         UserProfile::add($user_id, $param_nikename, $param_gender);
         //新增用户的统计
         CensusApp::addUser();
     } else {
         //返回错误,手机号已经被注册 4001
         return $response->data = Error::errorJson($this_path, 4001);
     }
     //写入token
     TokenUser::joinToken($uid, $param_deviceid, $param_clienttime, time(), time());
     //返回对应的token
     $token = RsaDecode::tokenMake($uid);
     //返回对应的结果
     $return_json = ['request' => $this_path, 'info' => ['token' => $token, 'user_info' => App::getUserProfile($user_id)], 'version' => $this_allow_version, 'error_code' => 0, 'error' => ""];
     //接口访问记录
     CensusApi::add($user_id, $this_path);
     return $response->data = $return_json;
 }