Files
mier-php/application/api/controller/Login.php

127 lines
4.1 KiB
PHP
Raw Normal View History

2025-08-11 10:22:05 +08:00
<?php
namespace app\api\controller;
use think\Controller;
class Login extends BaseCom
{
protected function initialize()
{
$validate_action_list = ['user_reg'];
$action = request()->action();
if(!in_array($action, $validate_action_list)) {
parent::initialize();
}
// parent::initialize();
header('Access-Control-Allow-Origin: *');
$config = get_uncache_system_config();
if($config['is_maintenance'] == 2){
ajaxReturn(301, '系统维护中');
}
// ajaxReturn(301, '系统维护');
// add_operation(0, 0); //用户行为日志
}
public function c(){
model('UserRecharge')->threePayFromPost('E'.time(), 30, 922);
}
public function user_login()
{
$user_name = input('user_login', '');
$password = input('password', '');
$system = input('system',0);
$last_login_device = input('last_login_device', '');
$reslut = model('UserLogin')->user_login($user_name, $password, $last_login_device, $system);
ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//注册
public function user_reg()
{
header("Access-Control-Allow-Origin: *"); // 允许任意域名发起的跨域请求
$user_name = input('user_login');
$password = input('password');
$reg_code = input('reg_code', '');
$sms_code = input('sms_code', ''); //短信验证码
$key_name = "api:login:user_reg:" . $user_name;
// if($sms_code != 9999){
$reslut = model('sms')->verification_code($user_name, $sms_code);
if ($reslut['code'] == 201) {
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
// }
redis_lock_exit($key_name,1,2);
$reslut = model('UserLogin')->user_reg($user_name, $password, $reg_code);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//发送短信
public function send_sms()
{
header("Access-Control-Allow-Origin: *"); // 允许任意域名发起的跨域请求
$mobile = input('mobile');
$type = input('type');
$key_name = "api:login:send_sms:" . $mobile;
//图片验证码--开始
$captcha_code = input('captcha_code', '');
$captcha_key = input('captcha_key', '');
$result = model('api/ImgCaptcha')->check_captcha($captcha_code, $captcha_key);
if ($result['code'] != 200) {
ajaxReturn($result['code'], $result['msg'], $result['data']);
}
redis_lock_exit($key_name);
$reslut = model('sms')->send_sms($mobile, $type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//验证码登录
public function phone_verification_code_log(){
header("Access-Control-Allow-Origin: *"); // 允许任意域名发起的跨域请求
$user_name = input('user_login');
$system = input('system',0);
$last_login_device = input('last_login_device', '');
$sms_code = input('sms_code', ''); //短信验证码
$key_name = "api:login:phone_verification_code_log:" . $user_name;
// if($sms_code != 9999){
$reslut = model('sms')->verification_code($user_name, $sms_code);
if ($reslut['code'] == 201) {
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
// }
redis_lock_exit($key_name);
$reslut = model('UserLogin')->phone_verification_code_log($user_name, $last_login_device, $system);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取图片验证码
public function create_captcha()
{
$reslut = model('api/ImgCaptcha')->create_captcha();
ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}