Commit Graph

146 Commits

Author SHA1 Message Date
admin 3b4b0ac1e3 fix: 修复版本更新时字段未正确保存的问题 2026-05-08 21:16:17 +08:00
admin bc562e04dc fix: 修复版本管理状态判断和编辑页面数据加载问题 2026-05-08 20:53:24 +08:00
admin a3ebcd3486 修复公告管理页面 filteredAnnouncements 未定义错误 2026-05-08 20:19:49 +08:00
admin 9dab88916b 添加空值检查防止 undefined 错误 2026-05-08 20:07:47 +08:00
admin bacb18b8db 修复英文状态下地图 tooltip 显示中文名称的问题 2026-05-08 19:57:54 +08:00
admin 49fef6c91f 移除多余的 watch,添加地图中英文切换支持 2026-05-08 19:45:39 +08:00
admin 5d9f0c8aff 修复地图中文显示:数据名称和 nameMap 都使用中文匹配 2026-05-08 19:37:34 +08:00
admin e52e06c0b0 修复地图数据匹配问题:移除 nameMap 配置,使用英文名称匹配数据 2026-05-08 19:30:18 +08:00
admin 1a0a49a2bd 添加 provinces 数据变化监听,确保地图数据更新 2026-05-08 19:14:51 +08:00
admin 187e9deb71 修复地图初始化时 echarts 模块导入问题 2026-05-08 19:02:02 +08:00
admin 441eeb03a7 修复首页地图显示问题和版本管理页面错误 2026-05-08 18:44:04 +08:00
admin cbeca8fbf1 修复世界地图不显示的问题
- 将地图配置从 geo + geoIndex 改为直接在 series 中使用 map: 'world'
- nameMap 放在 series 中,避免 geo.nameMap 导致的名称匹配失败
- 工具提示中动态翻译国家名称显示中文
2026-05-08 16:55:06 +08:00
admin 01ca9e3df1 重构版本状态为动态计算
- 状态不再写入数据库,改为查询时动态计算
- 每个应用的最新版 = 有效, 旧版 = 已失效
- 移除后端 status 筛选参数
- 移除前端 status 筛选器
- 移除编辑页的状态手动编辑
- 移除创建版本时自动更新旧版本状态的逻辑
2026-05-08 16:40:02 +08:00
admin e2ebb6e46e 版本管理全面增强:状态、补丁更新、热更新
1. 自动状态管理
   - 新增版本自动标记状态:最新版本为'有效',旧版本自动标记为'已失效'
   - 前端列表页新增状态列和状态筛选

2. 更新方式升级
   - 更新方式从手动/自动改为:手动更新/热更新/完整更新
   - 热更新:运行时增量替换文件,无需重启
   - 完整更新:下载完整包替换,需重启

3. 补丁更新支持
   - 新增 base_version_id 字段支持增量补丁
   - 创建版本时可选择基础版本,自动识别为补丁模式
   - 补丁模式仅上传变更文件

4. ZIP解析上传(已有功能完善)
   - 上传ZIP自动解析文件列表
   - 支持选择入口文件

5. 国际化完善
   - 中英文新增状态、更新方式等翻译
2026-05-08 16:21:35 +08:00
admin ecf54d3e3f 修复仪表板用户分布统计:改用AppUser统计用户数而非设备数 2026-05-08 16:06:34 +08:00
admin 5e79955428 修复用户分布地图显示问题
- 修改后端返回正确的国家英文名称(China)以匹配世界地图
- 正确计算在线/离线设备数量
- 确保数据一致性:总数 = 在线 + 离线
2026-05-08 15:58:18 +08:00
admin 3a734e6dad 修复控制台首页的两个问题
1. 修复用户分布显示问题:
   - 后端添加 online 和 offline 字段到用户分布数据
   - 确保前端能正确显示在线和离线用户数

2. 修复 ECharts 初始化报错:
   - 添加 DOM 元素存在性检查
   - 添加异步加载时的卸载检查
   - 在重新初始化前清理旧实例
   - 防止页面切换时的空指针错误
