文件
huaqiapp/server/application/api/controller/Token.php
linda d14fc79e05 chore: 初始化 huaqiapp 仓库
- 前端:uni-app 基础工程(App.vue / pages / static / manifest.json 等)
- 后端:从线上服务器 huaqiapp.gzyakj.com.cn 拉取的 FastAdmin(ThinkPHP) 源码,存放于 server/
- .gitignore 排除依赖、运行时、上传目录、打包产物及含敏感信息的 AGENTS.md
2026-11-02 22:58:56 +08:00

49 行
1.2 KiB
PHP
可执行文件

<?php
namespace app\api\controller;
use app\common\controller\Api;
use fast\Random;
/**
* Token接口
*/
class Token extends Api
{
protected $noNeedLogin = [];
protected $noNeedRight = '*';
/**
* 检测Token是否过期
*
*/
public function check()
{
$token = $this->auth->getToken();
$tokenInfo = \app\common\library\Token::get($token);
$this->success('', ['token' => $tokenInfo['token'], 'expires_in' => $tokenInfo['expires_in']]);
}
/**
* 刷新Token
*
*/
public function refresh()
{
//删除源Token
$token = $this->auth->getToken();
\app\common\library\Token::delete($token);
//创建新Token
$attempts = 0;
do {
$token = Random::uuid();
$result = \app\common\library\Token::set($token, $this->auth->id, 2592000);
} while (!$result && ++$attempts < 5);
if (!$result) {
$this->error('Failed to generate token');
}
$tokenInfo = \app\common\library\Token::get($token);
$this->success('', ['token' => $tokenInfo['token'], 'expires_in' => $tokenInfo['expires_in']]);
}
}