Commit Graph

193 Commits

Author SHA1 Message Date
mediabot-pt
6e53e8c014 feat: 生成快照时自动去掉页面URL中的{base}前缀,MediaBot自动补全 2026-07-08 13:20:26 +08:00
mediabot-pt
6de1df9acf fix: 创建新 draft 前先清理旧 draft,避免旧预览版残留导致版本号显示错误
每次 savePreview/updateSnapshot 插入新 draft 前 deleteBySiteIdAndStatus('draft'),确保每站点最多一个预览版
2026-07-07 23:56:46 +08:00
mediabot-pt
b19821bf83 fix: 快照版本号取全表最大+1,修复发布后版本回退到1导致的唯一键冲突
bug: selectLatestDraft 只查 status='draft',发布后 draft→published 查不到,下一版又从 1 开始
fix: selectMaxVersion 查全表 MAX(version),保证单调递增
2026-07-07 23:47:53 +08:00
mediabot-pt
886e2fba70 fix: 适配校验页两个 bug
1. buildSnapshot 改用 selectRecentBySiteId(按updated_at取最新配置),不再依赖 is_latest
   修复:编辑脚本后保存预览版,buildSnapshot 读到旧脚本导致快照生成失败,发布按钮不出现
2. approveConfig 版本号排序改为 CAST(version AS UNSIGNED) 数值排序
   修复:version 是 VARCHAR,字母序导致 '9' > '10',版本号永远过不了 10