2026-05-08 15:34:00 +08:00
admin 63cc2f80b3 修复编译错误:添加strings包导入和修复时间类型转换
- announcements.go: 添加strings包导入
- devices.go: 添加strings包导入
- cloud.go: 修复CreatedAt时间类型转换为字符串
2026-05-08 15:08:51 +08:00
admin dde179a896 修复工单、日志、卡密管理页面的分页和筛选功能
- 工单管理:后端添加分页和筛选支持(status, priority, type, 日期范围)
- 日志管理:前端使用服务端分页和筛选(后端已支持)
- 卡密管理:前端使用服务端分页和筛选(后端已支持)
- 所有页面移除前端筛选逻辑,改为服务端筛选
- 修复分页总数与筛选数据不匹配的问题
- 添加watch监听筛选条件变化,自动刷新数据
2026-05-08 14:45:38 +08:00
admin d0ef52ab4f 优化分页和筛选功能:实现服务端分页和筛选,修复总数不匹配问题
- 优化设备管理、版本管理、用户管理、在线实例、公告管理页面的分页功能
- 后端添加筛选参数支持(application_id, status, type, search等)
- 前端移除冗余的前端筛选逻辑,改为服务端筛选
- 修复分页总数与筛选数据不匹配的问题
- 优化云端变量记录页面的时间筛选和搜索功能
- 修复DateTimePicker组件关闭后不自动更新的问题
2026-05-08 13:45:21 +08:00
admin 4c060c494d fix: 修复记录筛选不生效和avatar资源报错
- 添加dateRange的deep watcher,日期变化时自动重新查询
- 修复快捷日期按钮(今天/近7天/本月)设置后未触发查询的问题
- 移除不存在的avatars/admin.jpg默认头像,改用空字符串使用fallback
2026-05-08 11:09:02 +08:00
admin c31c7a88bd fix: 云端变量记录页面筛选改用DateTimePicker组件,对齐财务页面样式
- 日期选择器从原生input[type=date]改为DateTimePicker组件(带日历和时间选择)
- 添加快捷日期按钮:今天/近7天/本月
- 日期范围使用dateRange对象(from/to)替代独立的startDate/endDate
- 搜索按钮移除,搜索框回车触发
2026-05-08 10:10:18 +08:00
admin 29fb448d04 fix: 优化云端变量记录页面样式,对齐其他表格页面
- 移除ID列的font-mono text-xs样式,改用与其他页面一致的truncate样式
- 移除toolbar顶部多余的批量删除按钮,只保留BulkActions组件内的
- 搜索框和日期选择器尺寸对齐其他页面(h-8)
- 日期格式化对齐其他页面(zh-CN格式)
- 动态字段值显示改用truncate+title,替代pre标签
- 移除raw_data调试字段和诊断卡片
2026-05-08 09:31:47 +08:00
admin 375fd46224 fix: 修复云端变量记录data为null的问题
- 后端: handleAddRecord增加recordData nil检查,避免存入null
- 后端: 记录读取改用interface{}替代map[string]interface{}解析JSON
- 后端: JSON解析失败时回退返回原始字符串
- 后端: API返回raw_data字段暴露数据库原始数据用于诊断
- 后端: app/cloud.go同步修复同样的JSON解析问题
- 前端: parseRecordData增加raw_data回退解析
- 前端: 添加数据诊断卡片显示原始数据结构
2026-05-08 02:31:15 +08:00
admin e1578f299e debug: add detailed logs for dynamicKeys computation 2026-05-08 01:11:37 +08:00
admin 51447e9221 debug: add console logs to check record data structure 2026-05-08 00:57:19 +08:00
admin ee7f58a4dc fix: add missing viewRecords i18n key for cloudVariables in zh.json 2026-05-08 00:48:03 +08:00
admin 2dafef9f33 fix: parse JSON string data in cloud variable records
- Add parseRecordData function to handle data that may be JSON string
- Update dynamicKeys computation to use parsed data
- Update column cell rendering to use parsed data
- Fixes issue where record fields were not displayed as separate columns
2026-05-08 00:43:02 +08:00
admin de2c455e79 refactor: improve cloud variable records page with standard DataTable layout
- Add statistics cards (total records, variable key, max records, scope)
- Use standard DataTable component with toolbar template
- Add BulkActions component for batch operations
- Add DataTableViewOptions for column visibility control
- Dynamic columns are generated from record data fields
- Add missing i18n keys (totalRecords, maxRecordsLabel, unlimited)
- Match styling with other admin data table pages
2026-05-07 23:40:14 +08:00
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 48889a1c90 perf: 优化上传文件缓存策略
- 上传新文件时删除同类型旧文件,避免文件堆积
- 文件名带时间戳,每次上传生成新 URL
- 缓存时间设为 1 年 + immutable,文件更新后 URL 变化自动重新请求
2026-05-07 14:12:45 +08:00
admin 4ffb7c0071 perf: 为 /uploads 静态资源添加缓存控制
- 设置 Cache-Control: public, max-age=3600 (缓存 1 小时)
- 减少 logo、favicon 等上传文件的重复请求
2026-05-07 14:04:20 +08:00
admin f290b81700 perf: 优化 Dashboard 接口性能,并行执行数据库查询
- 使用 goroutine 并行执行 8 个数据库查询
- 将串行查询改为并行,显著减少响应时间
- 使用 sync.WaitGroup 和 sync.Mutex 保证线程安全
2026-05-07 13:58:28 +08:00
admin 8161a3f75f perf: 优化路由守卫安装检查,使用 localStorage 缓存
- 将安装状态缓存到 localStorage,有效期 24 小时
- 避免每次路由切换都发起 HTTP 请求
- 显著提升页面切换速度
2026-05-07 13:27:13 +08:00
admin 8811511ff8 refactor: 删除未实现的 call-function API
- 该功能与 dynamic-code/:key/execute 重复
- 保持代码整洁,移除无用代码
2026-05-07 13:22:43 +08:00
admin c1a9532456 fix: 修复风控规则表格不显示数据的问题
- 修改 generateVueTable 调用方式,使用 getter 函数传递 data 和 loading
- 确保表格数据响应式更新
2026-05-07 13:17:58 +08:00
admin 6bdffcd90f fix: 云端函数区分当前用户和目标用户
- user 始终为当前登录用户(从 token 获取)
- 新增 targetUser 变量,当请求参数指定 user_id 时注入
- 同时注入 targetSubscription、targetUserVariables、targetDevices
2026-05-07 13:15:23 +08:00
admin 551eff2f60 fix: 云端函数默认注入当前登录用户信息
- 当请求参数未指定 user_id 时,使用 token 中的用户 ID
- 确保 user、subscription、devices 等变量始终有值
2026-05-07 13:13:18 +08:00
admin e019f6a55c fix: 移除云端函数HTTP客户端硬编码代理
- 将硬编码的代理地址改为从环境变量读取
- 使用 http.ProxyFromEnvironment 让代理配置更灵活
- 服务器环境不设置代理环境变量即可直连
2026-05-07 12:39:33 +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 8c48c002d3 fix: 修复设备列表API的Count查询导致Find失败的问题 2026-05-07 09:39:53 +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