- 15 Jan, 2026 14 commits
-
-
LLLLLLiulei authored
-
LLLLLLiulei authored
This reverts commit 09c4f82927ddce1c9528c146a26457f53d02b034.
-
LLLLLLiulei authored
-
Wesley Liddick authored
fix(admin): 修复使用记录页面趋势图筛选联动和日期选择问题
-
longgexx authored
解决冲突: - usage_log_repo.go: 保留 groupID 和 stream 参数,同时合并上游的 account_rate_multiplier 逻辑 Co-Authored-By:Claude Opus 4.5 <noreply@anthropic.com>
-
longgexx authored
在 usage_log_repo_integration_test.go 中添加本地的 truncateToDayUTC 辅助函数,修复因主代码重命名该函数导致的测试编译错误。 Co-Authored-By:Claude Opus 4.5 <noreply@anthropic.com>
-
Wesley Liddick authored
fix(mobile): 优化移动端表格、操作栏和弹窗显示
-
Wesley Liddick authored
feat(ops): 增强错误日志管理、告警静默和前端 UI 优化
-
Wesley Liddick authored
feat: enhance proxy management
-
longgexx authored
将 dashboard_aggregation_repo.go 和 usage_log_repo.go 中的时区处理 从 UTC 改为使用服务器配置时区(默认 Asia/Shanghai),确保"今日" 统计数据与用户预期一致。 Co-Authored-By:Claude Opus 4.5 <noreply@anthropic.com>
-
shaw authored
-
IanShaw027 authored
**问题描述**: - UsersView 的"更多"菜单仍然出现在页面左上角错误位置 - UsersView 使用 actionButtonRefs Map 获取按钮元素,导致定位失败 - UsersView 和 AccountsView 的菜单定位逻辑不一致,难以维护 **解决方案**: - 修改 openActionMenu 函数签名,添加 MouseEvent 参数 - 使用 e.currentTarget 直接从事件对象获取触发元素 - 移除不必要的 actionButtonRefs Map 和 setActionButtonRef 函数 - 统一菜单宽度为 200px(与 AccountsView 一致) - 完全复制 AccountsView 的定位逻辑,确保两者行为一致 **技术要点**: - 移动端:菜单居中对齐按钮,优先显示在按钮下方 - 桌面端:使用鼠标位置定位,添加边界检测 - 简化代码,移除不必要的防御性检查 - 两个组件的菜单定位逻辑完全一致,便于维护
-
IanShaw027 authored
**问题描述**: - 表格在移动端显示列过多,需要横向滚动,内容被截断 - 顶部操作栏按钮拥挤,占用过多空间 - 弹窗表单在小屏幕上布局不合理 - "更多"操作菜单定位错误,位置过高或超出屏幕 - 滚动页面时菜单不会自动关闭,与卡片分离 **解决方案**: 1. **DataTable 组件 - 移动端卡片视图** - 在 < 768px 时自动切换到卡片布局 - 每个表格行渲染为独立卡片,所有字段清晰可见 - 操作按钮在卡片底部,触摸目标足够大 - 支持深色模式,包含加载和空状态 - 自动应用于所有使用 DataTable 的管理页面 2. **UsersView 顶部操作栏优化** - 移动端:搜索框全宽 + 次要按钮显示为图标 + 创建按钮突出 - 桌面端:保持原有布局(图标 + 文字) - 使用响应式 Tailwind classes 3. **UserCreateModal 弹窗优化** - 余额/并发数字段:移动端单列,桌面端双列 - 弹窗边距:移动端 8px,桌面端 16px 4. **操作菜单定位修复** - UsersView: 移动端菜单居中对齐按钮,智能定位 - AccountsView: 移动端菜单优先显示在按钮下方 - 所有情况下确保菜单不超出屏幕边界 - 添加滚动监听,滚动时自动关闭菜单 **影响范围**: - 所有使用 DataTable 的管理页面(8 个页面)自动获得移动端卡片视图 - 用户管理和账号管理页面的操作菜单定位优化 - 创建用户弹窗的响应式布局优化 **技术要点**: - 使用 Tailwind 响应式断点(md:, sm:) - 触摸目标 ≥ 44px - 完整支持深色模式 - 向后兼容,桌面端保持原有布局
-
longgexx authored
将仪表盘统计中的"今日"时间范围从UTC时区改为服务器配置时区, 使其与使用记录页面保持一致。 修改内容: - GetDashboardStats: 使用 timezone.Now() 和 timezone.Today() - GetDashboardStatsWithRange: 同上 影响的统计项: - 今日请求 (TodayRequests) - 今日 Token (TodayTokens) - 今日费用 (TodayCost/TodayActualCost) - 今日新用户 (TodayNewUsers) - 今日活跃用户 (ActiveUsers)
-
- 14 Jan, 2026 26 commits
-
-
IanShaw027 authored
- 修复错误列表中用户列显示 \n 的问题 - 上游错误显示账号(account),请求错误显示用户(user) - 错误详情模态框同步调整显示逻辑 - 添加 accountId 国际化翻译
-
IanShaw027 authored
-
IanShaw027 authored
- 修复 TypeScript 编译错误 - 添加 user_email 字段到 OpsErrorLog 接口
-
IanShaw027 authored
- 在中英文 i18n 文件中添加 errorLog.user 和 errorLog.userId - 在中英文 i18n 文件中添加 errorDetail.user - 支持错误日志和详情中的用户信息显示
-
IanShaw027 authored
- 在错误日志表格中将账号列替换为用户列 - 在错误详情模态框中将账号信息替换为用户信息 - 显示用户邮箱而不是账号名称 - 上游错误的账号信息保留在上游错误上下文中
-
IanShaw027 authored
- 在错误日志列表和详情中显示用户邮箱 - 在 GetErrorLogByID 中关联 users 表获取用户邮箱 - 在 OpsErrorLogFilter 中添加 UserQuery 字段 - 在 buildOpsErrorLogsWhere 中添加用户邮箱搜索条件 - 在 GetErrorLogs handler 中支持 user_query 参数
-
IanShaw027 authored
- 在 OpsUpstreamErrorEvent 中添加 UpstreamResponseBody 字段 - 用于存储上游服务返回的响应内容 - 区分客户端响应和上游响应
-
IanShaw027 authored
- 在 GetErrorLogByID 查询中添加 LEFT JOIN 关联查询 - 关联 accounts 和 groups 表获取名称 - 填充 AccountName 和 GroupName 字段
-
IanShaw027 authored
- 格式化代码(gofmt) - 修复空指针检查(staticcheck) - 删除未使用的函数(unused)
-
IanShaw027 authored
- 业务健康分数:错误率 50% + TTFT 50% - TTFT 阈值:1s → 100分,3s → 0分 - TTFT 对 AI 服务的用户体验更有意义 - 更新所有相关测试用例期望值
-
IanShaw027 authored
- 移除 SLA 组件(与错误率重复) - 恢复延迟组件,阈值调整为 1s-2s - 错误率阈值调整为 1%-10%(更宽松) - 业务健康分数:错误率 50% + 延迟 50% - 更新所有相关测试用例期望值
-
IanShaw027 authored
- 更新 TestComputeBusinessHealth 中 SLA 95% 边界测试的期望值 - 更新 TestComputeDashboardHealthScore 中中等健康度测试的期望值 - 适配移除延迟组件后的新健康分数计算逻辑
-
IanShaw027 authored
- 添加 fullscreen 属性支持,适配全屏模式 - 优化骨架屏布局,更好地匹配实际看板结构 - 改进加载动画效果,提升用户体验
-
IanShaw027 authored
- 新增 GetErrorLogByID 接口用于获取单个错误日志详情 - 优化 GetErrorLogs 过滤逻辑,简化参数处理 - 简化前端错误详情模态框代码,提升可维护性 - 更新相关 API 接口和 i18n 翻译
-
longgexx authored
更新 usage_log_repo_integration_test.go 中的测试用例, 使其与 GetUsageTrendWithFilters 和 GetModelStatsWithFilters 方法的新签名保持一致。
-
longgexx authored
修复两个问题: 1. Token使用趋势图和模型分布图未响应筛选条件 2. 上午时段选择今天刷新后日期回退到前一天 前端修改: - 更新 dashboard API 类型定义,添加 model、account_id、group_id、stream 参数支持 - 修改 UsageView 趋势图加载逻辑,传递所有筛选参数到后端 - 修复日期格式化函数,使用本地时区避免 UTC 转换导致的日期偏移 后端修改: - Handler 层:接收并解析所有筛选参数(model、account_id、group_id、stream) - Service 层:传递完整的筛选参数到 Repository 层 - Repository 层:SQL 查询动态添加所有过滤条件 - 更新接口定义和测试 mock 以保持一致性 影响范围: - /admin/dashboard/trend 端点现支持完整筛选 - /admin/dashboard/models 端点现支持完整筛选 - 用户在后台使用记录页面选择任意筛选条件时,趋势图和模型分布图会实时响应 - 日期选择器在任何时区下都能正确保持今天的选择
-
longgexx authored
修复两个问题: 1. Token使用趋势图和模型分布图未响应筛选条件 2. 上午时段选择今天刷新后日期回退到前一天 前端修改: - 更新 dashboard API 类型定义,添加 model、account_id、group_id、stream 参数支持 - 修改 UsageView 趋势图加载逻辑,传递所有筛选参数到后端 - 修复日期格式化函数,使用本地时区避免 UTC 转换导致的日期偏移 后端修改: - Handler 层:接收并解析所有筛选参数(model、account_id、group_id、stream) - Service 层:传递完整的筛选参数到 Repository 层 - Repository 层:SQL 查询动态添加所有过滤条件 - 更新接口定义和所有调用点以保持一致性 影响范围: - /admin/dashboard/trend 端点现支持完整筛选 - /admin/dashboard/models 端点现支持完整筛选 - 用户在后台使用记录页面选择任意筛选条件时,趋势图和模型分布图会实时响应 - 日期选择器在任何时区下都能正确保持今天的选择
-
IanShaw027 authored
- 重构OpsErrorDetailModal.vue代码格式,提升可读性 - 添加上游错误tab显示功能 - 完善i18n翻译(upstream_http) - 优化其他ops组件代码格式
-
LLLLLLiulei authored
-
LLLLLLiulei authored
-
IanShaw027 authored
将技术术语的i18n翻译键替换为硬编码文本: - ms (P99) - 毫秒和百分位数标识 - TTFT - Time To First Token缩写 这些是通用技术术语,不需要国际化。
-
IanShaw027 authored
- 移除i18n文件中未使用的翻译键(cpu, redis, qps, ttft等) - 将技术术语改为硬编码(QPS, CPU, TPS等不需要翻译) - 简化OpsDashboardHeader、OpsErrorDetailModal等组件的i18n调用
-
墨颜 authored
-
https://github.com/whoismonay/sub2api墨颜 authored
-
IanShaw027 authored
后端改动: - 添加 resolved 参数默认值处理(向后兼容,默认显示未解决错误) - 新增 status_codes_other 查询参数支持 - 移除 service 层的高级设置过滤逻辑,简化错误日志查询流程 前端改动: - 完善错误日志相关组件的国际化支持 - 优化 Ops 监控面板和设置对话框的用户体验
-
墨颜 authored
- 新增 accounts.rate_multiplier(默认 1.0,允许 0) - 使用 usage_logs.account_rate_multiplier 记录倍率快照,避免历史回算 - 统计/导出/管理端展示账号口径费用(total_cost * account_rate_multiplier)
-