Wangnov
24ad052d02
feat: 完成SettingsView页面完整国际化支持
...
- 扩展三个语言文件,添加198个settings翻译键,支持中英繁三语言
- 完成SettingsView.vue所有1604行的系统化国际化处理:
* 完整国际化HTML模板:页面标题、导航标签、品牌设置、Webhook设置等
* 完整国际化JavaScript功能:Toast消息、确认对话框、表单验证、错误处理
* 集成Vue i18n:添加useI18n composable,实现响应式翻译支持
* 转换静态函数为响应式翻译,支持语言切换时实时更新
- 主要功能模块全面国际化:
* 品牌设置:网站名称、图标管理、管理入口配置完全国际化
* Webhook通知:7种平台类型、通知类型、高级设置完全国际化
* 模态框:复杂的平台添加/编辑表单完全国际化
* 响应式布局:桌面端表格和移动端卡片视图完全适配
* 错误处理:37个Toast消息、确认对话框、表单验证完全国际化
现在SettingsView完全支持多语言切换,与其他页面保持一致的国际化标准
2025-09-12 00:03:02 +08:00
Wangnov
19ca374527
feat: 完成ApiKeysView页面完整国际化支持
...
- 扩展三个语言文件,添加167个apiKeys翻译键,支持中英繁三语言
- 完成ApiKeysView.vue所有2869行的系统化国际化处理:
* 完整国际化HTML模板:页面标题、Tab导航、表格标题、筛选器、状态指示等
* 完整国际化JavaScript功能:Toast消息、确认对话框、错误处理、时间格式化
* 集成Vue i18n:添加useI18n composable,实现响应式翻译支持
* 转换静态选项为计算属性,支持语言切换时实时更新
- 主要功能模块全面国际化:
* 主界面:标题描述、Tab导航、工具栏按钮完全国际化
* 数据表格:表头、状态标签、统计信息、操作按钮全面适配
* 移动端视图:卡片布局、统计展示、操作按钮完全国际化
* 已删除管理:已删除API Keys的表格和操作完全国际化
* 确认对话框:所有删除、恢复、清空操作的确认信息国际化
* 错误处理:统一的错误消息和成功提示国际化
现在ApiKeysView完全支持多语言切换,与AccountsView保持一致的国际化标准
2025-09-12 00:03:02 +08:00
Wangnov
27c0804219
feat: 完成AccountsView页面完整国际化
...
- 添加useI18n导入并替换100+硬编码中文文本
- 扩展三种语言文件的accounts翻译键(150+条)
- 更新下拉选项为响应式计算属性支持动态翻译
- 国际化页面标题、表格列头、筛选器和操作按钮
- 处理状态文本、错误消息和工具提示
- 更新JavaScript函数返回值使用翻译键
- 完整支持桌面端和移动端视图的国际化
- 修正货币符号和时间格式化的参数化翻译
涵盖组件:
- 账户管理主界面(标题、描述、筛选器)
- 桌面端表格视图(列头、状态、操作按钮)
- 移动端卡片视图(标签、按钮、状态)
- 错误处理和确认对话框
- 时间和数值格式化函数
2025-09-12 00:03:02 +08:00
Wangnov
cd7959f3bf
feat: 实现DashboardView.vue完整国际化支持
...
- 完成DashboardView.vue全面国际化
* 主要统计卡片:总API Keys、服务账户、今日请求、系统状态全部多语言化
* Token统计模块:今日Token、总消耗量、实时RPM/TPM指标完整国际化
* 实时性能监控:请求数/Token数每分钟指标、历史数据标识多语言化
* 图表组件完整国际化:饼图、趋势图、API Keys使用趋势图
* 交互控件全面支持:日期选择器、粒度切换、自动刷新等
- 图表系统深度国际化
* Chart.js图表标签完全多语言化:Token使用趋势、模型分布等
* 工具提示和坐标轴标签支持动态语言切换
* 表格头部和数据展示完整国际化支持
- 扩展三语言dashboard翻译组
* zh-cn.js: 简体中文专业术语翻译
* zh-tw.js: 繁体中文技术翻译(快取、即時等台湾用词)
* en.js: 英文专业技术术语标准翻译
* 总计90+个翻译键值,涵盖所有用户可见文本
- 平台账户工具提示国际化
* Claude/Console/Gemini/Bedrock/OpenAI/Azure OpenAI账户状态
* 支持参数化翻译,动态显示账户数量和状态
- 提升复杂业务场景多语言体验
* 管理后台核心数据可视化页面完全国际化
* 60+个硬编码中文字符串全部替换
* 确保不同语言环境下数据展示的专业性
2025-09-12 00:03:02 +08:00
Wangnov
e88e97b485
feat: 实现AppHeader和LoginView完整国际化支持
...
- 完成AppHeader.vue全面国际化
* 版本检查和更新通知系统多语言支持
* 用户菜单和账户信息修改模态框国际化
* 退出登录确认流程多语言化
* 总计替换30+个硬编码中文字符串
- 实现LoginView.vue完整国际化
* 登录表单所有文本支持多语言
* 添加语言切换组件到登录页面
* 确保用户可在登录前选择语言
- 扩展三语言翻译文件
* zh-cn.js: 简体中文标准翻译
* zh-tw.js: 繁体中文专业化翻译
* en.js: 英文技术术语标准翻译
* 新增header和login完整翻译组
- 提升用户体验
* 登录页面右上角工具栏(语言+主题切换)
* 响应式布局适配多设备
* 完整的首次访问多语言体验
2025-09-12 00:03:02 +08:00
Wangnov
4aae4aaec0
feat: 完成API统计组件完整国际化支持
...
- 完成6个apistats组件的全面国际化改造
* ModelUsageStats.vue - 模型使用统计
* AggregatedStatsCard.vue - 聚合统计卡片
* StatsOverview.vue - 统计概览
* LimitConfig.vue - 限制配置
* TokenDistribution.vue - Token使用分布
* ApiKeyInput.vue - API Key输入组件
- 扩展三语言翻译支持(zh-cn/zh-tw/en)
* 新增100+专业翻译键涵盖所有UI文字
* 台湾本地化的繁体中文翻译
* 技术专业的英文术语翻译
* 支持参数化翻译处理动态内容
- 技术优化
* 统一使用Vue 3 Composition API的useI18n()模式
* 智能日期格式国际化处理
* 完全消除硬编码中文文字
* 支持条件性翻译和动态时间段显示
现在整个API统计功能模块支持完整的多语言切换体验
2025-09-12 00:03:02 +08:00
Wangnov
c7e1a3429d
feat: 完善教程系统国际化架构并完成英文教程翻译
...
- 创建分离式多语言教程组件架构
- TutorialView-zh-cn.vue (简体中文教程)
- TutorialView-zh-tw.vue (繁体中文教程,统一台湾语言习惯)
- TutorialView-en.vue (英文教程,全面翻译用户界面和技术文档)
- 重构教程路由系统
- 新的TutorialView.vue作为国际化代理组件
- 根据用户语言设置动态选择合适的教程组件
- 保持/tutorial路径可访问性,提升用户体验
- 完成英文教程完整翻译
- Windows/macOS/Linux安装教程全英文化
- 环境变量配置说明英文化
- 故障排除章节英文化
- JavaScript注释和用户界面文本英文化
- 优化国际化架构
- ApiStatsView使用新的分离式教程组件
- 统一的语言选择逻辑和组件复用
- 更清晰的代码组织和维护性
2025-09-12 00:03:02 +08:00
Wangnov
74d37486b8
chore: 添加Vue组件和composables自动导入类型定义
...
- 添加unplugin-vue-components自动生成的组件类型定义
- 添加unplugin-auto-import自动生成的composables类型定义
- 为TypeScript提供更好的类型支持和IDE智能提示
2025-09-12 00:03:02 +08:00
Wangnov
1eadc94592
feat: 实现ApiStatsView页面完整国际化
...
- 集成vue-i18n到ApiStatsView,支持动态语言切换
- 国际化所有用户界面文本:页面标题、按钮、Tab标签、时间选择器
- 实现LogoTitle动态subtitle,根据当前tab显示对应语言的标题
- 添加语言切换组件到页面header,与主题切换并列显示
- 实现教程内容的整体替换机制,支持基于语言的动态组件选择
- 确保用户登录、管理后台、统计查询等核心功能完全本地化
2025-09-12 00:03:02 +08:00
Wangnov
87591365bc
feat: 在AppHeader中集成语言切换组件
...
- 在AppHeader主导航栏中添加LanguageSwitch组件
- 使用dropdown模式和medium尺寸提供最佳用户体验
- 与现有ThemeToggle组件并列放置,保持界面一致性
- 为管理后台提供全局语言切换功能
2025-09-12 00:03:02 +08:00
Wangnov
f4b873315a
feat: 创建语言切换组件
...
- 创建LanguageSwitch.vue组件,支持dropdown/button/icon三种显示模式
- 实现点击外部自动关闭下拉菜单功能
- 支持size属性控制组件大小(small/medium/large)
- 集成locale store实现语言切换和状态同步
- 使用纯文字标识符显示:简/繁/EN,提供清晰的语言选择界面
- 下拉菜单显示完整语言名称:简体中文/繁體中文/English
2025-09-12 00:03:02 +08:00
Wangnov
cb1b7bc0e3
feat: 实现i18n核心配置和语言状态管理
...
- 创建i18n配置系统,支持简体中文/繁体中文/英文三种语言
- 实现浏览器语言自动检测和localStorage持久化
- 添加基础翻译文件,包含common、language、header、apiStats模块
- 创建locale store使用Pinia管理语言状态
- 配置语言标识符为纯文字:简/繁/EN,去除国旗emoji
2025-09-12 00:03:01 +08:00
Wangnov
504b9e3ea7
feat: 添加vue-i18n依赖和基础配置
...
- 安装vue-i18n@9.x作为项目国际化解决方案
- 在main.js中集成i18n插件到Vue应用
- 配置支持简体中文、繁体中文、英文三种语言
2025-09-12 00:03:01 +08:00
shaw
009f7c84f6
fix: 简化css动画以降低gpu占用高问题
2025-09-11 22:22:05 +08:00
shaw
02989a7588
fix: 修复CCR账户表单验证和平台分组逻辑
...
- 修复CCR账户创建时的表单字段验证
- 统一CCR与Claude Console的处理逻辑
- 修复账户删除前的API Key绑定检查
- 修复Claude Console账户绑定的API Key计数
- 优化平台分组判断逻辑
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-11 11:54:27 +08:00
shaw
fef2c8c3c2
feat: 优化ProxyConfig组件添加代理URL智能识别功能
...
- 新增快速配置输入框,支持粘贴完整代理URL自动填充表单
- 支持多种格式自动识别:socks5://、http://、https://、host:port
- 自动忽略#后的别名部分
- 粘贴即解析,输入即智能识别
- 添加实时解析成功/失败提示
- 优化用户体验,无需失去焦点即可触发解析
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-11 11:52:41 +08:00
shaw
78adf82f0d
fix: 优化账户表单组件的UI和功能
...
- 将 CCR 描述从 "Claude Connector" 更正为 "Claude Code Router"
- 隐藏限流时长输入字段,统一使用默认值 60 分钟
- 为 OpenAI-Responses 平台添加分组支持
- 清理 CcrAccountForm 中的冗余标签文字
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-10 22:44:05 +08:00
shaw
7712d5516c
merge: 合并远程 dev 分支,整合 CCR 和 OpenAI-Responses 功能
...
## 合并内容
- 成功合并远程 dev 分支的 CCR (Claude Connector) 功能
- 保留本地的 OpenAI-Responses 账户管理功能
- 解决所有合并冲突,保留双方功能
## UI 调整
- 将 CCR 平台归类到 Claude 分组中
- 保留新的平台分组选择器设计
- 支持所有平台类型:Claude、CCR、OpenAI、OpenAI-Responses、Gemini、Azure OpenAI、Bedrock
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-10 15:49:52 +08:00
shaw
08946c67ea
feat: 新增 OpenAI-Responses 账户管理功能和独立自动停止标记机制
...
## 功能新增
- 实现 OpenAI-Responses 账户服务(openaiResponsesAccountService.js)
- 支持使用账户内置 API Key 进行请求转发
- 实现每日额度管理和重置机制
- 支持代理配置和优先级设置
- 实现 OpenAI-Responses 中继服务(openaiResponsesRelayService.js)
- 处理请求转发和响应流处理
- 自动记录使用统计信息
- 支持流式和非流式响应
- 新增管理界面的 OpenAI-Responses 账户管理功能
- 完整的 CRUD 操作支持
- 实时额度监控和状态管理
- 支持手动重置限流和每日额度
## 架构改进
- 引入独立的自动停止标记机制,区分不同原因的自动停止
- rateLimitAutoStopped: 限流自动停止
- fiveHourAutoStopped: 5小时限制自动停止
- tempErrorAutoStopped: 临时错误自动停止
- quotaAutoStopped: 额度耗尽自动停止
- 修复手动修改调度状态时自动恢复的问题
- 统一清理逻辑,防止状态冲突
## 其他优化
- getAccountUsageStats 支持不同账户类型参数
- 统一调度器支持 OpenAI-Responses 账户类型
- WebHook 通知增强,支持新账户类型的事件
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-10 15:41:52 +08:00
sususu98
5938180583
Merge branch 'Wei-Shaw:dev' into dev
2025-09-10 14:40:46 +08:00
Wesley Liddick
3c5068866c
Revert "合并所有新功能到Wei-Shaw仓库(排除ApiStatsView.vue)"
2025-09-10 14:37:52 +08:00
sususu98
c0059c68eb
Merge branch 'Wei-Shaw:dev' into dev
2025-09-10 14:22:45 +08:00
sususu98
7f9869ae20
feat: 添加 CCR (Claude Code Router) 账户类型支持
...
实现通过供应商前缀语法进行 CCR 后端路由的完整支持。
用户现在可以在 Claude Code 中使用 `/model ccr,model_name` 将请求路由到 CCR 后端。
暂时没有实现`/v1/messages/count_tokens`,因为这需要在CCR后端支持。
CCR类型的账户也暂时没有考虑模型的支持情况
## 核心实现
### 供应商前缀路由
- 添加 modelHelper 工具用于解析模型名称中的 `ccr,` 供应商前缀
- 检测到前缀时自动路由到 CCR 账户池
- 转发到 CCR 后端前移除供应商前缀
### 账户管理
- 创建 ccrAccountService 实现 CCR 账户的完整 CRUD 操作
- 支持账户属性:名称、API URL、API Key、代理、优先级、配额
- 实现账户状态:active、rate_limited、unauthorized、overloaded
- 支持模型映射和支持模型配置
### 请求转发
- 实现 ccrRelayService 处理 CCR 后端通信
- 支持流式和非流式请求
- 从 SSE 流中解析和捕获使用数据
- 支持 Bearer 和 x-api-key 两种认证格式
### 统一调度
- 将 CCR 账户集成到 unifiedClaudeScheduler
- 添加 \_selectCcrAccount 方法用于 CCR 特定账户选择
- 支持 CCR 账户的会话粘性
- 防止跨类型会话映射(CCR 会话仅用于 CCR 请求)
### 错误处理
- 实现全面的错误状态管理
- 处理 401(未授权)、429(速率限制)、529(过载)错误
- 成功请求后自动从错误状态恢复
- 支持可配置的速率限制持续时间
### Web 管理界面
- 添加 CcrAccountForm 组件用于创建/编辑 CCR 账户
- 将 CCR 账户集成到 AccountsView 中,提供完整管理功能
- 支持账户切换、重置和使用统计
- 在界面中显示账户状态和错误信息
### API 端点
- POST /admin/ccr-accounts - 创建 CCR 账户
- GET /admin/ccr-accounts - 列出所有 CCR 账户
- PUT /admin/ccr-accounts/:id - 更新 CCR 账户
- DELETE /admin/ccr-accounts/:id - 删除 CCR 账户
- PUT /admin/ccr-accounts/:id/toggle - 切换账户启用状态
- PUT /admin/ccr-accounts/:id/toggle-schedulable - 切换可调度状态
- POST /admin/ccr-accounts/:id/reset-usage - 重置每日使用量
- POST /admin/ccr-accounts/:id/reset-status - 重置错误状态
## 技术细节
- CCR 账户使用 'ccr' 作为 accountType 标识符
- 带有 `ccr,` 前缀的请求绕过普通账户池
- 转发到 CCR 后端前清理模型名称内的`ccr,`
- 从流式和非流式响应中捕获使用数据
- 支持缓存令牌跟踪(创建和读取)
2025-09-10 14:21:48 +08:00
Wesley Liddick
27fe3b6853
Merge branch 'dev' into main
2025-09-10 14:04:27 +08:00
DuanNaiSheQu
af3d688e98
合并所有新功能到Wei-Shaw仓库(排除ApiStatsView.vue)
...
✨ 新增功能:
- GPT-5 High推理级别费用追踪和限制
- API Key图标上传功能
- 优化的进度条显示组件
- 暗黑模式UI兼容
- 完整的前后端集成
🔥 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-10 13:38:27 +08:00
iaineng
929852a881
fix(ui): correct table row striping in API Keys view
...
Fixed second row appearing white due to invalid Tailwind CSS class bg-gray-850.
Replaced with valid bg-gray-700/30 for odd rows and kept bg-gray-800/40 for even rows
to enhance dark mode contrast.
2025-09-09 13:52:38 +08:00
Wesley Liddick
da744528bc
Merge pull request #383 from Edric-Li/feature/smtp-notification
...
feat: 添加SMTP邮件通知功能
2025-09-09 12:19:26 +08:00
Edric Li
5d677b4f17
fix: 优化UI文案和修复SMTP测试问题
...
- 修复SMTP平台测试按钮传递必要字段
- 添加"测试通知"类型的友好显示文本和描述
- 简化标题:"启用 Webhook 通知" → "启用通知"
2025-09-09 04:09:51 +08:00
Edric Li
268a262281
fix: 修复SMTP平台测试按钮缺少必要字段的问题
...
- 在testPlatform函数中添加SMTP平台的完整字段传递
- 确保测试时包含host, port, user, pass, to等必填字段
2025-09-09 04:02:13 +08:00
Edric Li
283362acd0
feat: 添加SMTP邮件通知功能
...
新增功能:
- 支持SMTP邮件通知平台,可通过邮件接收系统通知
- 支持配置SMTP服务器、端口、用户名、密码、发件人和收件人
- 支持TLS/SSL加密连接
- 提供美观的HTML邮件模板和纯文本备用格式
代码优化:
- 重构邮件格式化逻辑,提取buildNotificationDetails减少重复代码
- 优化前端表单验证逻辑,提取validatePlatformForm统一验证
- 清理UI中的冗余提示信息和配置项
UI改进:
- 移除SMTP配置说明文字
- 移除超时设置和忽略TLS证书验证选项
- 简化测试成功提示消息
- SMTP平台显示收件人邮箱而非URL
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-09 04:00:35 +08:00
Gemini Wen
97da7d44ba
ui: improve group tags layout in AccountsView
...
- Add vertical margin and flex-wrap for better multi-line display
- Remove left margin to align properly with container
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-08 22:55:56 +08:00
Wesley Liddick
86ed5c6344
Merge pull request #377 from f3n9/dev-um-8
...
用户自助管理页面顶部增加链接,用于展示配置教程
2025-09-08 22:14:34 +08:00
shaw
6e16df0b45
fix: 进度条配色优化
2025-09-08 22:13:46 +08:00
shaw
73d3df56e5
fix: 进度条颜色显示优化
2025-09-08 21:11:16 +08:00
shaw
c4f1e7a411
fix: api-keys页面布局优化
2025-09-08 20:45:19 +08:00
Feng Yue
3f5004626a
Merge branch 'main-um-8' into dev-um-8
2025-09-08 18:53:32 +08:00
shaw
7f8fae70e6
fix: azure转发问题修复
2025-09-08 17:26:14 +08:00
Feng Yue
3239965cbe
add tutorial page for user
2025-09-08 17:03:45 +08:00
shaw
399e6b9d8c
fix: 优化codex 429限流显示为恩替
2025-09-08 16:34:26 +08:00
Wesley Liddick
5c8136ddd4
Merge branch 'dev' into main
2025-09-08 16:14:54 +08:00
Edric Li
3aa7c89e25
feat: 完全移除 API Key 图标功能
...
彻底删除 API Key 图标功能的所有相关代码:
前端改动:
- 删除 IconPicker.vue 组件文件
- 移除 ApiKeysView.vue 中的图标显示和 updateApiKeyIcon 方法
- 清理 CreateApiKeyModal.vue 中的图标选择器
- 清理 EditApiKeyModal.vue 中的图标选择器
- 移除所有 IconPicker 组件的引用
后端改动:
- 从 apiKeyService.js 中移除 icon 字段更新支持
- 从 admin.js 路由中移除 icon 参数处理和验证逻辑
- 清理创建和更新 API Key 时的 icon 参数
此改动简化了 API Key 管理界面,移除了不必要的图标功能。
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-08 16:06:12 +08:00
Edric Li
bed7b7f000
refactor: 优化 API Keys 管理界面布局和用户体验
...
主要改进:
- 移除 API Key 图标功能,简化界面设计
- 新增独立的"所属账号"列,提高信息层次清晰度
- 统一所有数据列字体大小为 13px,改善可读性
- 优化列宽度分配:名称(14%)、状态(6%)、操作(27%)等
- 调整列显示顺序:费用 → Token → 请求数,更符合逻辑
- 费用显示精度从4位调整为2位小数
- 同步优化已删除 API Keys 表格布局
- 简化 Token 列标题(去掉"数"字)
技术细节:
- 使用内联样式统一字体大小
- 保持活跃和已删除表格的一致性
- 清理冗余代码,减少约 30 行
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-08 16:06:12 +08:00
Gemini Wen
0a43bb2645
format: optimized front-end code format
2025-09-08 12:39:42 +08:00
shaw
f284d5666f
feat: 支持隐藏后台登录入口按钮
2025-09-08 12:19:14 +08:00
shaw
e824858d60
feat: claude账户支持使用统一的客户端标识
2025-09-08 11:35:44 +08:00
Edric Li
0fc5309ff9
feat: 优化API Keys页面布局和导出功能
...
- 重新组织工具栏布局:左侧为查询筛选器,右侧为操作按钮
- Excel导出功能增加API Keys的标签信息
- 设置标签列宽度和样式,无标签时显示"无"并用斜体
- 布局优化:查询功能和操作功能分离,提升用户体验
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-07 22:18:34 +08:00
Edric Li
92ec3ffc72
feat: API Keys页面恢复今日时间选项并设为默认
...
- 添加"今日"时间筛选选项,使用fa-calendar-day图标
- 将默认时间范围从"最近7天"改为"今日"
- 优化日期处理逻辑,确保今日选项从0点开始
- 调整UsageDetailModal宽度以适应内容显示
- 同步更新所有相关的初始化和重置逻辑
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-07 22:18:34 +08:00
Edric Li
8c9d6381f3
feat: API Keys图标系统和UI优化
...
主要功能增强:
- 实现API Key自定义图标功能,支持图片上传、裁剪和智能压缩
- 新增IconPicker组件,提供内置图标选择和图片上传功能
- 支持固定尺寸裁剪区域,可拖拽定位选择头像区域
- 智能图片压缩:PNG保留透明度,JPEG用于不透明图片
UI/UX改进:
- 优化表格布局:移除账号列,在名称下方显示账号绑定信息
- 调整行高和字体大小,提升信息密度
- 最后使用时间改为相对时间显示,悬浮显示具体时间
- 过期时间编辑改为点击文本触发,带悬浮下划线效果
- 更新默认API Key图标为蓝色渐变设计
- 修复表格悬浮偏移和横向滚动条问题
- 将"TOKEN 数量"改为"Token数"
后端支持:
- apiKeyService增加icon字段持久化
- admin路由增加图标数据处理和验证
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-07 22:18:34 +08:00
Edric Li
fc5c60a9b4
feat: 增强API Keys Excel导出功能和样式美化
...
- 添加输入/输出Token列到Excel导出
- 使用xlsx-js-style库实现专业的Excel样式
- 彩色表头(蓝色/绿色区分)
- 交替行背景色
- 正确的列对齐(日期右对齐,名称左对齐)
- 费用列特殊样式(蓝色加粗)
- 简化导出内容,仅包含用量数据
- Token数量使用K/M单位格式化
- 模型统计也包含输入/输出Token
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-07 22:18:34 +08:00
Edric Li
8f43b9367b
feat: 优化Excel导出功能,专注用量数据统计
...
- 简化导出内容,仅包含用量相关数据
- 保留API Key名称和所有者信息
- 导出详细的分模型用量统计:
* 今日各模型请求数、费用、输入/输出/总Token
* 累计各模型请求数、费用、输入/输出/总Token
* 根据时间筛选条件导出对应周期的模型统计
- 文件名包含时间筛选条件,便于识别数据范围
- 动态设置列宽,优化Excel显示效果
- 移除冗余的配置信息,专注核心用量数据
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-07 22:18:34 +08:00