Commit cdeb74d7 by LiuJunYi

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

parent 40f18e3a
......@@ -5,6 +5,7 @@ namespace app\api\controller;
use app\common\model\User as UserModel;
use app\admin\controller\Upload;
use app\common\model\VipRelation as VipRelationModel;
use think\Exception;
class User extends Base
{
......@@ -16,8 +17,8 @@ class User extends Base
*/
public function token()
{
$uid = input('post.uid');
$user = UserModel::get($uid);
$uid = input('post.uid');
$user = UserModel::get($uid);
$token = $this->usertoken($user);
return ["code" => 0, "msg" => "成功", "token" => $token, "user" => $user];
}
......@@ -36,12 +37,12 @@ class User extends Base
// $signature = input("post.signature");
// $rawData = input("post.rawData");
$encryptedData = input("post.encryptedData");
$iv = input('post.iv');
$iv = input('post.iv');
// 获取session_key
$appId = config("wxapp.appKey");
$appId = config("wxapp.appKey");
$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);
if (isset($response->errcode) && $response->errcode > 0) {
......@@ -51,11 +52,11 @@ class User extends Base
// session_key 和 openid
// 过期时间2小时 7200s
$session_key = $response->session_key;
$openid = $response->openid;
$openid = $response->openid;
// 解密加密数据
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);
if ($errCode == 0) {
......@@ -64,7 +65,7 @@ class User extends Base
if ($user) {
//更新
// 省份和城市
$user->city = $data->city;
$user->city = $data->city;
$user->province = $data->province;
//ip
$user->ip = request()->ip();
......@@ -74,15 +75,15 @@ class User extends Base
return ["code" => 0, "msg" => "登录成功", "token" => $token, "user" => $user];
} else {
//第一次注册
$user = new UserModel;
$user->openid = $data->openId;
$user = new UserModel;
$user->openid = $data->openId;
$user->nickname = $data->nickName;
// 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
$user->gender = intval($data->gender);
$user->avatar = $data->avatarUrl;
$user->is_vip = 0; // 0非会员 1会员 默认为非会员
// 省份和城市
$user->city = $data->city;
$user->city = $data->city;
$user->province = $data->province;
//ip
$user->ip = request()->ip();
......@@ -112,9 +113,9 @@ class User extends Base
}
// 获取session_key
$appId = config("wxapp.appKey");
$appId = config("wxapp.appKey");
$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);
......@@ -122,7 +123,7 @@ class User extends Base
// 过期时间2小时 7200s
$session_key = $response->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失败"];
}
......@@ -137,10 +138,10 @@ class User extends Base
*/
public function getPhoneNumber()
{
$jscode = input("post.code");
$jscode = input("post.code");
$encryptedData = input("post.encryptedData");
$iv = input('post.iv');
$version = input('post.version', '');
$iv = input('post.iv');
$version = input('post.version', '');
if (!$jscode || !$encryptedData || !$iv) {
return ["code" => 1, "msg" => "参数错误"];
......@@ -150,32 +151,32 @@ class User extends Base
}
// 获取session_key
$appId = config("wxapp.appKey");
$appId = config("wxapp.appKey");
$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);
// session_key 和 openid
// 过期时间2小时 7200s
$session_key = $response->session_key;
$openid = $response->openid;
$openid = $response->openid;
// 解密加密数据
include_once VENDOR_PATH . 'aesphp/wxBizDataCrypt.php';
$pc = new \WXBizDataCrypt($appId, $session_key);
if ($version == '1.1') {
$iv = urldecode($iv);
$iv = urldecode($iv);
$errCode = $pc->decryptData($encryptedData, $iv, $data);
}else{
} else {
$errCode = $pc->decryptData($encryptedData, $iv, $data);
}
if ($errCode == 0) {
$data = json_decode($data);
$phone = $data->purePhoneNumber;
$data = json_decode($data);
$phone = $data->purePhoneNumber;
$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]);
if ($onlyPhone) {
return ["code" => 1, "msg" => "该手机号已注册"];
......@@ -188,7 +189,7 @@ class User extends Base
$is_relation = $this->vipRelation($phone);
return ["code" => 0, "msg" => "获取成功", 'data' => $result, 'is_relation' => $is_relation];
} else {
return ["code" => 1, "msg" => "微信授权失败:".$errCode.' - '.$iv];
return ["code" => 1, "msg" => "微信授权失败:" . $errCode . ' - ' . $iv];
}
}
......@@ -203,9 +204,9 @@ class User extends Base
*/
public function getPhoneNumber2()
{
$sessionId = input("post.sessionId");
$sessionId = input("post.sessionId");
$encryptedData = input("post.encryptedData");
$iv = input('post.iv');
$iv = input('post.iv');
if (!$sessionId || !$encryptedData || !$iv) {
return ["code" => 1, "msg" => "参数错误"];
......@@ -217,17 +218,17 @@ class User extends Base
// 解密加密数据
$appId = config("wxapp.appKey");
include_once VENDOR_PATH . 'aesphp/wxBizDataCrypt.php';
$pc = new \WXBizDataCrypt($appId, $sessionId);
$iv = urldecode($iv);
$pc = new \WXBizDataCrypt($appId, $sessionId);
$iv = urldecode($iv);
$errCode = $pc->decryptData($encryptedData, $iv, $data);
if ($errCode == 0) {
$data = json_decode($data);
$data = json_decode($data);
$phone = $data->purePhoneNumber;
// echo "string";exit;
$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]);
if ($onlyPhone) {
return ["code" => 1, "msg" => "该手机号已注册"];
......@@ -240,7 +241,7 @@ class User extends Base
$is_relation = $this->vipRelation($phone);
return ["code" => 0, "msg" => "获取成功", 'data' => $result, 'is_relation' => $is_relation];
} else {
return ["code" => 1, "msg" => "微信授权失败:".$errCode.' - '.$iv];
return ["code" => 1, "msg" => "微信授权失败:" . $errCode . ' - ' . $iv];
}
}
......@@ -255,15 +256,15 @@ class User extends Base
*/
public function login2()
{
$sessionId = input("post.sessionId");
$sessionId = input("post.sessionId");
$encryptedData = input("post.encryptedData");
$iv = input('post.iv');
$iv = input('post.iv');
// 解密加密数据
$appId = config("wxapp.appKey");
include_once VENDOR_PATH . 'aesphp/wxBizDataCrypt.php';
$pc = new \WXBizDataCrypt($appId, $sessionId);
$iv = urldecode($iv);
$pc = new \WXBizDataCrypt($appId, $sessionId);
$iv = urldecode($iv);
$errCode = $pc->decryptData($encryptedData, $iv, $data);
if ($errCode == 0) {
......@@ -272,7 +273,7 @@ class User extends Base
if ($user) {
//更新
// 省份和城市
$user->city = $data->city;
$user->city = $data->city;
$user->province = $data->province;
//ip
$user->ip = request()->ip();
......@@ -282,15 +283,15 @@ class User extends Base
return ["code" => 0, "msg" => "登录成功", "token" => $token, "user" => $user];
} else {
//第一次注册
$user = new UserModel;
$user->openid = $data->openId;
$user = new UserModel;
$user->openid = $data->openId;
$user->nickname = $data->nickName;
// 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
$user->gender = intval($data->gender);
$user->avatar = $data->avatarUrl;
$user->is_vip = 0; // 0非会员 1会员 默认为非会员
// 省份和城市
$user->city = $data->city;
$user->city = $data->city;
$user->province = $data->province;
//ip
$user->ip = request()->ip();
......@@ -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)
{
//先查询最新的是否有未关联的这个手机号
......@@ -329,7 +363,7 @@ class User extends Base
public function index()
{
//用户UID
$uid = $this->userinfo[0];
$uid = $this->userinfo[0];
$user = UserModel::get($uid);
if (!$user) {
return ['code' => 1, 'msg' => '用户不存在'];
......@@ -352,7 +386,7 @@ class User extends Base
halt($user);
}
//把编号字符串分割
$numberArr = str_split($user['vip_number'], 4);
$numberArr = str_split($user['vip_number'], 4);
$user['vip_number'] = implode(' ', $numberArr);
return ['code' => 0, 'msg' => 'success', 'data' => $user];
}
......@@ -367,7 +401,7 @@ class User extends Base
public function update()
{
//用户ID
$uid = $this->userinfo[0];
$uid = $this->userinfo[0];
$user = UserModel::get($uid);
//可选更新
......@@ -388,8 +422,8 @@ class User extends Base
*/
public function userCollections()
{
$uid = $this->userinfo[0];
$p = input('post.p/d', 1);
$uid = $this->userinfo[0];
$p = input('post.p/d', 1);
$page = input('post.page/d', 8);
......@@ -412,7 +446,7 @@ class User extends Base
*/
public function uploadAvatar()
{
$file = request()->file('avatar');
$file = request()->file('avatar');
$upload = new Upload();
$result = $upload->sava($file);
if ($result['error'] == 1) {
......@@ -426,4 +460,4 @@ class User extends Base
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