admin
74d030f846
fix: replace vue3-flag-icons with custom CSS-only flag icons
...
- Remove vue3-flag-icons dependency (was causing slow loading)
- Create custom flag-icons.css with only cn and us flags (inline SVG)
- Update language-change.vue to use CSS-based flag icons
- Delete vue3-flag-icons type declaration file
- Flag icons now load instantly without any JavaScript overhead
2026-05-07 23:21:53 +08:00
admin
c816f4d85c
feat: add comprehensive i18n support across all pages
...
- Add i18n support to admin sidebar, breadcrumbs, and nav-footer
- Add i18n support to admin pages: system-settings, users, versions, risk-control, sessions, cloud-variables, cloud-constants
- Add i18n support to auth pages: login, register
- Add i18n support to install and profile pages
- Add i18n support to agent pages: dashboard, finance, users, apps, cards
- Replace all hard-coded Chinese text with i18n translation keys
- Add comprehensive translation keys to zh.json and en.json
- Fix date formatting to use locale-agnostic toLocaleDateString()
- Pass t function as parameter for i18n in non-component files
2026-05-07 23:06:58 +08:00
admin
f1f2a9dc9d
feat: 云端变量操作菜单添加查看记录入口
...
- stream 类型变量下拉菜单增加「查看记录」选项
- 添加 List 图标导入
- 添加中英文国际化文本
2026-05-07 19:42:37 +08:00
admin
d01e20dfd5
feat: 重构云端变量记录页面,支持动态列和服务端分页
...
- 使用项目 DataTable 组件替换原生 table
- 根据记录数据动态生成表格列
- 支持服务端分页、搜索、日期筛选
- 添加单条/批量删除确认对话框
- 添加路由配置和国际化文本
- 更新 pnpm-lock.yaml 修复 Docker 构建问题
2026-05-07 19:10:25 +08:00
admin
fa281040d0
perf: 优化构建体积和依赖
...
- 移除未使用的依赖包 (@unovis/ts, @unovis/vue, markdown-it)
- 优化 vite manualChunks 配置,将 echarts/chart.js 分离为独立 chunk
- 主入口文件从 1.1MB 减少到 211KB (-81%)
- 依赖包数量从 837 减少到 662
2026-05-07 18:48:14 +08:00
admin
f700dc0a58
perf: 优化CSS体积,从5.18MB减少到179KB
...
- 用自定义flag-icons.css替换vue3-flag-icons全量导入,只包含cn和us国旗
- 删除themes.css中重复定义的.theme-yellow样式
2026-05-07 17:02:02 +08:00
admin
8161a3f75f
perf: 优化路由守卫安装检查,使用 localStorage 缓存
...
- 将安装状态缓存到 localStorage,有效期 24 小时
- 避免每次路由切换都发起 HTTP 请求
- 显著提升页面切换速度
2026-05-07 13:27:13 +08:00
admin
c1a9532456
fix: 修复风控规则表格不显示数据的问题
...
- 修改 generateVueTable 调用方式,使用 getter 函数传递 data 和 loading
- 确保表格数据响应式更新
2026-05-07 13:17:58 +08:00
admin
ceabff333e
fix: 修复在线实例页面表格不显示数据的问题
...
- 修改 generateVueTable 调用方式,使用 getter 函数传递 data 和 loading
- 确保表格数据响应式更新
2026-05-07 11:56:43 +08:00
admin
d84111a103
fix: 修复generateVueTable函数响应式问题,统一columns参数传递方式
2026-05-07 10:44:11 +08:00
admin
64569e305e
fix: 修复授权详情API返回格式,重构授权管理页面表格和批量操作
2026-05-07 02:31:15 +08:00
admin
9e8f5bc826
fix: 更新路由移除已删除的 card-types.vue 引用
2026-05-07 01:58:26 +08:00
admin
13482cde4a
refactor: 将查看授权和编辑授权改为独立页面
2026-05-07 01:52:51 +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
d9f4574f33
fix: 修复计费类型显示、授权价格组件和操作图标问题
2026-05-07 00:48:51 +08:00
admin
b2295b3c38
fix: 修复 total_consumption undefined 和 SelectItem 空字符串错误
2026-05-07 00:38:02 +08:00
admin
e7e7631fa5
feat: 授权管理改为设置卡类价格,代理管理增加消费列
2026-05-07 00:28:52 +08:00
admin
7646bd2c88
feat: 新建授权改为独立页面,修复代理列表获取和卡片颜色
2026-05-07 00:08:04 +08:00
admin
3cd22fdce1
feat: 重构授权管理为层级模型 - 管理员直接对代理授权应用卡密权限
2026-05-06 22:16:31 +08:00
admin
53e60c7c07
feat: 在侧边栏添加代理授权导航入口
2026-05-06 21:40:44 +08:00
admin
9f071464bb
revert: 恢复 ECharts 世界地图展示用户分布
2026-05-06 20:21:32 +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
3cf702d9b8
fix: 修复ECharts动态import方式
...
- import('echarts') 返回模块命名空间对象,不是 { default }
- 移除错误的解构语法
2026-05-06 07:50:47 +08:00
admin
d584b578f1
perf: 优化前端加载速度
...
- 改用 mime 标准库替代硬编码 MIME 类型(更优雅)
- 全局 gzip 中间件替代手动压缩(覆盖所有响应)
- ECharts 改为动态 import,首屏不再加载 1.1MB
- manualChunks 拆分 vue-vendor/ui-vendor 减小主包
- 首屏 gzip 体积从 544KB 降至 236KB(减少 57%)
2026-05-05 13:18:40 +08:00
admin
9253cb23bf
fix: 从源头解决下划线文件名问题并优化代码
...
- Vite配置chunkFileNames去除开头的下划线,避免Go embed/http.FS过滤
- 使用mime.TypeByExtension自动推断Content-Type,替代手动映射
- 移除调试日志(文件列表、全局中间件打印)
2026-05-05 02:21:13 +08:00
admin
e229e31079
fix: 修复assets文件路径拼接错误
...
- Gin的*filepath参数包含开头的/,需要去除
- 修复路径拼接导致的双斜杠问题
- 移除自动刷新逻辑,这不是正确的解决方案
2026-05-04 16:23:26 +08:00
admin
337ddf6bb4
fix: URL解码处理和移除BOM字符
...
- 添加assets文件路径的URL解码处理,支持特殊字符
- 添加NoRoute处理器的URL解码
- 移除dashboard.go文件中的BOM字符
- 添加Vite构建配置确保文件名格式正确
2026-05-04 16:06:46 +08:00
admin
16af684a32
fix: 资源加载失败时自动刷新页面
...
- 添加路由错误处理,当动态导入模块失败时自动刷新页面
- 修复 assets 文件不存在时返回 404 错误
2026-05-04 10:54:31 +08:00
admin
9937fbbae2
fix: 安装完成后清除旧的token和user数据
...
- 修复安装完成后点击前往登录时,旧的token导致直接跳转到后台的问题
- 安装完成后清除localStorage中的token和user数据
- 移除调试日志
2026-05-04 09:43:03 +08:00
admin
7ab899b44f
fix: JWT密钥YAML格式和401错误处理
...
- 修复JWT密钥在YAML配置文件中未加引号导致解析错误的问题
- 添加dashboard页面401错误处理,自动清除token并跳转登录页
2026-05-04 09:12:50 +08:00
admin
9262d066bb
fix: JWT密钥同步、地图初始化时序、API中间件错误处理
...
- 修复安装完成后JWT密钥未同步到viper内存的问题
- 修复地图在loading状态时DOM元素不存在导致的初始化错误
- 修复AppCryptoMiddleware中数据库错误时未正确返回错误响应的问题
- 添加数据库未初始化检查
- 移除调试日志输出
2026-05-04 02:22:23 +08:00
admin
9a6c1d5e3c
fix: 移除Clipboard API不支持时显示的错误文案
...
HTTP环境下Clipboard API不可用,隐藏复制按钮而不是显示错误提示
2026-05-03 20:14:58 +08:00
admin
a93bc7dfb7
refactor: 改用router.push并清除路由守卫缓存替代window.location.href
...
- 添加resetInstallCheck()清除安装状态缓存
- 安装完成后调用resetInstallCheck再router.push跳转
- 保持SPA无刷新体验
2026-05-03 19:51:31 +08:00
admin
fbc2e5ac91
fix: 移除所有硬编码的localhost:8080,使用相对路径
...
- 创建utils/config.ts集中管理API_BASE和文件URL
- 删除.env文件(VITE_SERVER_API_URL=http://localhost:8080)
- env.ts默认API前缀改为/api/v1匹配后端路由
- 替换16处硬编码的localhost:8080引用
2026-05-03 19:48:07 +08:00
admin
6d5d1922f5
fix: 安装完成后用window.location.href跳转登录页
...
使用router.push可能被路由守卫拦截或缓存影响,
改用window.location.href强制刷新页面,确保路由守卫
重新检查安装状态并正确加载登录页。
2026-05-03 19:39:05 +08:00
admin
4badc37f94
fix: 安装完成后跳转到/login(非/auth/login)
2026-05-03 19:09:57 +08:00
admin
288f683c0a
refactor: 移除JWT自动生成复选框,输入框留空即自动生成
...
- 删除jwt_auto字段和相关逻辑
- placeholder提示已说明留空则自动生成
2026-05-03 17:46:04 +08:00
admin
ef41235b07
fix: 安装页面API路径重复问题
...
api.ts的BASE_URL=/api/v1,安装页面调用api.get('/api/install/status')
导致实际请求路径为/api/v1/api/install/status(404)。
改为fetch直接请求避免baseURL前缀叠加。
2026-05-03 17:44:17 +08:00
admin
3153dd8838
fix: 添加安装路由,修复环境变量校验和路由守卫
...
- 注册/install路由,安装向导页面可访问
- env.ts: VITE_SERVER_API_URL默认空字符串(相对路径)
- 路由守卫: API失败时默认跳转安装页面
2026-05-03 15:40:23 +08:00
admin
41fe48e128
feat: 添加安装向导功能
...
- 后端:安装状态检测API、数据库连接测试、配置文件生成
- 后端:支持SQLite/MySQL数据库选择
- 后端:JWT密钥自动生成或手动设置
- 前端:安装向导界面(数据库配置、安全配置、管理员账号)
- 前端:路由守卫检测安装状态,未安装自动跳转安装页面
2026-05-03 11:52:34 +08:00
admin
4b36913607
fix: Dockerfile升级Node22、更新pnpm-lockfile修复CI构建失败
2026-05-03 06:12:09 +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
34844870ac
feat: 全球地图、暗黑模式适配、用户总数修复
2026-05-03 05:07:39 +08:00
admin
c653ed071d
refactor: 将 @iconify/vue 图标替换为 lucide-vue-next 本地组件
...
- 所有 lucide: 前缀的图标字符串替换为 lucide-vue-next 组件直接引用
- 动态图标绑定改为 <component :is> 渲染
- h(Icon, { icon: 'lucide:xxx' }) 改为 h(Xxx, { class: ... })
- app-card.vue 的 icon_url 改为 <img> 标签(实际是图片路径)
- 修复 Webhook 标识符冲突(重命名为 WebhookIcon)
- payment-channels 保留 @iconify/vue 用于品牌图标(支付宝、微信、Stripe、PayPal、USDT)
2026-05-03 04:25:34 +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