# B2B Trade 2.1.0 清理记录 本文记录 2.1.0 已执行的清理和必须保留的兼容边界,后续维护不得重新引入已删除的运行路径。 ## 已完成 ### 联系流程 - 联系页只展示联系方式、营业时间和地图导航。 - 不注册前端提交处理、邮件发送、成功/失败状态或防重放字段。 - 服务入口统一跳转 `/contact/`,不拼接服务查询参数。 - 旧的附加查询参数不会影响页面访问,但主题不消费它。 ### 前端依赖 - Bootstrap 5.3.8 固定在 `assets/vendor/bootstrap/`,包含 CSS、bundle JS 和许可证。 - `theme.js` 使用原生 DOM API。 - 外部视频只在新标签页打开,不解析视频域名、不生成 iframe。 - 字体使用系统英文/中文字体栈。 - 删除无消费者的通用重置包、弹窗样式与脚本聚合文件。 ### 数据与初始化 - 初始化由 `fragrance_trade_schema_version` 控制。 - 7 个默认服务来自 `fragrance_trade_service_seeds()`,种子标识写入 `_fragrance_seed_key`。 - 写入失败会记录后台错误,当前迁移版本不会推进。 - 约定页面会复用已有内容和状态,只补齐页面模板。 - 用户已有的非发布页面不会被自动发布或恢复。 - 旧产品外观设置仅在旧站迁移时读取。 ### 资源与样式 - 删除 7 张未被模板引用的旧产品位图。 - 删除未引用的 Logo 占位图。 - 保留汽车贴膜服务、门店、视频和案例的中性 SVG 占位图。 - 删除没有 PHP 或 JS 消费者的质量、流程、项目和定制板块配置与 CSS。 - 首页两个展示查询使用 `no_found_rows`。 - 默认值数组在单次请求内缓存。 ### 安全与直接访问 - 所有主题 PHP 入口、模块和模板片段均检查 `ABSPATH`。 - 输出 URL、属性、纯文本和富文本继续按上下文转义。 - 视频新窗口链接使用 `noopener noreferrer`。 - 地图链接优先使用 `store_map_url`,否则仅根据非空地址生成。 ## 保留的兼容接口 - 文本域:`fragrance-trade` - PHP 函数前缀:`fragrance_trade_` - CSS 前缀:`b2b-` - 地图设置键:`store_map_url` - 服务旧图片元数据:`_service_image` - 旧安装识别选项:`fragrance_trade_setup_done` 这些标识符涉及已有站点数据或第三方定制,未经正式迁移方案不得全局改名或删除。 ## 后续资源替换原则 - 运营图片应通过特色图片或外观配置上传,不写入主题默认数据。 - 默认主题包只提供中性占位素材。 - 新前端依赖必须本地打包、记录版本与许可证,并经过无外部请求扫描。 - 开发验证工具不应作为主题运行依赖进入生产请求路径。