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

26 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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/index``dist/official/index.json` 时找不到 → 白屏。对比 passport 分包:`login.tsx` 用扁平文件写法,产物全扁平共址、正常。
2. **构建被 SAFE_DELETE 守卫打断**`build:weapp``emptyOutputDir` 触发批量删除守卫,导致某次构建流产,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=#185FA5`tailwind),富文本用 `.official-rich`
### 注意事项
- 构建官方分包务必用 `npm run build:weapp:safe`,勿用 `npm run build:weapp`(会再触发 SAFE_DELETE 守卫打断)。
- official 页面必须保持**扁平文件**写法,不要再改回 `<page>/index.tsx` 文件夹结构,否则会重现 js/json 错配白屏。