程序猿MT
|
295d71be0a
|
Merge branch 'Wei-Shaw:main' into main
|
2025-12-28 13:16:57 +08:00 |
|
shaw
|
9bbe468c91
|
fix: 修复安装脚本通过 pipe 执行时 root 权限检查失效的问题
使用 `id -u` 替代 `$EUID` 进行 root 权限检查。
`$EUID` 是 bash 内置变量,在通过 pipe 执行脚本时可能不可靠。
|
2025-12-28 12:25:55 +08:00 |
|
shaw
|
fbdff4f34f
|
fix: 防止订阅过期时间超出 JSON 序列化范围
问题:当分配订阅天数过大时,expires_at 年份可能超过 9999,
导致 time.Time JSON 序列化失败(RFC 3339 要求年份 <= 9999),
使后台无法显示和删除异常数据。
修复:
- handler 层添加 validity_days 最大值验证(max=36500,即100年)
- service 层添加 MaxValidityDays 和 MaxExpiresAt 双重保护
- 启动时自动修复已存在的异常数据(expires_at > 2099年)
|
2025-12-28 11:45:41 +08:00 |
|
shaw
|
0aa480283f
|
Merge branch 'feat/deferred-batch-update'
|
2025-12-28 11:28:06 +08:00 |
|
shaw
|
cd9d31f5f2
|
fix: 修复NeedsRefresh bug导致刷新失败的问题
|
2025-12-28 11:23:52 +08:00 |
|
noreply
|
cbfce49aa1
|
feat: Schedule batch update for account last_used_at
Implement deferred batch update mechanism to reduce database load:
- Add DeferredService for batching account last_used_at updates
- Add TimingWheelService for efficient recurring task scheduling
- Integrate with GatewayService and OpenAIGatewayService
- Implement BatchUpdateLastUsed repository method using CASE...WHEN SQL
- Fix golangci-lint error: Replace interface{} with any
Benefits:
- Reduces database writes by batching updates (10-second intervals)
- Improves request throughput by deferring non-critical updates
- Maintains accurate account usage tracking for scheduling
|
2025-12-28 09:49:54 +08:00 |
|
程序猿MT
|
1d1da7362b
|
Merge branch 'Wei-Shaw:main' into main
|
2025-12-27 23:09:48 +08:00 |
|
yangjianbo
|
a8c173f043
|
Merge branch 'main' of https://github.com/mt21625457/aicodex2api
|
2025-12-27 23:09:11 +08:00 |
|
yangjianbo
|
97ab649d16
|
fix(仪表盘): 修复最近用量查询日期参数格式
问题:仪表盘“最近用量”调用 /usage 时传入完整 ISO 时间戳(含时分秒/时区),后端 start_date/end_date 仅接受 YYYY-MM-DD,导致请求参数校验失败,页面无法正常展示最近用量。
解决:
- loadRecentUsage 改为传入 YYYY-MM-DD(从 toISOString() 取日期部分),与后端参数格式约定保持一致
- 补充注释说明:后端会将 end_date 扩展到当日结束时间,以及 toISOString() 为 UTC 可能带来的统计口径差异
- 同步修正 usageAPI.getByDateRange 的参数注释,避免后续误用
验证:npm -C frontend run build
|
2025-12-27 23:08:38 +08:00 |
|
程序猿MT
|
d3e73f1260
|
feat: 增加caddy 安全配置示例 (#57)
feat 增加 caddy 示例安全反向代理
|
2025-12-27 21:36:26 +08:00 |
|
程序猿MT
|
f3da4b202e
|
Merge branch 'Wei-Shaw:main' into main
|
2025-12-27 21:32:08 +08:00 |
|
yangjianbo
|
530f6ad81c
|
feat: 增加caddy 安全配置示例
|
2025-12-27 21:31:06 +08:00 |
|
yangjianbo
|
3252c378aa
|
feat 增加 caddy 示例安全反向代理
|
2025-12-27 21:30:14 +08:00 |
|
shaw
|
b5ca6a654c
|
Merge branch 'main' of github.com:Wei-Shaw/sub2api
# Conflicts:
|
2025-12-27 21:16:29 +08:00 |
|
shaw
|
94749b12ac
|
chore: 调整deploy说明以及取消postgres端口暴露
|
2025-12-27 21:14:08 +08:00 |
|
IanShaw
|
523fa9f71e
|
fix(frontend): 修复用户仪表板日期格式错误导致请求失败 (#55)
修复 loadRecentUsage 函数中日期格式问题,将 ISO 完整格式改为 YYYY-MM-DD 格式,与后端 API 期望一致。
|
2025-12-27 21:09:43 +08:00 |
|
shaw
|
54636781ea
|
Merge branch 'feature/datatable-enhancements'
|
2025-12-27 21:00:37 +08:00 |
|
shaw
|
5187db5ee5
|
fix(frontend): 修复DataTable无限循环和i18n邮箱解析错误
- 修复DataTable组件watch监听actionsExpanded导致的无限循环卡死问题
- 为AccountsView和UsersView添加actionsCount属性启用操作列展开功能
- 修复i18n翻译中邮箱地址的@符号未转义导致的编译错误
|
2025-12-27 21:00:26 +08:00 |
|
shaw
|
0b9c4ae69e
|
fix: 修复claude setup token授权效期短的问题
|
2025-12-27 20:42:00 +08:00 |
|
shaw
|
0d5a8a95c8
|
fix: 修复claude token刷新失效的问题
|
2025-12-27 20:13:39 +08:00 |
|
IanShaw027
|
9cd97c9e1d
|
fix(frontend): 统一账号编辑弹窗宽度与新增弹窗保持一致
问题:
- 编辑账号弹窗使用size='lg'
- 新增账号弹窗使用size='xl'
- 两者宽度不一致,体验不统一
修复:
- 将EditAccountModal的size从lg改为xl
- 与CreateAccountModal保持一致
|
2025-12-27 20:13:29 +08:00 |
|
IanShaw027
|
d521191e87
|
fix(frontend): 修复i18n翻译中的Invalid linked format错误
问题:
- admin/settings页面无法访问,报错'Invalid linked format'
- vue-i18n解析器将{'@'}误认为链接格式语法
修复:
- 将zh.ts和en.ts中的{'@'}替换为直接的@字符
- 影响范围:代理配置相关的翻译字符串
|
2025-12-27 20:11:13 +08:00 |
|
IanShaw027
|
fd78993b91
|
feat(frontend): DataTable组件增强 - 操作列宽度自适应和列数自适应padding
新增功能:
1. 操作列宽度自适应
- checkActionsColumnWidth 方法:智能检测操作按钮是否超出列宽
- 临时展开所有按钮测量实际宽度
- 计算包含gap的总宽度
- 与可用宽度对比,自动显示/隐藏"展开"按钮
- 新增 actionsCount prop:
- 用于快速判断是否需要展开功能
- 避免DOM查询带来的性能开销
2. 列数自适应padding
- getAdaptivePaddingClass 方法:根据列数动态调整内边距
- ≥10列 → px-2 (8px)
- ≥7列 → px-3 (12px)
- ≥5列 → px-4 (16px)
- <5列 → px-6 (24px,原始值)
- 让表格在列数较多时更紧凑,提升空间利用率
|
2025-12-27 20:02:10 +08:00 |
|
程序猿MT
|
937b1fb05d
|
Merge branch 'Wei-Shaw:main' into main
|
2025-12-27 20:01:56 +08:00 |
|
shaw
|
80cce858cb
|
fix(frontend): 修复添加账号弹窗宽度和tooltip被截断问题
- 将弹窗尺寸从 lg 改为 xl,增加内容显示空间
- 修复 AI Studio tooltip 被弹窗边界截断的问题
- 调整定位从 left-0 改为 right-0
- 减小宽度从 w-[28rem] 改为 w-80
- 提高 z-index 确保正确显示
|
2025-12-27 17:04:38 +08:00 |
|
程序猿MT
|
7bdb0e6b12
|
Merge branch 'Wei-Shaw:main' into main
|
2025-12-27 16:48:31 +08:00 |
|
shaw
|
0743652d92
|
Merge branch 'feature/ui-and-backend-improvements'
|
2025-12-27 16:33:57 +08:00 |
|
IanShaw027
|
96bec5c9b1
|
fix(test): 实现GetUserStatsAggregated方法以支持新的统计查询
- 在stubUsageLogRepo中实现GetUserStatsAggregated方法
- 根据userLogs计算统计数据而不是返回错误
- 修复类型转换问题(int转int64)
|
2025-12-27 16:20:59 +08:00 |
|
IanShaw027
|
cfeb6b8b14
|
fix(test): 添加缺失的GetUserStatsAggregated方法
|
2025-12-27 16:15:32 +08:00 |
|
IanShaw027
|
481310dea0
|
fix(test): 修复CI测试失败
- 修复gofmt格式问题
- 为stubUsageLogRepo添加缺失的GetApiKeyStatsAggregated方法
|
2025-12-27 16:12:06 +08:00 |
|
IanShaw027
|
ea2821d11d
|
refactor(frontend): 优化用户视图和设置向导
- 改进API密钥管理界面
- 优化用户使用统计视图
- 完善初始化设置向导
|
2025-12-27 16:05:36 +08:00 |
|
IanShaw027
|
7a0de1765f
|
refactor(frontend): 优化管理后台视图
- 改进账户管理视图
- 优化分组管理界面
- 完善代理管理功能
- 增强兑换码管理
- 改进订阅管理视图
- 优化使用统计展示
- 完善用户管理界面
|
2025-12-27 16:05:16 +08:00 |
|
程序猿MT
|
17c3cb2403
|
Merge branch 'Wei-Shaw:main' into main
|
2025-12-27 16:05:11 +08:00 |
|
IanShaw027
|
35b1bc3753
|
refactor(frontend): 优化格式化工具函数
- 改进数据格式化逻辑
- 增强工具函数可读性
|
2025-12-27 16:04:56 +08:00 |
|
IanShaw027
|
8d38788672
|
feat(frontend): 更新国际化翻译
- 新增英文翻译条目
- 完善中文翻译内容
- 改进多语言支持
|
2025-12-27 16:04:35 +08:00 |
|
IanShaw027
|
c615a4264d
|
refactor(frontend): 优化通用组件
- 改进ConfirmDialog对话框组件
- 增强DataTable表格组件功能和响应式布局
- 优化EmptyState空状态组件
- 完善SubscriptionProgressMini订阅进度组件
|
2025-12-27 16:04:16 +08:00 |
|
IanShaw027
|
227d506c53
|
feat(backend): 增强使用统计和API密钥功能
- 优化使用统计处理逻辑
- 增强API密钥仓储层功能
- 改进账户使用服务
- 完善API契约测试覆盖
|
2025-12-27 16:03:57 +08:00 |
|
IanShaw027
|
36a86e9ab4
|
perf(backend): 优化数据库查询性能
- 合并多个独立查询为单个SQL查询
- 减少数据库往返次数
- 提升仪表板统计数据获取效率
|
2025-12-27 16:03:37 +08:00 |
|
shaw
|
f133b051dc
|
fix: 修复TG通知workflow语法错误
- 移除if条件中对secrets的直接引用(GitHub Actions不支持)
- 改用shell脚本内部检查环境变量是否存在
|
2025-12-27 16:03:13 +08:00 |
|
shaw
|
7af1bdbf4c
|
chore: workflow增加TG频道更新通知
|
2025-12-27 15:55:09 +08:00 |
|
shaw
|
016d7ef645
|
feat: 增强前端clipboard功能
|
2025-12-27 15:16:52 +08:00 |
|
shaw
|
f1e47291cd
|
fix: 修复账号更新时分组绑定操作顺序导致的数据不一致问题
原逻辑先执行 Update 再验证 GroupIDs,如果验证失败会导致账号已更新但返回错误。
现改为先验证分组是否存在,再执行 Update 和 BindGroups。
|
2025-12-27 14:57:43 +08:00 |
|
shaw
|
d7e9ae38e4
|
Merge PR #49: feat: cc/codex/gemini 增加账号重试功能
|
2025-12-27 13:59:00 +08:00 |
|
程序猿MT
|
88be981afc
|
feat: (#47)
golang 1.24-> 1.25
node 20 -> node 24
具体提升请查看官方文档
Co-authored-by: yangjianbo <yangjianbo@leagsoft.com>
|
2025-12-27 13:56:14 +08:00 |
|
IanShaw
|
3f92a43170
|
test: 完善 UsageLogRepo 测试 stub 的过滤逻辑 (#50)
|
2025-12-27 13:53:47 +08:00 |
|
shaw
|
2101f1d1c8
|
fix: 修复claude OAuth账户刷新token失败的bug
|
2025-12-27 13:50:35 +08:00 |
|
daodao97
|
f0f920e49f
|
feat: cc/codex/gemini 增加账号重试
|
2025-12-27 12:27:47 +08:00 |
|
daodao97
|
95583fce83
|
feat: cc/codex support account retry
|
2025-12-27 12:05:38 +08:00 |
|
程序猿MT
|
a413fa3b17
|
Merge branch 'Wei-Shaw:main' into main
|
2025-12-27 10:58:30 +08:00 |
|
yangjianbo
|
3a8dbf5a99
|
feat:
golang 1.24-> 1.25
node 20 -> node 24
具体提升请查看官方文档
|
2025-12-27 10:57:53 +08:00 |
|