feat(umami): 新增token自动更新功能并优化缓存策略

- 添加Umami token自动获取和更新机制
- 实现token有效性检测和自动管理
- 新增update_token.php用于手动更新token
- 延长缓存时间至7天减少API调用
- 优化系统稳定性和维护性
This commit is contained in:
2025-08-06 15:42:24 +08:00
parent 7f377fe2f7
commit 9653a70dad
3 changed files with 288 additions and 9 deletions

View File

@@ -33,6 +33,9 @@ project/
├── styles.css # 样式文件
├── script.js # 核心逻辑
├── info.php # 访问量数据接口通过开源项目umami的API获取数据
├── update_token.php # Token手动更新工具
├── umami_cache.json # 访问量数据缓存文件(自动生成)
├── umami_token.json # Token缓存文件自动生成
└── images/ # 图片资源目录
```
## 文件说明
@@ -43,7 +46,22 @@ project/
## 核心配置说明
### 1. 广告位配置 (script.js)
### 1. Umami API配置 (info.php)
```php
// 基础配置
$apiBaseUrl = 'https://um.com'; // Umami服务器地址
$username = 'your-username'; // Umami登录用户名
$password = 'your-password'; // Umami登录密码
$websiteId = '你的网站id'; // 网站ID
```
**Token自动更新功能**
- 系统会自动检测token有效性
- Token失效时自动获取新token
- Token缓存7天减少API调用
- 支持手动更新:运行 `php update_token.php`
### 2. 广告位配置 (script.js)
```javascript
const AD_POSITIONS = {
'ad-id': {
@@ -139,9 +157,16 @@ const BOOKED_STATUS = {
4. 保持价格系数的合理性
## 更新日志
### 2025-08-05
- 优化缓存策略将info.php中的缓存时间从10分钟600秒延长至7天604800秒
- 提升系统性能减少API调用频率
### 2025-01-27
- 🔧 **新增Token自动更新功能**
- 添加了Umami token自动获取和更新机制
- 新增 `getNewUmamiToken()` 函数用于获取新token
- 新增 `getValidToken()` 函数实现token自动管理
- 新增 `isTokenValid()` 函数检测token有效性
- 创建独立的 `update_token.php` 工具用于手动更新token
- Token缓存7天自动处理Umami重启后的token失效问题
- 🚀 **优化缓存策略**将info.php中的缓存时间从10分钟600秒延长至7天604800秒
-**提升系统性能**减少API调用频率增强系统稳定性
### 2024-02-29
- 初始版本发布
@@ -150,7 +175,18 @@ const BOOKED_STATUS = {
- 优化移动端显示效果
## 维护说明
umami的升级后会导致token丢失需要定期的去获取新的token否则会导致无法获取到实时的访问量数据。
### Token管理
-**自动化处理**系统已集成token自动更新功能无需手动干预
- 🔄 **自动检测**每次API调用前自动检测token有效性
- 📱 **手动更新**如需手动更新token运行`php update_token.php`
- 📁 **缓存机制**Token缓存7天减少不必要的API调用
- ⚠️ **注意事项**Umami升级后可能导致token失效系统会自动处理
### 日常维护
- 定期检查 `umami_cache.json``umami_token.json` 文件权限
- 确保PHP有写入权限以创建和更新缓存文件
- 监控系统日志关注token获取失败的错误信息
token获取POST /api/auth/login
```
{