Commit cdeb74d7 by LiuJunYi

榜单,用户排名,没有排名返回0

parent 40f18e3a
...@@ -5,6 +5,7 @@ namespace app\api\controller; ...@@ -5,6 +5,7 @@ namespace app\api\controller;
use app\common\model\User as UserModel; use app\common\model\User as UserModel;
use app\admin\controller\Upload; use app\admin\controller\Upload;
use app\common\model\VipRelation as VipRelationModel; use app\common\model\VipRelation as VipRelationModel;
use think\Exception;
class User extends Base class User extends Base
{ {
...@@ -16,8 +17,8 @@ class User extends Base ...@@ -16,8 +17,8 @@ class User extends Base
*/ */
public function token() public function token()
{ {
$uid = input('post.uid'); $uid = input('post.uid');
$user = UserModel::get($uid); $user = UserModel::get($uid);
$token = $this->usertoken($user); $token = $this->usertoken($user);
return ["code" => 0, "msg" => "成功", "token" => $token, "user" => $user]; return ["code" => 0, "msg" => "成功", "token" => $token, "user" => $user];
} }
...@@ -36,12 +37,12 @@ class User extends Base ...@@ -36,12 +37,12 @@ class User extends Base
// $signature = input("post.signature"); // $signature = input("post.signature");
// $rawData = input("post.rawData"); // $rawData = input("post.rawData");
$encryptedData = input("post.encryptedData"); $encryptedData = input("post.encryptedData");
$iv = input('post.iv'); $iv = input('post.iv');
// 获取session_key // 获取session_key
$appId = config("wxapp.appKey"); $appId = config("wxapp.appKey");
$appSecret = config("wxapp.appSecret"); $appSecret = config("wxapp.appSecret");
$wxurl = "https://api.weixin.qq.com/sns/jscode2session?appid=" . $appId . "&secret=" . $appSecret . "&js_code=" . $jscode . "&grant_type=authorization_code"; $wxurl = "https://api.weixin.qq.com/sns/jscode2session?appid=" . $appId . "&secret=" . $appSecret . "&js_code=" . $jscode . "&grant_type=authorization_code";
$response = http_get($wxurl); $response = http_get($wxurl);
if (isset($response->errcode) && $response->errcode > 0) { if (isset($response->errcode) && $response->errcode > 0) {
...@@ -51,11 +52,11 @@ class User extends Base ...@@ -51,11 +52,11 @@ class User extends Base
// session_key 和 openid // session_key 和 openid
// 过期时间2小时 7200s // 过期时间2小时 7200s
$session_key = $response->session_key; $session_key = $response->session_key;
$openid = $response->openid; $openid = $response->openid;
// 解密加密数据 // 解密加密数据
include_once VENDOR_PATH . 'aesphp/wxBizDataCrypt.php'; include_once VENDOR_PATH . 'aesphp/wxBizDataCrypt.php';
$pc = new \WXBizDataCrypt($appId, $session_key); $pc = new \WXBizDataCrypt($appId, $session_key);
$errCode = $pc->decryptData($encryptedData, $iv, $data); $errCode = $pc->decryptData($encryptedData, $iv, $data);
if ($errCode == 0) { if ($errCode == 0) {
...@@ -64,7 +65,7 @@ class User extends Base ...@@ -64,7 +65,7 @@ class User extends Base
if ($user) { if ($user) {
//更新 //更新
// 省份和城市 // 省份和城市
$user->city = $data->city; $user->city = $data->city;
$user->province = $data->province; $user->province = $data->province;
//ip //ip
$user->ip = request()->ip(); $user->ip = request()->ip();
...@@ -74,15 +75,15 @@ class User extends Base ...@@ -74,15 +75,15 @@ class User extends Base
return ["code" => 0, "msg" => "登录成功", "token" => $token, "user" => $user]; return ["code" => 0, "msg" => "登录成功", "token" => $token, "user" => $user];
} else { } else {
//第一次注册 //第一次注册
$user = new UserModel; $user = new UserModel;
$user->openid = $data->openId; $user->openid = $data->openId;
$user->nickname = $data->nickName; $user->nickname = $data->nickName;
// 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知 // 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
$user->gender = intval($data->gender); $user->gender = intval($data->gender);
$user->avatar = $data->avatarUrl; $user->avatar = $data->avatarUrl;
$user->is_vip = 0; // 0非会员 1会员 默认为非会员 $user->is_vip = 0; // 0非会员 1会员 默认为非会员
// 省份和城市 // 省份和城市
$user->city = $data->city; $user->city = $data->city;
$user->province = $data->province; $user->province = $data->province;
//ip //ip
$user->ip = request()->ip(); $user->ip = request()->ip();
...@@ -112,9 +113,9 @@ class User extends Base ...@@ -112,9 +113,9 @@ class User extends Base
} }
// 获取session_key // 获取session_key
$appId = config("wxapp.appKey"); $appId = config("wxapp.appKey");
$appSecret = config("wxapp.appSecret"); $appSecret = config("wxapp.appSecret");
$wxurl = "https://api.weixin.qq.com/sns/jscode2session?appid=" . $appId . "&secret=" . $appSecret . "&js_code=" . $jscode . "&grant_type=authorization_code"; $wxurl = "https://api.weixin.qq.com/sns/jscode2session?appid=" . $appId . "&secret=" . $appSecret . "&js_code=" . $jscode . "&grant_type=authorization_code";
$response = http_get($wxurl); $response = http_get($wxurl);
...@@ -122,7 +123,7 @@ class User extends Base ...@@ -122,7 +123,7 @@ class User extends Base
// 过期时间2小时 7200s // 过期时间2小时 7200s
$session_key = $response->session_key; $session_key = $response->session_key;
if ($session_key) { if ($session_key) {
return ["code" => 0, "msg" => "succeed", 'data'=>$session_key]; return ["code" => 0, "msg" => "succeed", 'data' => $session_key];
} }
return ["code" => 1, "msg" => "获取session_key失败"]; return ["code" => 1, "msg" => "获取session_key失败"];
} }
...@@ -137,10 +138,10 @@ class User extends Base ...@@ -137,10 +138,10 @@ class User extends Base
*/ */
public function getPhoneNumber() public function getPhoneNumber()
{ {
$jscode = input("post.code"); $jscode = input("post.code");
$encryptedData = input("post.encryptedData"); $encryptedData = input("post.encryptedData");
$iv = input('post.iv'); $iv = input('post.iv');
$version = input('post.version', ''); $version = input('post.version', '');
if (!$jscode || !$encryptedData || !$iv) { if (!$jscode || !$encryptedData || !$iv) {
return ["code" => 1, "msg" => "参数错误"]; return ["code" => 1, "msg" => "参数错误"];
...@@ -150,32 +151,32 @@ class User extends Base ...@@ -150,32 +151,32 @@ class User extends Base
} }
// 获取session_key // 获取session_key
$appId = config("wxapp.appKey"); $appId = config("wxapp.appKey");
$appSecret = config("wxapp.appSecret"); $appSecret = config("wxapp.appSecret");
$wxurl = "https://api.weixin.qq.com/sns/jscode2session?appid=" . $appId . "&secret=" . $appSecret . "&js_code=" . $jscode . "&grant_type=authorization_code"; $wxurl = "https://api.weixin.qq.com/sns/jscode2session?appid=" . $appId . "&secret=" . $appSecret . "&js_code=" . $jscode . "&grant_type=authorization_code";
$response = http_get($wxurl); $response = http_get($wxurl);
// session_key 和 openid // session_key 和 openid
// 过期时间2小时 7200s // 过期时间2小时 7200s
$session_key = $response->session_key; $session_key = $response->session_key;
$openid = $response->openid; $openid = $response->openid;
// 解密加密数据 // 解密加密数据
include_once VENDOR_PATH . 'aesphp/wxBizDataCrypt.php'; include_once VENDOR_PATH . 'aesphp/wxBizDataCrypt.php';
$pc = new \WXBizDataCrypt($appId, $session_key); $pc = new \WXBizDataCrypt($appId, $session_key);
if ($version == '1.1') { if ($version == '1.1') {
$iv = urldecode($iv); $iv = urldecode($iv);
$errCode = $pc->decryptData($encryptedData, $iv, $data); $errCode = $pc->decryptData($encryptedData, $iv, $data);
}else{ } else {
$errCode = $pc->decryptData($encryptedData, $iv, $data); $errCode = $pc->decryptData($encryptedData, $iv, $data);
} }
if ($errCode == 0) { if ($errCode == 0) {
$data = json_decode($data); $data = json_decode($data);
$phone = $data->purePhoneNumber; $phone = $data->purePhoneNumber;
$hidephone = substr_replace($phone, '****', 3, 4); $hidephone = substr_replace($phone, '****', 3, 4);
$user = UserModel::get($this->userinfo[0]); $user = UserModel::get($this->userinfo[0]);
$onlyPhone = UserModel::get(['id' => ['neq', $this->userinfo[0]], 'phone' => $phone]); $onlyPhone = UserModel::get(['id' => ['neq', $this->userinfo[0]], 'phone' => $phone]);
if ($onlyPhone) { if ($onlyPhone) {
return ["code" => 1, "msg" => "该手机号已注册"]; return ["code" => 1, "msg" => "该手机号已注册"];
...@@ -188,7 +189,7 @@ class User extends Base ...@@ -188,7 +189,7 @@ class User extends Base
$is_relation = $this->vipRelation($phone); $is_relation = $this->vipRelation($phone);
return ["code" => 0, "msg" => "获取成功", 'data' => $result, 'is_relation' => $is_relation]; return ["code" => 0, "msg" => "获取成功", 'data' => $result, 'is_relation' => $is_relation];
} else { } else {
return ["code" => 1, "msg" => "微信授权失败:".$errCode.' - '.$iv]; return ["code" => 1, "msg" => "微信授权失败:" . $errCode . ' - ' . $iv];
} }
} }
...@@ -203,9 +204,9 @@ class User extends Base ...@@ -203,9 +204,9 @@ class User extends Base
*/ */
public function getPhoneNumber2() public function getPhoneNumber2()
{ {
$sessionId = input("post.sessionId"); $sessionId = input("post.sessionId");
$encryptedData = input("post.encryptedData"); $encryptedData = input("post.encryptedData");
$iv = input('post.iv'); $iv = input('post.iv');
if (!$sessionId || !$encryptedData || !$iv) { if (!$sessionId || !$encryptedData || !$iv) {
return ["code" => 1, "msg" => "参数错误"]; return ["code" => 1, "msg" => "参数错误"];
...@@ -217,17 +218,17 @@ class User extends Base ...@@ -217,17 +218,17 @@ class User extends Base
// 解密加密数据 // 解密加密数据
$appId = config("wxapp.appKey"); $appId = config("wxapp.appKey");
include_once VENDOR_PATH . 'aesphp/wxBizDataCrypt.php'; include_once VENDOR_PATH . 'aesphp/wxBizDataCrypt.php';
$pc = new \WXBizDataCrypt($appId, $sessionId); $pc = new \WXBizDataCrypt($appId, $sessionId);
$iv = urldecode($iv); $iv = urldecode($iv);
$errCode = $pc->decryptData($encryptedData, $iv, $data); $errCode = $pc->decryptData($encryptedData, $iv, $data);
if ($errCode == 0) { if ($errCode == 0) {
$data = json_decode($data); $data = json_decode($data);
$phone = $data->purePhoneNumber; $phone = $data->purePhoneNumber;
// echo "string";exit; // echo "string";exit;
$hidephone = substr_replace($phone, '****', 3, 4); $hidephone = substr_replace($phone, '****', 3, 4);
$user = UserModel::get($this->userinfo[0]); $user = UserModel::get($this->userinfo[0]);
$onlyPhone = UserModel::get(['id' => ['neq', $this->userinfo[0]], 'phone' => $phone]); $onlyPhone = UserModel::get(['id' => ['neq', $this->userinfo[0]], 'phone' => $phone]);
if ($onlyPhone) { if ($onlyPhone) {
return ["code" => 1, "msg" => "该手机号已注册"]; return ["code" => 1, "msg" => "该手机号已注册"];
...@@ -240,7 +241,7 @@ class User extends Base ...@@ -240,7 +241,7 @@ class User extends Base
$is_relation = $this->vipRelation($phone); $is_relation = $this->vipRelation($phone);
return ["code" => 0, "msg" => "获取成功", 'data' => $result, 'is_relation' => $is_relation]; return ["code" => 0, "msg" => "获取成功", 'data' => $result, 'is_relation' => $is_relation];
} else { } else {
return ["code" => 1, "msg" => "微信授权失败:".$errCode.' - '.$iv]; return ["code" => 1, "msg" => "微信授权失败:" . $errCode . ' - ' . $iv];
} }
} }
...@@ -255,15 +256,15 @@ class User extends Base ...@@ -255,15 +256,15 @@ class User extends Base
*/ */
public function login2() public function login2()
{ {
$sessionId = input("post.sessionId"); $sessionId = input("post.sessionId");
$encryptedData = input("post.encryptedData"); $encryptedData = input("post.encryptedData");
$iv = input('post.iv'); $iv = input('post.iv');
// 解密加密数据 // 解密加密数据
$appId = config("wxapp.appKey"); $appId = config("wxapp.appKey");
include_once VENDOR_PATH . 'aesphp/wxBizDataCrypt.php'; include_once VENDOR_PATH . 'aesphp/wxBizDataCrypt.php';
$pc = new \WXBizDataCrypt($appId, $sessionId); $pc = new \WXBizDataCrypt($appId, $sessionId);
$iv = urldecode($iv); $iv = urldecode($iv);
$errCode = $pc->decryptData($encryptedData, $iv, $data); $errCode = $pc->decryptData($encryptedData, $iv, $data);
if ($errCode == 0) { if ($errCode == 0) {
...@@ -272,7 +273,7 @@ class User extends Base ...@@ -272,7 +273,7 @@ class User extends Base
if ($user) { if ($user) {
//更新 //更新
// 省份和城市 // 省份和城市
$user->city = $data->city; $user->city = $data->city;
$user->province = $data->province; $user->province = $data->province;
//ip //ip
$user->ip = request()->ip(); $user->ip = request()->ip();
...@@ -282,15 +283,15 @@ class User extends Base ...@@ -282,15 +283,15 @@ class User extends Base
return ["code" => 0, "msg" => "登录成功", "token" => $token, "user" => $user]; return ["code" => 0, "msg" => "登录成功", "token" => $token, "user" => $user];
} else { } else {
//第一次注册 //第一次注册
$user = new UserModel; $user = new UserModel;
$user->openid = $data->openId; $user->openid = $data->openId;
$user->nickname = $data->nickName; $user->nickname = $data->nickName;
// 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知 // 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
$user->gender = intval($data->gender); $user->gender = intval($data->gender);
$user->avatar = $data->avatarUrl; $user->avatar = $data->avatarUrl;
$user->is_vip = 0; // 0非会员 1会员 默认为非会员 $user->is_vip = 0; // 0非会员 1会员 默认为非会员
// 省份和城市 // 省份和城市
$user->city = $data->city; $user->city = $data->city;
$user->province = $data->province; $user->province = $data->province;
//ip //ip
$user->ip = request()->ip(); $user->ip = request()->ip();
...@@ -307,6 +308,39 @@ class User extends Base ...@@ -307,6 +308,39 @@ class User extends Base
} }
} }
public function savePhone()
{
try{
if (!$this->userinfo) {
return ["code" => 1, "msg" => "未登录"];
}
//校验手机号
if (!preg_match("/^1[0-9]{10}$|^0[0-9]{9,10}$/", input('phone'))) {
return ['code' => 1, '请输入正确的手机号'];
}
//查询手机号是否重复
$user = UserModel::get(['id' => ['neq', $this->userinfo[0]], 'phone' => input('phone')]);
if ($user) {
return ['code' => 1, '该手机号已经注册过'];
}
$hidephone = substr_replace(input('phone'), '****', 3, 4);
$user = UserModel::get($this->userinfo[0]);
$user->phone = input('phone');
$user->save();
$result = ['phone' => input('phone'), 'hidephone' => $hidephone];
//关联VIP
$is_relation = $this->vipRelation(input('phone'));
return ["code" => 0, "msg" => "获取成功", 'data' => $result, 'is_relation' => $is_relation];
}catch (Exception $e){
D
return ['code'=>1,'msg'=>'手机号保存失败'];
}
}
public function vipRelation($phone) public function vipRelation($phone)
{ {
//先查询最新的是否有未关联的这个手机号 //先查询最新的是否有未关联的这个手机号
...@@ -329,7 +363,7 @@ class User extends Base ...@@ -329,7 +363,7 @@ class User extends Base
public function index() public function index()
{ {
//用户UID //用户UID
$uid = $this->userinfo[0]; $uid = $this->userinfo[0];
$user = UserModel::get($uid); $user = UserModel::get($uid);
if (!$user) { if (!$user) {
return ['code' => 1, 'msg' => '用户不存在']; return ['code' => 1, 'msg' => '用户不存在'];
...@@ -352,7 +386,7 @@ class User extends Base ...@@ -352,7 +386,7 @@ class User extends Base
halt($user); halt($user);
} }
//把编号字符串分割 //把编号字符串分割
$numberArr = str_split($user['vip_number'], 4); $numberArr = str_split($user['vip_number'], 4);
$user['vip_number'] = implode(' ', $numberArr); $user['vip_number'] = implode(' ', $numberArr);
return ['code' => 0, 'msg' => 'success', 'data' => $user]; return ['code' => 0, 'msg' => 'success', 'data' => $user];
} }
...@@ -367,7 +401,7 @@ class User extends Base ...@@ -367,7 +401,7 @@ class User extends Base
public function update() public function update()
{ {
//用户ID //用户ID
$uid = $this->userinfo[0]; $uid = $this->userinfo[0];
$user = UserModel::get($uid); $user = UserModel::get($uid);
//可选更新 //可选更新
...@@ -388,8 +422,8 @@ class User extends Base ...@@ -388,8 +422,8 @@ class User extends Base
*/ */
public function userCollections() public function userCollections()
{ {
$uid = $this->userinfo[0]; $uid = $this->userinfo[0];
$p = input('post.p/d', 1); $p = input('post.p/d', 1);
$page = input('post.page/d', 8); $page = input('post.page/d', 8);
...@@ -412,7 +446,7 @@ class User extends Base ...@@ -412,7 +446,7 @@ class User extends Base
*/ */
public function uploadAvatar() public function uploadAvatar()
{ {
$file = request()->file('avatar'); $file = request()->file('avatar');
$upload = new Upload(); $upload = new Upload();
$result = $upload->sava($file); $result = $upload->sava($file);
if ($result['error'] == 1) { if ($result['error'] == 1) {
...@@ -426,4 +460,4 @@ class User extends Base ...@@ -426,4 +460,4 @@ class User extends Base
return ['code' => 0, 'msg' => '更新成功', 'avatar_url' => $url]; return ['code' => 0, 'msg' => '更新成功', 'avatar_url' => $url];
} }
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment