Files
websopy-taro/.workbuddy/memory/2026-08-11.md
T
gxwebsoft 2e80a49ca1 feat(official): 实现企业官网分包及内容展示
- 新增官方分包目录及页面(首页、资讯列表、详情、关于我们、留言、我的)
- 自定义实现底部导航组件 OfficialTabBar,解决微信 tabBar 不支持分包问题
- 统一接口调用走 shop-api 代理,无新增 CMS 域名,减少合法域名负担
- 新增 CMS 站点信息获取接口及留言咨询提交与查询接口
- 设计并完善官网富文本样式,品牌色统一为 #185FA5,并更新 tailwind 配置
- 首页新增企业官网入口卡片,方便用户访问官网内容
- 完成官网分包构建验证,解决 Taro 构建批量删除保护问题
- 规范 CMS 字段使用,适配字段名称及状态含义
- 后续计划对历史页面 NutUI 组件进行空壳化整改,及更新 UI 设计文档
2026-08-11 08:48:16 +08:00

42 lines
4.0 KiB
Markdown
Raw 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-11 工作记录
## 小程序/产品矩阵规划讨论(仅探讨,未改代码)
- 用户产品矩阵:①企业官网(website-admin 后台,Nuxt SaaS 建站)②小程序商城(websopy-taro 电商)③其他管理系统。
- 结论建议(待用户确认):按**受众+载体**分层,而非按功能拆分。
- C端消费者(看/买):官网展示 + 商城 → **合并为「一个品牌小程序」**,用分包(官网/商城/用户中心)隔离,共享登录/购物车/会员。
- B端管理(企业主/运营):官网后台 + 其他管理系统 → **统一 Web 管理门户(SSO**,不做小程序。
- B端移动(商家版):暂缓,验证需求后再建独立 AppID 小程序,不并入 C 端。
- 已产出:规划文档 `.workbuddy/miniprogram-ui-plan.md`、官网展示型小程序原型(4屏 mockup)、产品矩阵分层架构图。
- 待确认:落地路径(独立官网小程序 / websopy-taro 加分包 / 仅 CMS 展示层)及上述产品矩阵方向。
## 官网分包(official)落地实现 —— 已完成并构建通过
用户确认方向后,在 websopy-taro 内新增 `official` 分包实现企业官网展示端,并对接真实 CMS 内容。
### 目录与文件(新增 12 个)
- 页面 `src/official/``index`(首页:品牌栏+Banner轮播+栏目宫格+资讯动态+留言CTA)、`article`(资讯列表,滚动分页+categoryId筛选)、`article-detail`RichText 详情)、`about`(关于我们)、`message`(留言表单)、`mine`(我的)。
- 组件 `src/official/components/``OfficialTabBar`(自实现底部导航,redirectTo 切换)、`ArticleCard``SectionTitle`
- 数据层:`src/api/official/index.ts`(统一出口,re-export `src/api/cms/*`)、`src/api/cms/cmsContactLead/{index.ts,model/index.ts}`
### 修改(5 处)
- `src/api/cms/cmsWebsite/index.ts`:新增 `getCmsWebsiteSiteInfo()` → GET `/cms/cms-website/getSiteInfo`
- `src/app.config.ts`subpackages 增加 `{root:'official', pages:[index,article,article-detail,about,message,mine]}`
- `tailwind.config.js`:新增 `brand` 色阶(600=#185FA5)。
- `src/app.scss``:root``--brand-color/--brand-light`;新增 `.official-rich` 富文本样式(img/p/h1-h4/ul/blockquote/table 等,px 自动转 rpx,已验证打进 app-origin.wxss)。
- `src/pages/index/index.tsx`:搜索栏下方新增「企业官网」入口卡片 → `/official/index`
### 关键技术决策
- **请求链路复用默认 shop-api**:原本打算给官网单配 `CMS_API_BASE` 直连 `cms-api.websoft.top`,但发现现有 `listCmsAd`/`listCmsArticle` 走默认 `https://shop-api.websoft.top/api` 且线上可用 → 说明 shop-api 已代理 `/cms`,**不新增域名**(避免小程序 request 合法域名白名单问题)。租户靠 `TenantId` 请求头(config/app.ts 当前 TenantId='5')。
- **微信 tabBar 不支持分包页** → 用 `OfficialTabBar` 自实现(redirectTo)。
- **规避 NutUI weapp 空壳化**:官网 6 页全部用 Taro 原生组件 + 自定义组件,构建产物 grep `nut-cell|nut-price|nut-divider` = 0。
- CMS 字段陷阱(已按此实现):文章封面 `image` 非 cover、摘要 `overview` 非 summary`ARTICLE_STATUS.PUBLISHED = 0`;留言字段是 `need` 非 content,提交带 `source:'miniapp'`
### 构建验证
- `npm run build:weapp``✔ Webpack Compiled successfully in 20.06s`Exit 0。
- 产物 `dist/official/` 6 页齐全,分包体积 80K。
- ⚠️ 坑:Taro 构建前清空 `dist/`(641 文件)会触发批量删除保护而中断。解决:先 `mv dist /tmp/xxx` 再构建。
### 后续待办
- 历史页面(order/booking 等 28 文件)仍引用 NutUI,需按同样模式去空壳化。
- `.workbuddy/miniprogram-ui-plan.md` 需更新为"多分包品牌小程序"版本。
- 真机联调需确认后端 TenantId 与 `/cms/cms-website/getSiteInfo``/cms/cms-contact-lead/submit` 两个接口在 shop-api 侧确实已代理。