feat(product-center): implement Figma-designed UI, upload module, and website tests

- Redesign website homepage & product-center per Figma (fonts, logos, hero/footer/customer cases)
- Add API upload module (multer) with static serving for uploads/public assets
- Add OriginGood.delisted flag and SDS request retry logic
- Add admin ImageUpload component and goods import/upload flows
- Add vitest suite for website components and composables (32 tests)
- Add skills, docs, plans and PRODUCT.md
This commit is contained in:
yeuimu
2026-08-20 14:32:03 +08:00
parent b5fc88f3fa
commit 79fabd85f7
107 changed files with 5364 additions and 2601 deletions
+26
View File
@@ -243,6 +243,32 @@ apps/website/
> 子项目内部的页面、组件、composable、代理路由、组件响应式断点等详细信息见 `apps/website/docs/references/structs.md`。
## 数据库
- `apps/api/public/product-center/`:产品中心 Figma 国家旗帜与一级品类图标,由 `/assets/product-center/*` 对外提供。
- `apps/api/prisma/configure-product-center-icons.ts`:按名称幂等写入 `countryIcon/categoryIcon`,不创建业务记录。
## 产品中心设计还原(2026-07-16
- `apps/website/app/components/product/ProductCenterHeader.vue`Figma 产品中心专用 80px 导航栏。
- `apps/website/app/components/product/ProductSidebar.vue`:240px 分类树及移动端抽屉内容。
- `apps/website/app/components/product/ProductCountryFilter.vue`:国家胶囊筛选。
- `apps/website/app/components/product/ProductTagFilter.vue`:物流与工艺分组筛选。
- `apps/website/app/components/product/ProductCard.vue`270 x 382 桌面商品卡片。
- `apps/website/app/components/product/ProductPagination.vue`:总数、页码、每页数量和跳转。
- `apps/website/test/useProductCenter.test.ts`:默认筛选名称映射测试。
- `docs/references/product-center.md`:产品中心使用与验证说明。
- `skills/inkreach-official-website/SKILL.md`Agent 使用说明。
## 官网首页设计还原(2026-07-16
- `apps/website/app/pages/index.vue`:官网首页组合入口。
- `apps/website/app/components/HeroBanner.vue``AppFooter.vue`:首页分区组件。
- `apps/website/public/case-*.png`Figma 用户案例商品图。
- `docs/references/homepage.md`:首页结构、尺寸基准和验证说明。
- `apps/website/test/HomepageNavigationCarousel.test.ts`:首页当前页 CTA、自动轮播、主视觉图片和临时导航隐藏的行为测试。
## 数据库
- `apps/api/src/public/public.service.ts`:官网公共商品序列化边界;响应中的商品 `id` 使用 `originGood.sdsGoodId`,不暴露本地 `goods.good_id`
- PostgreSQL 14+Prisma 5.x
- 连接配置在根 `.env``DATABASE_URL`