You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

96 lines
3.1 KiB
PHP

<?php
namespace Sdk\Controller;
use Think\Controller;
use User\Api\MemberApi;
use Think\Log;
class SimulationRegisterController extends Controller
{
private $key = 'wmkjtx_kj759_kj';
public function _initialize()
{
C(api('Config/lists'));
$data = I('request.');
unset($data['PHPSESSID']);
if (empty($data['time_stamp']) || time() - 60 * 10 > $data['time_stamp']) {
return $this->set_message(2002, 'fail,', '链接已过期');
} else {
$sign = $data['sign'];
unset($data['sign']);
ksort($data);
reset($data);
$str = "";
foreach ($data as $k => $v) {
$str = $str . $k . "=" . $v;
}
$str = $str . 'key=' . $this->key;
if (md5($str) != $sign) {
return $this->set_message(2001, 'fail,', '参数错误');
}
}
}
public function user_register()
{
#获取SDK上POST方式传过来的数据 然后base64解密 然后将json字符串转化成数组
$user = I('request.');
$user['register_type'] = 17;//模拟注册
#判断数据是否为空
if (empty($user)) {
$this->set_message(1001, "fail", "注册数据不能为空");
}
Log::write('mn_user_register:' . date('Y-m-d H:i:s') . ' ---- ' . json_encode($user), 'INFO');
/**是否开启ucenter**/
$this->reg_data($user);
}
//注册信息
private function reg_data($user, $type = 1)
{
#实例化用户接口
$userApi = new MemberApi();
if (!preg_match('/^[0-9a-zA-Z]{6,12}$/', $user['password'])) {
$this->set_message(1027, "fail", "密码长度为6-12位");
}
if (strlen($user['account']) < 6 || strlen($user['account']) > 15) {
$this->set_message(1027, "fail", "账号长度为6-15位");
} elseif (!preg_match('/^[0-9]+[a-zA-Z]+[0-9a-zA-Z]*|[a-zA-Z]+[0-9]+[0-9a-zA-Z]*$/', $user['account'])) {
$this->set_message(1027, "fail", "账号必须字母数字组合");
}
$result = $userApi->sdk_register_($user['account'], $user['password'], 1, $user['register_type'], $user['promote_id'], get_promote_name($user['promote_id']), $phone = "", $user["game_id"], get_game_name($user["game_id"]), $user['sdk_version'], $user['device_type'], $user['unique_code']);
if ($result > 0) {
$this->set_message(200, "success", "注册成功");
} else {
switch ($result) {
case -3:
$this->set_message(1017, "fail", "用户名已存在");
break;
default:
$this->set_message(1027, "fail", "注册失败");
break;
}
}
}
public function set_message($status=0,$return_code="fail",$return_msg="操作失败"){
$msg = array(
"status" => $status,
"return_code" => $return_code,
"return_msg" => $return_msg
);
$this->ajaxReturn($msg);
}
}