媒塔CMS 的内容页与栏目页批量生成模块迎来 v3.1.2 版本更新,围绕稳定性、可控性、内容筛选、分表兼容、性能五个方向做了系统性改造。
新增"暂停生成"按钮
以往开始生成后只能等它跑完或点重置,中间没有"刹一脚"的选项。v3.1.2 在"开始生成"与"继续生成"之间新增橙色"暂停生成"按钮:点击即中断当前请求、清空所有轮询定时器,已生成计数与进度完整保留,随后可点"继续生成"从断点无缝续跑。暂停期间即便有请求在飞行,响应也会被识别丢弃,不污染进度。
"继续生成"断网无法恢复:彻底修复
这是反馈最集中的 bug。根因有三:重试计数 silentRetryCount 达到上限后未清零,点继续带着满额失败计数重新出发,稍一闪失立刻又中断;生成标志 isGenerating 在部分分支未归位,导致继续按钮被入口判断直接忽略;标签页后台节流后无恢复机制。修复方式:点击继续时统一重置三个状态变量,成功回调即清零,中断分支自清零,并新增 visibilitychange(老 IE 用 focus 兜底)感知——回到前台若发现因错误暂停,自动提示可继续。
网络正常却频繁闪"波动 1/5":源头治理
这是一条"自伤"链路:正常轮询时入口会 abort() 上一个已完成却未置空的请求,部分浏览器对已 settle 的请求再次 abort 会抛 AbortError,被误判为网络错误。修复分三层:网络工具层增加 settled 标志与 isAbortError(),已 settle 请求 abort 变空操作、主动取消静默忽略;业务层请求 settle 即置空 currentRequest;重试降噪,第 1 次失败静默不提示,从第 2 次起才显示。
三个列表标签新增"仅含图"参数
[n:news](第 10 参)、[n:hot](第 12 参)、[n:list](第 13 参)统一新增 only_image 参数,1 时只显示正文含 <img 的文章。坚持默认零开销:不开启 SQL 不变,开启才追加 content LIKE '%<img%',[n:list] 中该条件自动同步到 count、全量加载、分页三处查询,分页总数始终一致。
分表架构全面兼容
新增字段一致性检测,tj 字段缺失时自动跳过推荐过滤而非整条 SQL 失败;多表 UNION 时按公共字段白名单 SELECT,避免某表缺字段导致查询崩溃;自动检测并创建 class_id 索引。
性能优化
栏目、模板全量预热缓存,栏目链、子孙、扩展名、模板解析全部 O(1) 内存命中;列表标签 ≤5000 条时全量加载分页缓存,翻页不重复查库;单表 FROM 路径零额外查询。
升级须知
新增参数位于末尾,旧模板不传即为默认值,完全向后兼容。暂停功能纯前端控制,后端零改动,升级即可用。
最直观的变化是:断网能救回来、生成能暂停、网络正常不再误报、列表能筛图、分表不崩、跑得更快。
本网声明:三亚网发布此文仅出于信息分享,并非赞同其观点或证实其描述,不承担侵权行为的连带责任。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。版权归原作者所有,如涉版权或来源标注有误,请联系我们删除。本网原创内容未经书面授权,任何单位或个人不得转载和摘编。

