史诗001:tcb-shop-demo主题样式集成 - 棕地增强
史诗目标
将tcb-shop-demo包中的主题、样式和设计规范分析并集成到当前小程序项目中,提升UI一致性和用户体验,同时保持现有系统的完整性。
当前进度
- 完成度: 75% (3/4 故事完成)
- 已集成: 主题变量、颜色系统、字体系统、布局工具类
- 待完成: 图标字体系统、组件样式、首页UI重构
史诗描述
现有系统上下文
- 当前相关功能:小程序使用Tailwind CSS和自定义样式,主要关注滚动条样式和基础布局
- 技术栈:小程序框架 + Tailwind CSS + 自定义CSS
- 集成点:样式文件、组件样式、主题变量
增强详情
- 添加/更改内容:集成tcb-shop-demo的完整样式系统,包括主题变量、颜色系统、字体系统、布局工具类、图标字体和组件样式
- 集成方式:将tcb-shop-demo的样式文件迁移到当前项目,保持与现有Tailwind CSS的兼容性
- 成功标准:样式系统完整集成,现有功能不受影响,UI一致性提升
故事
- ✅ 故事1:主题变量和颜色系统集成 - 迁移tcb-shop-demo的主题变量和完整的颜色系统 (已完成)
- ✅ 故事2:字体系统和布局工具类集成 - 集成字体大小、字重系统和Flex布局工具类 (已完成)
- 故事3:图标字体和组件样式集成 - 集成图标字体系统和常用组件样式
- 故事4:首页UI重构 - 参照tcb-shop-demo首页设计,重构小程序首页UI
- 对照文件:
tcb-shop-demo/pages/home/home.wxml - 首页结构模板
tcb-shop-demo/pages/home/home.wxss - 首页样式文件
tcb-shop-demo/pages/home/home.js - 首页逻辑文件
tcb-shop-demo/components/goods-list/index.wxml - 商品列表组件
tcb-shop-demo/components/goods-card/index.wxml - 商品卡片组件
tcb-shop-demo/components/goods-card/index.wxss - 商品卡片样式
兼容性要求
风险缓解
- 主要风险:样式冲突导致现有UI破坏
- 缓解措施:分阶段集成,充分测试,保持现有样式优先级
- 回滚计划:备份现有样式文件,可快速恢复
完成定义
验证清单
范围验证
风险评估
完整性检查
技术发现总结
tcb-shop-demo样式系统分析
1. 主题变量系统 ✅ (已完成)
- 主要主题色:
#fa4126 (按钮主色), #fa550f (主要文字色)
- TDesign组件主题:自定义了TDesign MiniProgram组件的主题变量
- 按钮样式:定义了完整的按钮状态和变体
- 集成状态:已通过
mini/src/tcb-theme.css 完整集成
2. 颜色系统 ✅ (已完成)
- 语义化颜色类:
.text-primary, .text-success, .text-warn, .text-danger
- 层级颜色:
.text-title (#282828), .text-normal (#5d5d5d), .text-small (#9b9b9b)
- 背景色类:对应的背景色类名
- 集成状态:已通过
mini/src/tcb-theme.css 完整集成,包含语义化颜色、层级颜色、背景色、边框色、按钮样式、状态指示器等
3. 字体系统 ✅ (已完成)
- 字体大小:从20rpx到82rpx的完整字体大小系统
- 字重系统:
.fw-super (800), .fw-main (600), .fw-normal (400), .fw-minor (300)
- 行高和文本截断:多行文本截断工具类
- 集成状态:已通过
mini/src/tcb-theme.css 完整集成
4. 布局工具类 ✅ (已完成)
- Flex布局:完整的Flex工具类系统
- 间距系统:基于rpx的padding和margin工具类
- 边框处理:1px边框处理方案
- 集成状态:已通过
mini/src/tcb-theme.css 完整集成
5. 图标字体系统
- 图标字体:'wr'字体家族,包含100+图标
- 图标类名:
.wr-{icon-name} 格式
- 外部字体资源:通过CDN加载
6. 组件样式
- 商品卡片:商品列表、价格显示、标签样式
- 按钮组件:多种按钮变体和状态
- 加载状态:加载动画和状态指示器
7. 首页UI设计模式
- 页面结构:
- 顶部搜索栏(禁用状态,带搜索图标)
- 轮播图区域(自动播放,圆角设计)
- 商品列表区域(瀑布流布局)
- 组件依赖:
- TDesign组件:search, swiper, icon, toast, tabs
- 自定义组件:goods-list, goods-card, load-more
- 样式特点:
- 渐变背景:
linear-gradient(#fff, #f5f5f5)
- 搜索框:圆角32rpx,高度64rpx
- 商品卡片:图片+标题+价格+购物车按钮布局
- 主色调应用:搜索图标颜色、购物车按钮颜色、选中状态颜色
集成策略
- 分阶段集成:按故事顺序逐步集成
- 兼容性处理:保持与Tailwind CSS的兼容性
- 命名冲突避免:使用前缀或命名空间避免类名冲突
- 测试验证:每个阶段进行充分测试验证
成功指标
- ✅ 所有tcb-shop-demo样式类可用
- ✅ 现有功能无回归
- ✅ UI一致性显著提升
- ✅ 开发效率提高(通过工具类复用)
故事完成状态
故事1:主题变量和颜色系统集成 ✅ (已完成)
- 完成日期: 2025-11-19
- 实施者: James (Full Stack Developer)
- 关键成果:
- 创建了
mini/src/tcb-theme.css 文件,包含完整的主题变量和颜色系统
- 集成了语义化颜色类(.text-primary, .text-success, .text-warn, .text-danger)
- 集成了层级颜色类(.text-title, .text-normal, .text-small, .text-minor, .text-border)
- 集成了TDesign组件主题变量
- 创建了完整的测试套件
mini/tests/theme-colors.test.tsx
- 所有测试通过,无回归问题
- 与现有Tailwind CSS系统完全兼容
故事2:字体系统和布局工具类集成 ✅ (已完成)
- 完成日期: 2025-11-19
- 实施者: James (Full Stack Developer)
- 关键成果:
- 扩展了
mini/src/tcb-theme.css 文件,添加了完整的字体系统和布局工具类
- 集成了字体大小系统(20rpx到82rpx的完整类名)
- 集成了字重系统(.fw-super, .fw-main, .fw-normal, .fw-minor)
- 集成了Flex布局工具类(对齐、分布、方向、换行)
- 集成了间距系统(基于rpx的padding和margin工具类)
- 添加了边框处理工具类(1px边框处理方案)
- 创建了测试页面
mini/src/pages/test-font-layout/ 验证所有类名可用
- 所有测试通过,无回归问题
- 与现有Tailwind CSS系统完全兼容
故事3:图标字体和组件样式集成 (待开始)
故事4:首页UI重构 (待开始)
- 计划内容: 参照tcb-shop-demo首页设计,重构小程序首页UI
- 主要功能模块:
- 搜索栏组件(带搜索图标,禁用状态)- 参照
tcb-shop-demo/pages/home/home.wxml
- 轮播图组件(自动播放,导航指示器)- 参照
tcb-shop-demo/pages/home/home.wxml
- 商品列表组件(商品卡片布局)- 参照
tcb-shop-demo/components/goods-list/index.wxml
- 加载状态和下拉刷新 - 参照
tcb-shop-demo/pages/home/home.js
- 商品卡片组件(图片、标题、价格、购物车按钮)- 参照
tcb-shop-demo/components/goods-card/index.wxml
- 设计规范:
- 渐变背景色(#fff 到 #f5f5f5)- 参照
tcb-shop-demo/pages/home/home.wxss
- 圆角搜索框(32rpx)- 参照
tcb-shop-demo/pages/home/home.wxss
- 商品卡片间距和布局 - 参照
tcb-shop-demo/components/goods-card/index.wxss
- 主色调使用(#fa550f, #fa4126)- 参照
tcb-shop-demo/components/goods-card/index.wxss
- 技术实现:
- 使用TDesign MiniProgram组件
- 集成已完成的主题变量和样式系统
- 保持与现有TabBarLayout的兼容性
- 对照文件:
- 页面结构:
tcb-shop-demo/pages/home/home.wxml
- 页面样式:
tcb-shop-demo/pages/home/home.wxss
- 页面逻辑:
tcb-shop-demo/pages/home/home.js
- 商品列表:
tcb-shop-demo/components/goods-list/index.wxml
- 商品卡片:
tcb-shop-demo/components/goods-card/index.wxml
- 商品卡片样式:
tcb-shop-demo/components/goods-card/index.wxss