|
|
@@ -23,11 +23,11 @@ Draft
|
|
|
- [x] 创建 `mini/src/components/tdesign/swiper/index.tsx` - Swiper组件 (对照: `mini/tdesign/swiper/`)
|
|
|
- [x] 创建 `mini/src/components/tdesign/toast/index.tsx` - Toast组件 (对照: `mini/tdesign/toast/`)
|
|
|
- [x] 创建 `mini/src/components/tdesign/tabs/index.tsx` - Tabs组件 (对照: `mini/tdesign/tabs/`)
|
|
|
-- [ ] 实现商品卡片组件 (AC: 3)
|
|
|
- - [ ] 创建 `mini/src/components/goods-card/index.tsx` 商品卡片组件
|
|
|
- - [ ] 参照 `tcb-shop-demo/components/goods-card/index.wxml` 实现商品卡片布局
|
|
|
- - [ ] 实现图片、标题、价格、购物车按钮布局
|
|
|
- - [ ] 应用tcb-shop-demo的商品卡片样式
|
|
|
+- [x] 实现商品卡片组件 (AC: 3)
|
|
|
+ - [x] 创建 `mini/src/components/goods-card/index.tsx` 商品卡片组件
|
|
|
+ - [x] 参照 `tcb-shop-demo/components/goods-card/index.wxml` 实现商品卡片布局
|
|
|
+ - [x] 实现图片、标题、价格、购物车按钮布局
|
|
|
+ - [x] 应用tcb-shop-demo的商品卡片样式
|
|
|
- [ ] 实现商品列表组件 (AC: 1)
|
|
|
- [ ] 创建 `mini/src/components/goods-list/index.tsx` 商品列表组件
|
|
|
- [ ] 参照 `tcb-shop-demo/components/goods-list/index.wxml` 实现列表结构
|
|
|
@@ -298,20 +298,26 @@ export default function TDesignSwiper({
|
|
|
- ✅ 已完成:创建 `mini/src/components/tdesign/swiper/index.tsx` - Swiper组件
|
|
|
- ✅ 已完成:创建 `mini/src/components/tdesign/toast/index.tsx` - Toast组件
|
|
|
- ✅ 已完成:创建 `mini/src/components/tdesign/tabs/index.tsx` - Tabs组件
|
|
|
+- ✅ 已完成:创建 `mini/src/components/goods-card/index.tsx` - 商品卡片组件
|
|
|
- ✅ 已对照:`mini/tdesign/search/` 目录结构和功能
|
|
|
- ✅ 已对照:`mini/tdesign/icon/` 目录结构和功能
|
|
|
- ✅ 已对照:`mini/tdesign/swiper/` 目录结构和功能
|
|
|
- ✅ 已对照:`mini/tdesign/toast/` 目录结构和功能
|
|
|
- ✅ 已对照:`mini/tdesign/tabs/` 目录结构和功能
|
|
|
+- ✅ 已对照:`tcb-shop-demo/components/goods-card/` 目录结构和功能
|
|
|
- ✅ 已集成:tcb-theme.css 中的 Search 组件样式
|
|
|
- ✅ 已集成:tcb-theme.css 中的 Swiper 组件样式
|
|
|
- ✅ 已集成:tcb-theme.css 中的 Toast 组件样式
|
|
|
- ✅ 已集成:tcb-theme.css 中的 Tabs 组件样式
|
|
|
+- ✅ 已集成:tcb-theme.css 中的 Tabs 组件样式
|
|
|
+- ✅ 已创建:商品卡片组件专用样式文件 (index.css)
|
|
|
+- ✅ 已优化:组件样式架构,将商品卡片样式移动到组件目录
|
|
|
- ✅ 已添加:Tabs 组件 CSS 变量到 :root 主题系统
|
|
|
- ✅ 已更新:Tabs 组件使用 CSS 变量替代硬编码值
|
|
|
- ✅ 已应用:tcb-shop-demo 设计规范(圆角32rpx,高度64rpx,主色调 #fa550f)
|
|
|
- ✅ 已修复:组件依赖关系(Icon组件在Search组件之前创建)
|
|
|
- ✅ 已修复:Tabs组件TypeScript编译错误
|
|
|
+- ✅ 已修复:商品卡片组件TypeScript编译错误
|
|
|
- ✅ 已验证:TypeScript编译正常,无TDesign相关错误
|
|
|
|
|
|
### File List
|
|
|
@@ -320,7 +326,9 @@ export default function TDesignSwiper({
|
|
|
- **创建**: `mini/src/components/tdesign/swiper/index.tsx` - TDesign Swiper 组件
|
|
|
- **创建**: `mini/src/components/tdesign/toast/index.tsx` - TDesign Toast 组件
|
|
|
- **创建**: `mini/src/components/tdesign/tabs/index.tsx` - TDesign Tabs 组件
|
|
|
-- **修改**: `mini/src/tcb-theme.css` - 添加 Search、Swiper、Toast 和 Tabs 组件样式
|
|
|
+- **创建**: `mini/src/components/goods-card/index.tsx` - 商品卡片组件
|
|
|
+- **创建**: `mini/src/components/goods-card/index.css` - 商品卡片组件样式
|
|
|
+- **修改**: `mini/src/tcb-theme.css` - 添加 Search、Swiper、Toast、Tabs 组件样式
|
|
|
- **修改**: `docs/stories/001.004.homepage-ui-refactor.md` - 更新任务状态和开发记录
|
|
|
|
|
|
### 实施经验总结
|
|
|
@@ -361,7 +369,20 @@ export default function TDesignSwiper({
|
|
|
- **状态管理**: 使用 useState 和 useEffect 管理选中状态
|
|
|
- **事件处理**: 支持 onChange 回调,返回选中值和索引
|
|
|
|
|
|
-#### 7. 后续开发建议
|
|
|
+#### 7. 商品卡片组件开发经验
|
|
|
+- **数据模型设计**: 完整的 GoodsData 接口定义,支持商品基本信息
|
|
|
+- **事件处理**: 支持点击商品、点击图片、添加购物车等事件
|
|
|
+- **价格格式化**: 正确处理价格显示(分转元)
|
|
|
+- **样式适配**: 严格遵循 tcb-shop-demo 的商品卡片设计规范
|
|
|
+- **布局结构**: 图片区域 + 信息区域(标题、标签、价格、购物车按钮)
|
|
|
+
|
|
|
+#### 8. 组件样式架构优化
|
|
|
+- **样式分离**: 将组件专用样式放在组件目录下,保持组件独立性
|
|
|
+- **主题系统**: 通用主题变量和组件样式放在 tcb-theme.css 中
|
|
|
+- **导入管理**: 组件通过 import 导入自己的样式文件
|
|
|
+- **维护性**: 组件样式与组件逻辑在同一目录,便于维护
|
|
|
+
|
|
|
+#### 9. 后续开发建议
|
|
|
- **组件测试**: 为每个组件创建单元测试
|
|
|
- **样式优化**: 考虑添加响应式设计支持
|
|
|
- **图标扩展**: 根据需求扩展图标映射表
|