yeuimu
|
dd6a540bf3
|
fix(product-families): 不打印链接移出族(纯数据修复)——矩阵不再计算不打印工艺,BRTF004 恢复烫画×单面
- 生产数据操作(未改源代码):11 条光板/不打印链接 family_id 置空(族 1/2/63/135/148),
名下 3 商品脱族,族 148 主链接 964→965、族 135 主链接置空
- 容器内直调已部署 FamilyRecomputeService 重算 5 族:全库矩阵不再含「不打印」,
族 148 = 烫画×单面印花×不包邮(min 19),public 端口验证通过
- 回滚存档:deploy/backups/20260903-noprint-removal/(全库 dump + 受影响行 CSV + RESTORE.md)
- 文档:product-center/structs 记录数据约定与回流风险(organize/autoGroup/人工改标签会回挂散链接);
AGENTS.md 沉淀 占位借词表值/物化JSON需显式重算/数据修复三件套 三条经验
|
2026-09-03 02:53:10 +08:00 |
|
yeuimu
|
0d2a954153
|
deploy(single-stack): 单栈收敛——v2 并入 deploy compose,v1 退役
- docker-compose.yml 重写为单栈 4 容器(admin 边缘 + v2-api/v2-admin/v2-postgres),
v2 数据卷 deploy-v2_pgdata/uploads 以 external 引用,数据零迁移
- nginx:/uploads/ /assets/ 上游改 v2-api(product-center 覆盖块随之冗余移除),
/ 跳转 /v2/admin/;docker-compose.v2.yml 删除(血统已并入 develop)
- v1 api+postgres 已停用未删,终档/快照/回滚手册见 deploy/backups/consolidation-*/
- 切换验证:v2 库切换前后行数完全一致;/v2-api /public /v2/admin /v2/h5
/assets 全路由冒烟 + 公网端到端通过
|
2026-09-03 02:09:24 +08:00 |
|
yeuimu
|
5e69397adc
|
merge: refactor/v2 完全并入 develop(v2 为准,v2 血统 20+ 提交收敛为主干)
|
2026-09-03 01:54:32 +08:00 |
|
yeuimu
|
37353470e7
|
fix(categories): 分类名去括号——同步入库整段删除括号段
左侧分类树/官网分类名的括号段(型号限定词(JSA002)与内容性括号
(黑+卡其)/(短裤 & 长裤))整段删除。分类名每小时被 SDS 同步覆盖,
清洗落在 syncCategories 入库路径(cleanCategoryDisplayName,款号 token
保留,剥空守卫),另附幂等存量脚本 fix:category-names。
已执行:V1/V2 各 33 条分类名去括号,复跑幂等 0。注意 api 容器重建
部署前旧镜像的下一轮同步会把名称写回原文,部署后自动恢复干净。
Tests: api 23 suites/206 passed(含新增 category-name.spec 7 例),tsc clean
|
2026-09-03 01:27:38 +08:00 |
|
yeuimu
|
9eafac7204
|
fix(goods): 商品展示名统一「品名 SKU」——剥 ASCII 型号限定词、纯款号补描述
左栏商品名显示成光款号(如 PLTK016)的根因是双层解析不一致:api 写路径按
首括号对解析产出「童装…(DTG180) PLTK016」,admin 展示解析按末括号取品名
误显示成 PLTK016。
- admin parseLinkName 对齐 api 首括号对解析 + 无 SKU 段中文品名守卫,
cleanLinkName 剥离 ASCII 型号限定词(中文括号内容保留)
- api 新增 cleanGoodDisplayName/describePureSkuGoodName,接入 create/update/
batchCreate(batchCreate 补上缺失的 normalize);纯款号按 SDS 分类名补描述
- 新增幂等存量修复脚本 fix:good-names(默认 dry-run,--apply 写库)
- 已执行:V2 栈 34 条限定词名、V1 栈 213 条原始链接名规范化,复跑幂等 0
Tests: api 22 suites/199 passed, admin 27 passed, tsc clean
|
2026-09-03 01:27:26 +08:00 |
|
yeuimu
|
814f45c5a3
|
fix(categories): 分类名去括号——同步入库整段删除括号段
左侧分类树/官网分类名的括号段(型号限定词(JSA002)与内容性括号
(黑+卡其)/(短裤 & 长裤))整段删除。分类名每小时被 SDS 同步覆盖,
清洗落在 syncCategories 入库路径(cleanCategoryDisplayName,款号 token
保留,剥空守卫),另附幂等存量脚本 fix:category-names。
已执行:V1/V2 各 33 条分类名去括号,复跑幂等 0。注意 api 容器重建
部署前旧镜像的下一轮同步会把名称写回原文,部署后自动恢复干净。
Tests: api 23 suites/206 passed(含新增 category-name.spec 7 例),tsc clean
|
2026-09-03 01:20:17 +08:00 |
|
yeuimu
|
c3be8ab979
|
fix(goods): 商品展示名统一「品名 SKU」——剥 ASCII 型号限定词、纯款号补描述
左栏商品名显示成光款号(如 PLTK016)的根因是双层解析不一致:api 写路径按
首括号对解析产出「童装…(DTG180) PLTK016」,admin 展示解析按末括号取品名
误显示成 PLTK016。
- admin parseLinkName 对齐 api 首括号对解析 + 无 SKU 段中文品名守卫,
cleanLinkName 剥离 ASCII 型号限定词(中文括号内容保留)
- api 新增 cleanGoodDisplayName/describePureSkuGoodName,接入 create/update/
batchCreate(batchCreate 补上缺失的 normalize);纯款号按 SDS 分类名补描述
- 新增幂等存量修复脚本 fix:good-names(默认 dry-run,--apply 写库)
- 已执行:V2 栈 34 条限定词名、V1 栈 213 条原始链接名规范化,复跑幂等 0
Tests: api 22 suites/199 passed, admin 27 passed, tsc clean
|
2026-09-03 01:04:22 +08:00 |
|
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
|
b81d944c38
|
docs(agent): add dimension-value onboarding lesson
|
2026-09-02 16:37:56 +08:00 |
|
yeuimu
|
5f81b18388
|
docs(agent): add materialized-array order determinism lesson
|
2026-09-02 16:08:35 +08:00 |
|
yeuimu
|
ae880ff346
|
docs(agent): add representative-row convergence lesson
|
2026-09-02 14:59:29 +08:00 |
|
yeuimu
|
b32a5575df
|
deploy(nginx): route /assets/product-center/ to v2 api for shared icons
沙特国旗等新增图标只需放入 v2 仓库 public 目录;nginx 按最长前缀把
product-center 静态资源转发给 v2 api,其余 /assets/、/uploads/ 仍走 v1。
同步沉淀 AGENTS.md:入口 nginx 真实挂载源在 v1 仓库、文件型 bind mount 的
inode 陷阱。
|
2026-09-02 11:19:49 +08:00 |
|
yeuimu
|
76eb849b49
|
docs: record style-order semantics, container-run pitfalls and lessons
|
2026-09-02 10:33:54 +08:00 |
|
yeuimu
|
8a6db1bdee
|
docs(agents): lessons — stop dev server before full jest; Chinese sort assertions
|
2026-08-28 18:51:22 +08:00 |
|
yeuimu
|
8fad8de73e
|
docs(agents): add lessons for db drift resolution and shared-db test isolation
|
2026-08-28 12:53:10 +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
|
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
|
72bc89ab03
|
chore: init monorepo with existing website and plans
|
2026-06-15 02:31:15 +08:00 |
|