Commit Graph

19 Commits

Author SHA1 Message Date
admin c755587a4d feat: 完善版本管理功能
后端改进:
- 新增版本发布状态管理 (draft/published/deprecated/superseded)
- 新增发布/废弃/回滚 API 接口
- 新增增量包生成功能 (仅包含差异文件)
- 新增删除版本时的依赖检查
- 数据库字段: publish_status, superseded_by, delta_package_*

前端改进:
- 版本列表新增发布状态列和增量包大小列
- 新增发布/废弃/回滚操作按钮
- 新增增量包下载功能
- 更新国际化翻译

修复:
- 修复 announcements 页面 typeOptions 未定义问题
- 修复 echarts 模块导入类型问题

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 20:31:52 +08:00
admin c3e44c74da fix: fallback to FilePath when FullPackagePath is empty
When old versions don't have full_package_path set, use file_path instead

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 18:32:03 +08:00
admin 93f1e899fc refactor: simplify to maintain only one latest full package per app
- Remove per-version full package storage
- Remove RegenerateDependentVersions logic
- Only generate full package for the latest version
- Simplify package_util.go

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 12:58:43 +08:00
admin a17938c000 feat: regenerate dependent versions after deletion
- Add RegenerateFullPackage function to rebuild single version's full package
- Add RegenerateDependentVersions function to handle cascade regeneration
- Call regeneration after deleting versions
- Each version maintains its own full package independently

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 12:10:30 +08:00
admin 551f4f1576 feat: auto-generate full package when uploading patch
- Add FullPackagePath, FullPackageSize, FullPackageHash to Version model
- When uploading patch, merge with base full package to create new full package
- Check update API returns full package info for download
- Add package_util.go with merge functions

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 11:43:58 +08:00
admin fd98c0dcc4 feat: delete old file when updating version with new file
If file_path is different from existing file, remove the old file

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 10:09:23 +08:00
admin 8cb867e65b fix: save file info when updating version
- Add file_path, file_size, file_hash, entry_file to UpdateVersionRequest
- Update these fields when saving version changes
- Update originalUploadedData after successful save

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 09:25:39 +08:00
admin 0a20892f94 fix: calculate total file size on backend instead of frontend
- Backend returns total_size for all matching versions
- Frontend uses backend's total_size instead of computing from current page

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 00:11:33 +08:00
admin 53fd9ff7dc feat: add custom download URL for manual update method
- Add custom_download_url field to Version model
- Show custom download URL input when update method is 'manual'
- Use platform default URL if custom URL is not set
- Add i18n translations for new field

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 16:06:48 +08:00
admin 3cbb607ff3 修复所有分页页面统计从当前页计算的问题,改为服务端统计 2026-05-10 07:04:22 +08:00
admin 65fa7146e8 refactor: 拆分更新类型(全量/补丁)和更新方式(自动/手动),移除force_update字段 2026-05-08 23:34:14 +08:00
admin de0de10b8d refactor: 移除min_version/base_version_id,后端自动确定基础版本 2026-05-08 23:17:53 +08:00
admin 48ec0f97f7 fix: 状态列根据是否有更新的强制版本判断生效/失效 2026-05-08 22:54:38 +08:00
admin 426290e299 fix: 添加调试日志排查版本更新不生效问题 2026-05-08 21:34:22 +08:00
admin 3b4b0ac1e3 fix: 修复版本更新时字段未正确保存的问题 2026-05-08 21:16:17 +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 d0ef52ab4f 优化分页和筛选功能:实现服务端分页和筛选,修复总数不匹配问题
- 优化设备管理、版本管理、用户管理、在线实例、公告管理页面的分页功能
- 后端添加筛选参数支持(application_id, status, type, search等)
- 前端移除冗余的前端筛选逻辑,改为服务端筛选
- 修复分页总数与筛选数据不匹配的问题
- 优化云端变量记录页面的时间筛选和搜索功能
- 修复DateTimePicker组件关闭后不自动更新的问题
2026-05-08 13:45:21 +08:00
admin ea8ffb6c74 fix: 订阅模式登录验证、永久会员类型区分、动态代码HTTP返回值修复、侧边栏滚动位置保持
- 修复订阅模式登录时错误检查余额的问题
- 区分无限余额和永久订阅两种永久会员类型
- 修复动态代码HTTP请求返回值在JS中无法正确访问的问题
- 添加侧边栏滚动位置保持功能
- 移除developer角色相关代码,统一使用admin
- 添加缺失的i18n翻译key
2026-05-01 16:39:31 +08:00