"vscode:/vscode.git/clone" did not exist on "89a725a433988d4dcf7184019a76a2b89f701687"
- 07 Mar, 2026 1 commit
-
-
erio authored
Show a semi-transparent blue rectangle overlay while dragging to select rows, matching the project's primary color theme with dark mode support. The box spans the full table width from drag start to current mouse position. Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
- 14 Feb, 2026 1 commit
-
-
yangjianbo authored
-
- 02 Feb, 2026 1 commit
-
-
song authored
-
- 24 Jan, 2026 1 commit
-
-
shaw authored
- 新增 SubscriptionExpiryService 定时任务,每分钟更新过期订阅状态 - 订阅列表支持服务端排序(按过期时间、状态、创建时间) - 实时显示正确的过期状态,无需等待定时任务 - 允许对已过期订阅进行续期操作 - DataTable 组件支持 serverSideSort 模式
-
- 21 Jan, 2026 1 commit
-
-
ducky authored
-
- 15 Jan, 2026 2 commits
-
-
yangjianbo authored
-
IanShaw027 authored
**问题描述**: - 表格在移动端显示列过多,需要横向滚动,内容被截断 - 顶部操作栏按钮拥挤,占用过多空间 - 弹窗表单在小屏幕上布局不合理 - "更多"操作菜单定位错误,位置过高或超出屏幕 - 滚动页面时菜单不会自动关闭,与卡片分离 **解决方案**: 1. **DataTable 组件 - 移动端卡片视图** - 在 < 768px 时自动切换到卡片布局 - 每个表格行渲染为独立卡片,所有字段清晰可见 - 操作按钮在卡片底部,触摸目标足够大 - 支持深色模式,包含加载和空状态 - 自动应用于所有使用 DataTable 的管理页面 2. **UsersView 顶部操作栏优化** - 移动端:搜索框全宽 + 次要按钮显示为图标 + 创建按钮突出 - 桌面端:保持原有布局(图标 + 文字) - 使用响应式 Tailwind classes 3. **UserCreateModal 弹窗优化** - 余额/并发数字段:移动端单列,桌面端双列 - 弹窗边距:移动端 8px,桌面端 16px 4. **操作菜单定位修复** - UsersView: 移动端菜单居中对齐按钮,智能定位 - AccountsView: 移动端菜单优先显示在按钮下方 - 所有情况下确保菜单不超出屏幕边界 - 添加滚动监听,滚动时自动关闭菜单 **影响范围**: - 所有使用 DataTable 的管理页面(8 个页面)自动获得移动端卡片视图 - 用户管理和账号管理页面的操作菜单定位优化 - 创建用户弹窗的响应式布局优化 **技术要点**: - 使用 Tailwind 响应式断点(md:, sm:) - 触摸目标 ≥ 44px - 完整支持深色模式 - 向后兼容,桌面端保持原有布局
-
- 14 Jan, 2026 1 commit
-
-
LLLLLLiulei authored
-
- 11 Jan, 2026 1 commit
-
-
yangjianbo authored
补充批量调度返回 success_ids/failed_ids 并增加合约/单测 前端加入降级处理与部分失败提示,表格行使用稳定 key 测试: make test-frontend 测试: go test ./internal/service -run BulkUpdateAccounts -tags=unit 测试: go test ./internal/server -run APIContracts -tags=unit
-
- 05 Jan, 2026 1 commit
-
-
IanShaw027 authored
- 扩展 Icon.vue 组件,新增 60+ 图标路径 - 导航类: arrowRight, arrowLeft, arrowUp, arrowDown, chevronUp, externalLink - 状态类: checkCircle, xCircle, exclamationCircle, exclamationTriangle, infoCircle - 用户类: user, userCircle, userPlus, users - 文档类: document, clipboard, copy, inbox - 操作类: download, upload, filter, sort - 安全类: key, lock, shield - UI类: menu, calendar, home, terminal, gift, creditCard, mail - 数据类: chartBar, trendingUp, database, cube - 其他: bolt, sparkles, cloud, server, sun, moon, book 等 - 重构 56 个 Vue 组件,用 Icon 组件替换内联 SVG - 净减少约 2200 行代码 - 提升代码可维护性和一致性 - 统一图标样式和尺寸管理
-
- 28 Dec, 2025 4 commits
-
-
IanShaw027 authored
- 移除未使用的 hasExpandableActions 计算属性 - 移除未使用的 toggleActionsExpanded 函数 - 修复 TypeScript 类型检查错误
-
IanShaw027 authored
- 移除操作列表头的展开/折叠按钮和图标 - 该功能已被操作列内的'更多'按钮替代 - 保留底层的展开/收起逻辑供'更多'按钮使用
-
IanShaw027 authored
- 修复RedeemView订阅刷新失败导致流程中断的问题 将订阅刷新隔离到独立try/catch,失败时仅显示警告 - 修复DataTable resize事件监听器泄漏问题 确保添加和移除使用同一个回调引用 - 修复订阅状态缓存导致强制刷新失效的问题 force=true时绕过activePromise缓存,clear()清空缓存 - 修复图表主题切换后颜色不更新的问题 添加图表ref并在主题切换时调用update()方法
-
IanShaw027 authored
- DataTable组件操作列自适应 - 优化各种Modal弹窗 - 统一API调用方式(AbortSignal) - 添加全局订阅状态管理 - 优化各管理视图的交互和布局 - 修复国际化翻译问题
-
- 27 Dec, 2025 4 commits
-
-
shaw authored
- 修复DataTable组件watch监听actionsExpanded导致的无限循环卡死问题 - 为AccountsView和UsersView添加actionsCount属性启用操作列展开功能 - 修复i18n翻译中邮箱地址的@符号未转义导致的编译错误
-
IanShaw027 authored
新增功能: 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,原始值) - 让表格在列数较多时更紧凑,提升空间利用率 -
IanShaw027 authored
- 改进ConfirmDialog对话框组件 - 增强DataTable表格组件功能和响应式布局 - 优化EmptyState空状态组件 - 完善SubscriptionProgressMini订阅进度组件
-
IanShaw authored
* feat(frontend): 前端界面优化与使用统计功能增强 主要改动: 1. 表格布局统一优化 - 新增 TablePageLayout 通用布局组件 - 统一所有管理页面的表格样式和交互 - 优化 DataTable、Pagination、Select 等通用组件 2. 使用统计功能增强 - 管理端: 添加完整的筛选和显示功能 - 用户端: 完善 API Key 列显示 - 后端: 优化使用统计数据结构和查询 3. 账户组件优化 - 优化 AccountStatsModal、AccountUsageCell 等组件 - 统一进度条和统计显示样式 4. 其他改进 - 完善中英文国际化 - 统一页面样式和交互体验 - 优化各视图页面的响应式布局 * fix(test): 修复 stubUsageLogRepo.ListWithFilters 测试 stub 测试用例 GET /api/v1/usage 返回 500 是因为 stub 方法未实现, 现在正确返回基于 UserID 过滤的日志数据。 * feat(frontend): 统一日期时间显示格式 **主要改动**: 1. 增强 utils/format.ts: - 新增 formatDateOnly() - 格式: YYYY-MM-DD - 新增 formatDateTime() - 格式: YYYY-MM-DD HH:mm:ss 2. 全局替换视图中的格式化函数: - 移除各视图中的自定义 formatDate 函数 - 统一导入使用 @/utils/format 中的函数 - created_at/updated_at 使用 formatDateTime - expires_at 使用 formatDateOnly 3. 受影响的视图 (8个): - frontend/src/views/user/KeysView.vue - frontend/src/views/user/DashboardView.vue - frontend/src/views/user/UsageView.vue - frontend/src/views/user/RedeemView.vue - frontend/src/views/admin/UsersView.vue - frontend/src/views/admin/UsageView.vue - frontend/src/views/admin/RedeemView.vue - frontend/src/views/admin/SubscriptionsView.vue **效果**: - 日期统一显示为 YYYY-MM-DD - 时间统一显示为 YYYY-MM-DD HH:mm:ss - 提升可维护性,避免格式不一致 * fix(frontend): 补充遗漏的时间格式化统一 **补充修复**(基于 code review 发现的遗漏): 1. 增强 utils/format.ts: - 新增 formatTime() - 格式: HH:mm 2. 修复 4 个遗漏的文件: - src/views/admin/UsersView.vue * 删除 formatExpiresAt(),改用 formatDateTime() * 修复订阅过期时间 tooltip 显示格式不一致问题 - src/views/user/ProfileView.vue * 删除 formatMemberSince(),改用 formatDate(date, 'YYYY-MM') * 统一会员起始时间显示格式 - src/views/user/SubscriptionsView.vue * 修改 formatExpirationDate() 使用 formatDateOnly() * 保留天数计算逻辑 - src/components/account/AccountStatusIndicator.vue * 删除本地 formatTime(),改用 utils/format 中的统一函数 * 修复 rate limit 和 overload 重置时间显示 **验证**: - TypeScript 类型检查通过 ✓ - 前端构建成功 ✓ - 所有剩余的 toLocaleString() 都是数字格式化,属于正确用法 ✓ **效果**: - 订阅过期时间统一为 YYYY-MM-DD HH:mm:ss - 会员起始时间统一为 YYYY-MM - 重置时间统一为 HH:mm - 消除所有不规范的原生 locale 方法调用
-
- 26 Dec, 2025 1 commit
-
-
ianshaw authored
- 统一移除语句末尾分号,规范代码格式 - 优化组件类型定义和 props 声明 - 改进组件文档和示例代码 - 提升代码可读性和一致性
-
- 18 Dec, 2025 2 commits