2026-07-07 23:33:45 +08:00
mediabot-pt
6e881daeb9 fix: buildSnapshot 放宽有效性检查,页面/规则任一有效即可,不再强制要求脚本
修复场景:仅编辑页面配置时,站点可能尚无脚本,导致保存预览版失败、发布按钮不出现
2026-07-07 23:22:37 +08:00
mediabot-pt
1436f81667 feat: 快照API响应增加顶层version字段,与check接口保持一致 2026-07-07 22:49:03 +08:00
mediabot-pt
dfbedcf09d fix: Qiniu 上传令牌改为 key 作用域,支持覆盖已有文件 2026-07-07 18:16:05 +08:00
mediabot-pt
f2fd0ce2a0 revert: 风险规则不需要默认模板 fallback 2026-07-07 18:04:33 +08:00
mediabot-pt
4bbaa0cd1c fix: buildSnapshot 风险规则补上默认模板 fallback 2026-07-07 18:04:07 +08:00
mediabot-pt
40eea42710 fix: 上传风险规则后同步更新站点快照,解决状态仍显示未发布的问题
1. 后端 RiskRuleServiceImpl:将 updateSnapshotsByType 从异步事件改为同步调用 snapshotService.updateSnapshot
2. 前端 RiskRules.vue:上传按钮成功后调用 fetchSnapshotStatus 刷新状态标签
2026-07-07 17:54:37 +08:00
mediabot-pt
5777a02823 revert: 回退自动删除旧快照的逻辑,保留完整历史版本供人工恢复 2026-07-07 13:24:03 +08:00
mediabot-pt
2c126a6ec5 fix: 保存/发布快照时清理同状态旧记录,每个站点每种状态最多保留一条 2026-07-07 13:23:13 +08:00
mediabot-pt
6505f621d1 feat: 编辑器增加「重置」和「丢弃预览版」按钮,支持回退预览版快照 2026-07-07 13:12:19 +08:00
mediabot-pt
ebfb6395db refactor: 合并三级缓存为统一缓存 + 重命名 saveDraft → savePreview
1. 三个 Caffeine Cache 合并为一个 jsonCache,key 用 :published/:draft 后缀区分
2. saveDraft → savePreview,更准确反映「预览版」语义(非临时草稿)
3. getPreviewBundleJson 去掉独立缓存,直接查 DB(preview 是 draft+published 逻辑并集,缓存意义不大)
4. 前端按钮「保存草稿」→「保存预览版」,API 路径 /save-draft → /save-preview
2026-07-07 11:45:04 +08:00
mediabot-pt
3cc7b932a8 fix: 修复快照两阶段发布方案的缓存一致性和前端问题
1. updateSnapshot() 自动触发生成 draft 后刷新 draft/preview 缓存
2. saveDraft() 同时刷新 previewJsonCache
3. 前端编辑页新增「保存站点」按钮,确保站点基本信息可持久化
4. publishManifest() 兼容 bundle 改用缓存 JSON,避免重复 buildSnapshot
2026-07-07 11:43:06 +08:00
mediabot-pt
e839fe9bba perf: preview查询改为一条SQL(draft优先,无则published),独立preview缓存 2026-07-07 11:39:42 +08:00
mediabot-pt
e15e242153 fix: preview模式改为draft优先fallback到published(正式版+预览版并集) 2026-07-07 11:38:52 +08:00
mediabot-pt
5f58083074 feat: 快照改为预览版/正式版两阶段发布 - 新增 saveDraft 接口手动保存草稿快照 - 新增 getDraftBundleJson 方法读取预览版(Caffeine缓存) - SnapshotController 支持 ?preview=true 参数读取 draft - 前端编辑页改为'保存草稿'+'发布正式版'两个按钮 - AdminController 新增单站点 save-draft/publish 接口 - 复用 populateSnapshotFields 消除重复代码 2026-07-07 11:36:38 +08:00
mediabot-pt
820b180d87 perf: 优化快照接口——缓存预序列化 JSON,消除重复序列化
- Caffeine 缓存改为存储 bundle JSON 字符串而非 SiteSnapshot 对象(减少内存占用)
- 新增 getActiveBundleJson 方法,SnapshotController 直接使用缓存 JSON
- bundle JSON 新增 checksum 字段,ETag 比较无需额外查库
- 删除 SnapshotController.toJson 重复序列化代码
- publish 时复用已序列化的 JSON 上传 CDN
2026-07-07 11:28:28 +08:00
mediabot-pt
9f94b53753 perf: 为 SiteSnapshotService.getActive 增加 Caffeine 本地缓存
- 缓存过期时间 10 分钟,最大 500 条
- publish 时主动刷新缓存,确保最新配置立即可用
- 避免 mediabot 每次请求都查数据库
2026-07-07 11:19:36 +08:00
mediabot-pt
c823878ae0 fix: 解决 ConfigServiceImpl 与 SiteSnapshotServiceImpl 循环依赖
- 移除 SiteSnapshotServiceImpl 对 ConfigService 的依赖,直接使用 SiteConfigMapper
- ConfigServiceImpl/SitePagesServiceImpl/RiskRuleServiceImpl 改用 ApplicationEvent 异步触发快照更新
- 新增 SnapshotUpdateEvent 和 SnapshotUpdateListener
- ParApplication 添加 @EnableAsync 支持异步事件处理
- AdminController 中 updateSnapshot 调用改为发布事件
2026-07-07 11:17:22 +08:00
mediabot-pt
b25aa82c73 重构: 引入 site_snapshots 表统一站点配置快照管理
- 新增 site_snapshots 表 (V16 迁移),统一存储脚本+页面+规则的合并快照
- 新增 SiteSnapshot 实体、Mapper、Service
- 配置变更时自动触发快照更新 (checksum 去重)
- 新增 SnapshotController 提供 /api/v1/snapshots/{siteId} 端点,支持 ETag/304
- 重构 publishManifest 使用快照服务,只发布变更站点
- 保留七牛云 CDN 作为灾备层
- 兼容旧 /bundle 和 /bundles/ 路径
2026-07-07 11:09:52 +08:00
mediabot-pt
223528817e fix: 修复 Admin 权限校验与 GET /api/v1/configs 404 问题 2026-07-07 08:59:39 +08:00
mediabot-pt
a0780c64bb fix: 修复mediabot拉取风险规则失败的三个问题
1. HMAC拦截器跳过GET请求,mediabot拉取规则不再被401拦截
2. findByIdentifier增加site_type回退查找,兼容按site_type查询
3. saveRules自动填充site_type字段,从站点表获取
4. GET接口version参数支持非数字值如latest
2026-07-07 00:33:46 +08:00
mediabot-pt
15a3c381d0 fix: 修复risk_rules表site_type字段无默认值导致插入失败问题 2026-07-07 00:19:01 +08:00
mediabot-pt
64de9a0284 fix: 将迁移脚本中的SELECT替换为DO 0以避免Flyway处理结果集问题 2026-07-07 00:10:09 +08:00
mediabot-pt
83441e5a96 fix: 修复V15迁移脚本CREATE INDEX IF NOT EXISTS语法错误 2026-07-07 00:06:55 +08:00
mediabot-pt
c34eaed59b fix: 修复V15迁移脚本MySQL语法错误,移除不支持的IF NOT EXISTS语法 2026-07-06 23:59:15 +08:00
mediabot-pt
0b0dcb4f04 refactor: use only siteId for risk rule storage, drop type-level fallback 2026-07-06 23:52:30 +08:00
mediabot-pt
5a7b218944 fix: store risk rules per siteId instead of shared siteType 2026-07-06 23:50:23 +08:00
mediabot-pt
355f586086 fix: WebConfig HMAC 拦截器排除 GET pages/version 端点公开访问 2026-07-06 12:55:32 +08:00
mediabot-pt
02b7278c8c remove-authvalue-from-page-config 2026-07-06 12:15:40 +08:00
mediabot-pt
7042149a13 fix-page-config-reload-empty 2026-07-06 12:14:38 +08:00
mediabot-pt
f9caee68ed feat: 脚本添加parseDetail独立入口,parseDetailPage扩展提取促销信息和豆瓣链接 2026-07-06 10:03:44 +08:00
mediabot-pt
722b4fcf1d feat: 脚本parseRss改为实际解析RSS XML,返回items列表 2026-07-06 09:30:35 +08:00
mediabot-pt
f0cc2ad4c0 feat: PageKey增加RSS,默认脚本模板增加parseRss方法 2026-07-06 09:23:27 +08:00
mediabot-pt
b4291dd357 refactor: detail仅作子请求不设独立脚本入口 2026-07-06 08:50:41 +08:00
mediabot-pt
821f0b909d feat: 页面配置增加authType认证方式(NONE/COOKIE/TOKEN/BASIC/API_KEY) 2026-07-06 01:26:09 +08:00
mediabot-pt
171fd81e72 refactor: PageKey精简为5个(sync/signIn/search/detail/download) 2026-07-06 01:01:28 +08:00
mediabot-pt
18b045b4ba feat: 页面配置key改为枚举下拉框+自动填method 2026-07-06 01:00:30 +08:00
mediabot-pt
4c751b6586 feat: 默认脚本版本号管理+每次上传递增 2026-07-05 23:55:51 +08:00
mediabot-pt
25df4203d7 feat: 默认脚本分保存本地和上传七牛云两个按钮 2026-07-05 23:46:17 +08:00
mediabot-pt
13ac266627 fix: 默认脚本保存改为CachedStorageService(七牛云+本地缓存) 2026-07-05 23:39:59 +08:00
mediabot-pt
bac0d79c5a fix: ConfigServiceImpl构造器补versionService参数 2026-07-05 22:14:33 +08:00
mediabot-pt
07ba2184b8 fix: 补import ManifestVersionService 2026-07-05 22:11:30 +08:00
mediabot-pt
f493d52b5f feat: 每站点独立版本号+总版本=SUM+规则变更同步所有同类型站点 2026-07-05 22:06:11 +08:00
mediabot-pt
8a2f6144a7 feat: Manifest全局版本号(站点/页面/规则/脚本任一变则递增) 2026-07-05 22:05:00 +08:00
mediabot-pt
3f5ea6c4da fix: V15迁移改为FlywayConfig直接执行SQL避免扫描问题 2026-07-05 21:47:46 +08:00
mediabot-pt
a560ade64c fix: Flyway版本号V3→V15匹配当前Schema版本 2026-07-05 21:43:04 +08:00
mediabot-pt
6fb52758c2 feat: Flyway V3迁移(tags列+site_pages+risk_rules表) 2026-07-05 21:38:00 +08:00