128 lines
4.2 KiB
PHP
128 lines
4.2 KiB
PHP
<?php
|
||
namespace app\controller;
|
||
|
||
use think\facade\Db;
|
||
|
||
class User
|
||
{
|
||
//获取用户信息
|
||
public function info()
|
||
{
|
||
if(empty($GLOBALS['data']['userid'])){
|
||
return show("请上传TOKEN!",NEED_LOGIN);
|
||
}
|
||
$userid = $GLOBALS['data']['userid'];
|
||
$info = Db::name("app_users")->where("id",$userid)->find();
|
||
if(empty($info)) return show("无此用户信息");
|
||
unset($info['openid']);
|
||
return show(SUCCESS_MESSAGE,SUCCESS_CODE,$info);
|
||
}
|
||
|
||
//修改头像
|
||
public function modify_avatar(){
|
||
if(empty($GLOBALS['data']['userid'])){
|
||
return show("请上传TOKEN!",NEED_LOGIN);
|
||
}
|
||
$userid = $GLOBALS['data']['userid'];
|
||
|
||
$avatarUrl = $GLOBALS['data']['data']['avatar_url'];
|
||
if(empty($avatarUrl)){
|
||
return show("请上传头像!");
|
||
}
|
||
|
||
Db::name("app_users")->where("id",$userid)->update(['avatar'=>$avatarUrl]);
|
||
return show("头像修改成功!",SUCCESS_CODE,[]);
|
||
}
|
||
|
||
//修改昵称
|
||
public function modify_nickname(){
|
||
if(empty($GLOBALS['data']['userid'])){
|
||
return show("请上传TOKEN!",NEED_LOGIN);
|
||
}
|
||
$userid = $GLOBALS['data']['userid'];
|
||
|
||
$nickname = $GLOBALS['data']['data']['nickname'];
|
||
if(empty($nickname)){
|
||
return show("请输入昵称!");
|
||
}
|
||
|
||
Db::name("app_users")->where("id",$userid)->update(['nickname'=>$nickname]);
|
||
return show("昵称修改成功!",SUCCESS_CODE,[]);
|
||
}
|
||
|
||
//狮友认证
|
||
public function verify(){
|
||
if(empty($GLOBALS['data']['userid'])){
|
||
return show("请上传TOKEN!",NEED_LOGIN);
|
||
}
|
||
$userid = $GLOBALS['data']['userid'];
|
||
|
||
$mobileNumber = $GLOBALS['data']['data']['mobile'];
|
||
if(!is_mobile_number($mobileNumber)){
|
||
return show("手机号不正确!");
|
||
}
|
||
|
||
$res = Db::name("shiyou")->where("mobile",$mobileNumber)->find();
|
||
if(empty($res)) {
|
||
return show("未找到狮友信息!");
|
||
}
|
||
|
||
$code = Db::name("app_sms")->order("id desc")->where("mobile", $mobileNumber)->find();
|
||
if(empty($code)){
|
||
return show("请发送短信后再试!");
|
||
}
|
||
Db::name("app_sms")->where("id",$code['id'])->inc("count",1)->update();
|
||
if((time() - $code['create_time'])>15*60){
|
||
return show("短信已经失效,请重新发送!");
|
||
}
|
||
|
||
if($GLOBALS['data']['data']['code'] != $code["code"]){
|
||
return show("验证码不正确!");
|
||
}
|
||
|
||
Db::name("app_users")->where("id",$userid)->update(['identity'=>1]);
|
||
return show("狮友认证成功!",SUCCESS_CODE,[]);
|
||
}
|
||
|
||
//发送验证码
|
||
public function getcode(){
|
||
if(empty($GLOBALS['data']['data']['mobile'])){
|
||
return show("手机号不能为空!");
|
||
}
|
||
$mobileNumber = $GLOBALS['data']['data']['mobile'];
|
||
if(!is_mobile_number($mobileNumber)){
|
||
return show("手机号不正确!");
|
||
}
|
||
|
||
$user = Db::name("shiyou")->where("mobile",$mobileNumber)->find();
|
||
if(empty($user)) return show("手机号狮友库中未找到,请核对!");
|
||
$timeOut = 60;
|
||
$info = Db::name("app_sms")->order("id desc")->where("mobile",$mobileNumber)->find();
|
||
if(!empty($info) && (time() - $info['create_time'])<$timeOut){
|
||
return show("请在". ($timeOut-(time()-$info['create_time'])) ."后重新发送!");
|
||
}
|
||
$code = rand(111111,999999);
|
||
try {
|
||
if(!env("APP_DEBUG")){
|
||
$result = \app\tools\Sms::sendmsg($mobileNumber,$code);
|
||
if($result['code'] != 1){
|
||
return show("运营商接口无法返回!");
|
||
}
|
||
}else{
|
||
$code = "000000";
|
||
}
|
||
Db::name("app_sms")->insert([
|
||
"ipaddress"=>get_client_ip(),
|
||
"mobile"=>$mobileNumber,
|
||
"code"=>$code,
|
||
"create_time"=>time(),
|
||
"count"=>0
|
||
]);
|
||
return show("发送成功!",SUCCESS_CODE);
|
||
}catch(\Exception $e){
|
||
return show("发送失败,请联系客服人员!");
|
||
}
|
||
}
|
||
|
||
|
||
} |