feat(official): 实现企业官网分包及内容展示
- 新增官方分包目录及页面(首页、资讯列表、详情、关于我们、留言、我的) - 自定义实现底部导航组件 OfficialTabBar,解决微信 tabBar 不支持分包问题 - 统一接口调用走 shop-api 代理,无新增 CMS 域名,减少合法域名负担 - 新增 CMS 站点信息获取接口及留言咨询提交与查询接口 - 设计并完善官网富文本样式,品牌色统一为 #185FA5,并更新 tailwind 配置 - 首页新增企业官网入口卡片,方便用户访问官网内容 - 完成官网分包构建验证,解决 Taro 构建批量删除保护问题 - 规范 CMS 字段使用,适配字段名称及状态含义 - 后续计划对历史页面 NutUI 组件进行空壳化整改,及更新 UI 设计文档
This commit is contained in:
@@ -22,6 +22,17 @@
|
||||
- 用户变更后如需同步 websopy,经 `syncMessageProducer.sendUserSyncMessage("websopy","UPDATE",user)`(在 `UserServiceImpl` 内,`@Autowired(required=false)` 注入)。
|
||||
- 用户相关代码都在 `com.gxwebsoft.common.system`(entity/service/controller),业务应用数据在 `com.gxwebsoft.websopy`(无 Controller)。
|
||||
|
||||
## 官网分包 official(2026-08-11 落地)
|
||||
- 位置 `src/official/`(6 页:index/article/article-detail/about/message/mine)+ `src/official/components/`(OfficialTabBar/ArticleCard/SectionTitle),在 `src/app.config.ts` 的 `subpackages` 中 root=`official`。入口在 `src/pages/index/index.tsx` 搜索栏下的「企业官网」卡片。
|
||||
- 数据层统一从 `@/api/official` 引入(re-export `src/api/cms/*`)。**内容请求走默认 shop-api(`https://shop-api.websoft.top/api`),shop-api 已代理 `/cms` 前缀,不要另配 cms-api 域名**(避免小程序合法域名白名单成本)。租户靠 `TenantId` 请求头。
|
||||
- CMS 字段陷阱:文章封面 `image`(非 cover)、摘要 `overview`(非 summary)、`ARTICLE_STATUS.PUBLISHED = 0`(0 才是已发布);留言内容字段是 `need`(非 content),小程序提交带 `source:'miniapp'`。
|
||||
- 微信原生 tabBar **不支持分包页面**,官网底部导航是自实现的 `OfficialTabBar`(用 `redirectTo`)。
|
||||
- 品牌色统一 token:tailwind `brand` 色阶(600=`#185FA5`)+ `app.scss` 的 `--brand-color/--brand-light`。富文本用 `.official-rich`(定义在 `app.scss`,px 自动转 rpx)。
|
||||
|
||||
## ⚠️ Taro 构建陷阱:dist 清空触发批量删除保护(2026-08-11)
|
||||
`npm run build:weapp` 启动时 Taro 会 `emptyOutputDir` 清空 `dist/`,文件数 >50 会被安全删除守卫中断并抛 `SAFE_DELETE_BULK_CONFIRM_REQUIRED`。
|
||||
**解决**:构建前先 `mv dist /tmp/taro-dist-bak/dist-$(date +%s)`,再执行构建,完成后 `rm -rf /tmp/taro-dist-bak`。
|
||||
|
||||
## ⚠️ Taro 小程序 nutui-react-taro 兼容性陷阱(2026-07-23 确认)
|
||||
|
||||
**问题**:`@nutui/nutui-react-taro@2.7.4` 的 **Cell / Price / Divider / Button** 等展示类组件,内部用 `React.createElement("div", ...)` 构建布局。Taro 4 的 babel/swc 没有把这些 `div` 转成 `view`,而 `dist/base.wxml` 里完全没有 `<div>` 模板,导致这些组件在 weapp 中"空壳化"——外层元素不存在,内层内容(`<div>`)被丢弃。
|
||||
|
||||
Reference in New Issue
Block a user