Files
heping-api/app/controller/User.php
2022-11-02 14:30:29 +08:00

130 lines
4.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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']);
$info['identity'] = !empty($info['shiyou_id']) ? 1 : 0;
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,'shiyou_id'=>$res['id']]);
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("发送失败,请联系客服人员!");
}
}
}