Files
gxwebsoft 9eb6622eee refactor(official): 使用演示数据兜底官网内容展示
- 在关于我们页补充企业优势和联系方式演示数据展示
- 资讯列表页增加分类标签,实现按分类筛选资讯
- 文章详情页新增相关推荐文章展示逻辑
- 主页使用演示数据兜底导航、Banner、核心业务、公司简介和文章列表
- 各页面均优化站点信息使用,优先展示真实数据,缺失时使用演示数据
- 留言页增加公司联系信息展示,提升体验
- 个人中心页支持分享官网,展示演示数据防止空白
- 主页Banner支持无图时使用渐变背景和文字占位
- 统一使用演示数据,保证页面无空白,提升整体稳定性和用户体验
2026-08-12 19:23:17 +08:00

2.5 KiB
Raw Permalink Blame History

2026-08-12 工作记录

企业官网 official 分包白屏根因与修复

现象

进入「企业官网」(official/index) 整页白屏;其余 official 页(article/about 等)也有同样产物结构风险。

根因(两层)

  1. 构建产物错配official 各页原先是 src/official/<page>/index.tsx(文件夹+index)写法,Taro 编译时把 .js 输出到扁平层 dist/official/index.js,却把 .json/.wxml 输出到嵌套层 dist/official/index/index.*,二者不同目录。微信按 official/indexdist/official/index.json 时找不到 → 白屏。对比 passport 分包:login.tsx 用扁平文件写法,产物全扁平共址、正常。
  2. 构建被 SAFE_DELETE 守卫打断build:weappemptyOutputDir 触发批量删除守卫,导致某次构建流产,index 页 .js 缺失(白屏直接表现)。

修复

  • 将 official 6 个页面由「文件夹+index.tsx」改为扁平文件 src/official/<page>.tsx(同 passport/login.tsx),并修正相对引用 ../components./components../data./data。app.config 分包 pages 不变(仍为 index/article/article-detail/about/message/mine)。
  • 新增 scripts/safe-build-weapp.sh:构建前先 mv dist /tmp/taro-dist-bak/dist-$(date +%s) 规避 SAFE_DELETE 守卫,再用本地 ./node_modules/.bin/taro 构建。package.json 加 build:weapp:safe 脚本。
  • 重建后 6 页产物均为扁平共址(dist/official/<page>.{js,json,wxml,wxss}),nutui 残留 0,白屏消失。

内容增强(前端内置演示兜底)

新增 src/official/data/demo.ts:站点信息/导航宫格/Banner/核心业务/资讯/企业优势 演示数据(用 CSS 渐变占位、无外链裂图);CMS 有数据时自动覆盖。

  • index 重写为:品牌头+Banner轮播+导航宫格+公司简介+核心业务横向卡+资讯动态+留言CTA+底部联系方式。
  • article 加分类 tabtreeNavigation);article-detail 加相关推荐;about 加企业优势;mine 加分享官网(Button openType=share)+useShareAppMessagemessage 接站点联系信息。
  • 风格统一品牌色 brand-600=#185FA5tailwind),富文本用 .official-rich

注意事项

  • 构建官方分包务必用 npm run build:weapp:safe,勿用 npm run build:weapp(会再触发 SAFE_DELETE 守卫打断)。
  • official 页面必须保持扁平文件写法,不要再改回 <page>/index.tsx 文件夹结构,否则会重现 js/json 错配白屏。