admin
|
48889a1c90
|
perf: 优化上传文件缓存策略
- 上传新文件时删除同类型旧文件,避免文件堆积
- 文件名带时间戳,每次上传生成新 URL
- 缓存时间设为 1 年 + immutable,文件更新后 URL 变化自动重新请求
|
2026-05-07 14:12:45 +08:00 |
|
admin
|
f290b81700
|
perf: 优化 Dashboard 接口性能,并行执行数据库查询
- 使用 goroutine 并行执行 8 个数据库查询
- 将串行查询改为并行,显著减少响应时间
- 使用 sync.WaitGroup 和 sync.Mutex 保证线程安全
|
2026-05-07 13:58:28 +08:00 |
|
admin
|
8c48c002d3
|
fix: 修复设备列表API的Count查询导致Find失败的问题
|
2026-05-07 09:39:53 +08:00 |
|
admin
|
64569e305e
|
fix: 修复授权详情API返回格式,重构授权管理页面表格和批量操作
|
2026-05-07 02:31:15 +08:00 |
|
admin
|
7a3353ee96
|
feat: 添加查看授权和编辑授权功能, 代理充值使用 NumberField 组件
|
2026-05-07 01:34:05 +08:00 |
|
admin
|
a2eccb9818
|
feat: 添加代理充值功能到代理管理页面, 移除授权管理页面的无效操作
|
2026-05-07 01:13:09 +08:00 |
|
admin
|
e7e7631fa5
|
feat: 授权管理改为设置卡类价格,代理管理增加消费列
|
2026-05-07 00:28:52 +08:00 |
|
admin
|
3cd22fdce1
|
feat: 重构授权管理为层级模型 - 管理员直接对代理授权应用卡密权限
|
2026-05-06 22:16:31 +08:00 |
|
admin
|
086c5c6573
|
perf: 性能优化与错误修复
- 修复 N+1 查询: users/devices/agents 批量 GROUP BY 替代循环查询
- 添加分页: cards/finance/agents/devices API
- Redis 初始化根据安装配置 redis.enabled 决定是否连接
- 修复 DefaultVal 解析错误: 使用 sql.NullString 处理 NULL 值
- Dashboard 优化: 替换 ECharts 世界地图为 Chart.js 环形饼图
- 适配前端 cards 页面新 API 响应格式
- 添加数据库索引优化查询性能
- 实现可配置的数据清理定时任务
|
2026-05-06 19:19:02 +08:00 |
|
admin
|
98986b0eb7
|
fix: 修复数据库配置和事务一致性问题
数据库配置:
- SQLite 开启 WAL 模式,读写可并发
- 设置 busy_timeout=5000ms 避免锁超时
- 设置 synchronous=NORMAL 平衡性能和安全
- SQLite MaxOpenConns 设为 1 避免并发写入冲突
事务修复:
- auth.go: 注册流程(用户+设备+会话)加入事务
- auth.go: 密码重置(修改密码+标记验证码)加入事务
- cards.go: 卡密使用加入事务,补充 UsedAt 字段
- cards.go: 代理商批量生成(扣款+生成卡密)加入事务
- extension.go: 充值(修改余额+记录)加入事务
- extension.go: 扣费(修改余额+记录)加入事务
- storage_config.go: 设置默认存储加入事务
|
2026-05-06 08:12:04 +08:00 |
|
admin
|
4841920727
|
perf: 修复 cards.go 和 users.go 中的 N+1 查询问题
cards.go:
- 合并循环中的 Count 查询为单次 GROUP BY 查询
users.go:
- 合并 ownApps 循环查询为单次 IN 查询
- 合并 agentApps 循环查询为批量查询
- 减少数据库查询次数从 O(n) 到 O(1)
|
2026-05-06 08:02:03 +08:00 |
|
admin
|
488b1581e9
|
perf: 优化dashboard API,41次查询12次
- 合并30次循环查询为1次(onlineTrend)
- 使用 GROUP BY DATE() 一次获取所有日期数据
- 在内存中填充缺失日期,避免 N+1 问题
- API 响应时间预计从 1-2s 降至 100-200ms
|
2026-05-06 07:55:36 +08:00 |
|
admin
|
41fe48e128
|
feat: 添加安装向导功能
- 后端:安装状态检测API、数据库连接测试、配置文件生成
- 后端:支持SQLite/MySQL数据库选择
- 后端:JWT密钥自动生成或手动设置
- 前端:安装向导界面(数据库配置、安全配置、管理员账号)
- 前端:路由守卫检测安装状态,未安装自动跳转安装页面
|
2026-05-03 11:52:34 +08:00 |
|
admin
|
e71437190b
|
feat: 添加生产环境docker-compose配置
|
2026-05-03 11:12:18 +08:00 |
|
admin
|
ecf5690505
|
feat: 用户创建充值优化、侧边栏导航修复、在线实例统计修复
|
2026-05-03 06:07:11 +08:00 |
|
admin
|
fa521de836
|
chore: 清理最近活动(recentActivities)后端接口和前端翻译
|
2026-05-03 05:09:35 +08:00 |
|
admin
|
1f7dfd17a7
|
feat: 分离密码重置和修改密码功能
- 密码重置:用户忘记密码时通过邮箱/短信验证(需开启开关)
- 修改密码:已登录用户通过旧密码修改(固定功能,无需配置)
- 添加 EnablePasswordReset 开关控制密码重置功能
- PasswordResetMethod 只支持 email/sms 两种验证方式
- 添加短信配置管理功能
- 移除独立的应用邮箱设置页面
|
2026-05-03 01:18:27 +08:00 |
|
admin
|
00067b1bff
|
feat: 支付渠道、邮箱配置、存储管理页面添加批量操作功能
- 添加表格多选功能
- 添加批量启用/禁用/删除功能
- 添加统计卡片(总数、已启用、已禁用、启用率)
- 后端添加批量操作API接口
- 存储配置批量删除保护本地存储
|
2026-05-02 18:07:19 +08:00 |
|
admin
|
9b82fbef4e
|
feat: 添加存储配置管理功能
- 添加存储配置管理页面(列表、创建、编辑)
- 支持本地存储、S3、WebDAV、FTP、SFTP 等存储类型
- 添加存储配置测试连接功能
- 本地存储自动初始化且禁止删除
- 修复 Switch 组件状态显示问题
- 添加更新存储配置时的 status 字段支持
|
2026-05-02 17:48:58 +08:00 |
|
admin
|
ea8ffb6c74
|
fix: 订阅模式登录验证、永久会员类型区分、动态代码HTTP返回值修复、侧边栏滚动位置保持
- 修复订阅模式登录时错误检查余额的问题
- 区分无限余额和永久订阅两种永久会员类型
- 修复动态代码HTTP请求返回值在JS中无法正确访问的问题
- 添加侧边栏滚动位置保持功能
- 移除developer角色相关代码,统一使用admin
- 添加缺失的i18n翻译key
|
2026-05-01 16:39:31 +08:00 |
|