diff --git a/generate_update_manifest.py b/generate_update_manifest.py index 9515487..a96014f 100644 --- a/generate_update_manifest.py +++ b/generate_update_manifest.py @@ -59,9 +59,11 @@ EXCLUDED_DIR_NAMES = { 'nginx', 'node_modules', 'qr_screenshots', + 'tests', 'trajectory_history', 'update_backup', 'uploads', + 'userscripts', 'venv', } @@ -119,6 +121,9 @@ def is_excluded_path(relative_path: Path) -> bool: if relative_path.name in EXCLUDED_FILE_NAMES: return True + if relative_path.suffix.lower() == '.html' and 'preview' in relative_path.stem.lower(): + return True + return any(part in EXCLUDED_DIR_NAMES for part in relative_path.parts) @@ -248,6 +253,11 @@ def extract_manifest_paths(entries: List[Any]) -> Set[str]: return paths +def should_include_deleted_path(path: str) -> bool: + """判断删除清单中是否应包含该路径""" + return not is_excluded_path(Path(normalize_manifest_path(path))) + + def build_deleted_files(current_paths: Set[str], previous_manifest: Optional[Dict[str, Any]]) -> List[Dict[str, Any]]: """基于历史 manifest 生成累积删除列表""" if not previous_manifest: @@ -255,7 +265,8 @@ def build_deleted_files(current_paths: Set[str], previous_manifest: Optional[Dic previous_paths = extract_manifest_paths(previous_manifest.get('files', [])) historical_deleted_paths = extract_manifest_paths(previous_manifest.get('deleted_files', [])) - deleted_paths = sorted((historical_deleted_paths | (previous_paths - current_paths)) - current_paths) + candidate_deleted_paths = (historical_deleted_paths | (previous_paths - current_paths)) - current_paths + deleted_paths = sorted(path for path in candidate_deleted_paths if should_include_deleted_path(path)) return [ { diff --git a/static/js/app.js b/static/js/app.js index 9c1f501..c9427fa 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -19362,7 +19362,7 @@ function exportSearchResults() { // 默认版本号(当无法读取 version.txt 时使用) -const DEFAULT_VERSION = 'v2.0.0'; +const DEFAULT_VERSION = 'v2.0.1'; // 当前本地版本号(动态从 version.txt 读取) let LOCAL_VERSION = DEFAULT_VERSION; @@ -19473,9 +19473,22 @@ function clearIgnoredUpdateVersion(showFeedback = true) { // 本地版本历史(远程服务禁用时使用) const LOCAL_VERSION_HISTORY = { - version: 'v2.0.0', + version: 'v2.0.1', intro: '本系统仅供个人学习研究使用,请勿用于商业用途。如有问题或建议,欢迎反馈。', versionHistory: [ + { + version: 'v2.0.1', + date: '2026-05-28', + updates: [ + '【新功能】新增商品发布素材管理与批量发布能力,支持素材集中维护并批量执行发布任务', + '【新功能】新增历史订单补评价与自动求小红花流程,补齐订单售后运营自动化能力', + '【新功能】新增统一任务日志中心,集中查看任务执行日志并提升排查效率', + '【优化】仪表盘公告卡片支持摘要展示并优化卡片布局,同时允许关闭公告提示', + '【修复】修复在线客服 Web 端自发消息不显示、消息时间 UTC 偏移和系统文案污染买家昵称等问题', + '【修复】修复滑块验证后 _m_h5_tk 域名落点导致 Token 刷新非法请求,账密登录后优先快照 goofish 域 Token', + '【修复】修复自动评价接口调用链路,改为本地评价接口并补齐补评任务', + ] + }, { version: 'v2.0.0', date: '2026-05-19', diff --git a/static/update_log.txt b/static/update_log.txt index a577ed3..0947c56 100644 --- a/static/update_log.txt +++ b/static/update_log.txt @@ -1,3 +1,12 @@ +'🎉1.发布 v2.0.1:新增商品发布素材管理与批量发布、历史订单补评价、自动求小红花和统一任务日志中心,并补齐客服、滑块、自动评价等稳定性修复;', +'🎉2.新增商品发布素材管理与批量发布:支持素材集中维护并批量执行发布任务,提升商品运营效率;', +'🎉3.新增历史订单补评价:支持对历史订单进行自动补评价,完善订单评价闭环;', +'🎉4.新增自动求小红花流程:补齐评价后的求小红花自动化能力,减少人工重复操作;', +'🎉5.新增统一任务日志中心:集中查看任务执行日志,便于排查批量任务和自动化流程状态;', +'⚡6.优化公告卡片:仪表盘公告支持 summary 摘要展示、卡片布局优化,并允许关闭提示;', +'🔧7.修复在线客服显示问题:修复 Web 端自发消息不显示、消息时间显示为 UTC、系统文案污染买家昵称等问题;', +'🔧8.修复滑块与 Token 链路:滑块通过后避免 _m_h5_tk 落到 taobao 域导致刷新非法请求,账密登录后优先快照 goofish 域 Token;', +'🔧9.修复自动评价链路:改为本地评价接口并补齐补评任务,提升评价任务稳定性;', '🎉1.发布 v2.0.0:大版本升级,新增商品发布、在线客服、聊天会话持久化、历史订单同步增强,并重构登录、扫码、滑块验证与 Token 刷新链路;', '🎉2.新增商品发布能力:支持商品发布相关接口、页面与发布工具模块,补齐商品运营流程;', '🎉3.新增在线客服三栏界面:支持会话列表、消息流、账号上下文与实时消息展示,客服处理更集中;', diff --git a/static/version.txt b/static/version.txt index 46b105a..0ac852d 100644 --- a/static/version.txt +++ b/static/version.txt @@ -1 +1 @@ -v2.0.0 +v2.0.1