yeuimu
|
f1e81872e7
|
fix(product-family): auto-merge SKUs after manual tag edits; fix session cookie path
问题2(SKU 无法自动合并,GBIU017 案例)四处叠加根因修复:
- 人工标签旧词「热转印」被封闭词表静默踢出合并矩阵 → CRAFT_TAG_ALIASES
别名归一为「烫画」(矩阵归因与 CUSTOM 标签同路径生效)
- updateTags 缺任一定价维度组即整链掉出矩阵且人工接管后永不恢复 →
缺啥补啥(按链接名派生补齐,人工勾选值不动,响应带 filledDimensionTags)
- autoGroup 只建新族从不并入已有族(产生 USIU005-2 类碎片)→ 并入已有
autoManaged 同款族优先,无匹配才新建;同款仅人工锁定族则跳过并报告
- 名称回退分组键含物流备注,包邮/不包邮永不同组 → 新增族语义键
familyNameKey(国家+品名+SKU),api/admin 两侧同构,合并默认勾选随之修复
附加:
- updateTags 后未归族链接自动并入匹配族(attachToMatchingFamily,响应带
attachedFamilyId)
- 整理新增碎片族合并 consolidateFragments:纯碎片族并入带商品族并删除
(保公开 goodId=族ID 稳定),带商品/覆盖价/人工锁定进人工复审报告
- admin:保存标签提示补齐明细,整理完成消息含并入/碎片合并/待人工数
问题1(后台频繁 Unauthorized 掉线):
- refresh cookie path '/auth' 与代理前缀(/api、/v2-api)不匹配导致浏览器
永远带不上 refresh cookie → 两 cookie path 统一为 '/'
- v2 构建基址带尾斜杠 + 手工拼接产生 /v2-api//auth/refresh 双斜杠 404 →
request.ts 规范拼接
测试:api jest 187/187、admin vitest 22/22、双侧 tsc 0 错误;
public.service 夹具改为自包含(不依赖共享库既有数据)。
|
2026-09-02 18:39:35 +08:00 |
|
yeuimu
|
007ad2c831
|
deploy(v2): h5 build with base /v2/h5, admin dockerfile & nginx route, shared compose
|
2026-09-01 16:26:22 +08:00 |
|
yeuimu
|
63b436fe41
|
test(public): cover home-goods family dedupe
|
2026-08-28 18:44:24 +08:00 |
|
yeuimu
|
8a052773cd
|
feat(public): family-first contract — goodId=familyId, strict 5-dim price matrix
公开契约族化(前端只需知道款号/族):
- GET /public/goods 一族一条(goodId=族ID,price=族起价,分页作用于分组后);
无族商品(自定义)不进任何公开端点(列表/首页/分类树/标签统计)
- GET /public/goods/:goodId 仅认族 ID;公共字段取代表 Good,变体=全体成员并集,
尺码表/包装规格=族物化并集;旧 SDS 链接 ID 寻址 404
- priceMatrix 严格五维:尺码×颜色×印花数量×工艺×物流;维度来源改为链接级
标签(人工接管按人工标签),弃用原始 craftLabel;CUSTOM 成员尊重显式标签
- 名称派生补裸「单面/双面」写法(直喷双面→双面印花+直喷,18 条存量链接修复)
- family_price_overrides 加 print_count 列(五键唯一),PUT/DELETE/校验五键化
- admin 编辑弹窗矩阵消费适配(SKU 列直读 printCount,成员格子三维匹配,
改价 payload 带 printCount)
- 存量 339 族已全量重算;api 162/162、admin 22/22、双端构建绿
|
2026-08-28 18:43:30 +08:00 |
|
yeuimu
|
08201f18a4
|
feat(product-family): link-level tags (origin_good_tags) with manual override + member detail enrichment
|
2026-08-28 16:00:46 +08:00 |
|
yeuimu
|
270e516f94
|
fix(public): media images are objects ({id,url,sortOrder}) - handle both shapes in mergeMedia
|
2026-08-28 11:22:53 +08:00 |
|
yeuimu
|
d826c5bdd4
|
feat(public): merge secondary media gallery images with URL dedup
|
2026-08-28 11:19:27 +08:00 |
|
yeuimu
|
457792b729
|
feat(public): dedupe merged variants and merge specs/options from secondary origins
|
2026-08-28 11:05:34 +08:00 |
|
yeuimu
|
f06dfffbda
|
feat(public): resolve goods by secondary sds id and merge variants
|
2026-08-27 18:20:25 +08:00 |
|
yeuimu
|
6c61a4e871
|
feat(deploy): production deployment setup and fixes
- Debian-based api image (bookworm-slim), docker/debian mirrors, prisma
binaryTargets for openssl 3.0
- nginx: admin SPA under /admin, TLS via acme.sh (ZeroSSL) + auto-renewal
cron, http->https redirect
- prisma: add origin_goods.delisted migration, sync missing schema
(good_image/tag_font_color/good_tags), fix users.createdAt Timestamptz
- api: CORS wildcard reflection, helmet CORP cross-origin, price
backfill in persistProductDetail, categoryIcon ancestor fallback,
mediaByColor per-color gallery in public goods detail
- admin: /admin base path (vite + router)
- import-data.mjs: udt_name casting, serial sequence advance fix
|
2026-08-26 14:23:09 +08:00 |
|
yeuimu
|
b04623ebdd
|
feat(goods): add editable custom products
|
2026-08-21 14:45:42 +08:00 |
|
yeuimu
|
8b38d6fef7
|
refactor(api): group public tag filters
|
2026-08-21 11:34:57 +08:00 |
|
yeuimu
|
437d9ca93b
|
refactor(api): pair public tag filters with groups
|
2026-08-21 10:24:35 +08:00 |
|
yeuimu
|
7d09077f1d
|
feat(api): add mini program catalog endpoints and product details
|
2026-08-21 02:11:20 +08:00 |
|
yeuimu
|
79fabd85f7
|
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
|
2026-08-20 14:32:03 +08:00 |
|
yeuimu
|
7e04877bb6
|
chore: migrate to pnpm workspaces monorepo with Turborepo
- Restructure directories: apps/api, apps/admin, apps/website
- Add root pnpm-workspace.yaml, turbo.json, .prettierrc, .gitignore
- Rename packages to @inkreach/api, @inkreach/admin, @inkreach/website
- Add shared packages: packages/tsconfig, packages/shared-types
- Add pnpm.onlyBuiltDependencies for native builds
- Update docs: README.md, structs.md
- All three projects build successfully
|
2026-07-11 16:54:05 +08:00 |
|