Commit Graph
77 Commits
Author SHA1 Message Date
lhmin0604andClaude eea6c3feef fix(diy): 草稿持久化 + 进入工作台即设计中 + 编辑页空态兜底
修正工作流批次①(问题 2+3+4):
- 问题2: 贴纸变化防抖 800ms 落缓存+服务端静默同步,
  useDidHide/卸载前强制 flush;中途退出不再丢布局
- 问题3: 进入工作台(新建/继续)即 PATCH designing(SUBMITTED),
  取代原「确认完成才提交」触发点
- 问题4: 草稿实时写缓存后贴纸编辑页始终能读到 stickers;
  另加 notFound 空态(未找到贴纸提示 + 返回工作台),
  handleEditSticker 跳转前 flushDraft 关闭防抖竞态窗口

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-12 19:07:07 +08:00
lhmin0604andClaude 395fa4116c docs(r2): 契约核对补充 + design-data-contract 增加 width/height 语义注记
- diy-fix-workflow:新增两份契约逐项核对总表
- design-data-contract-v1:stickers[].width/height/x/y 语义 = 画布显示像素
  (实现注记,非版本升级),历史数据读端按 mask 归一化兼容

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-12 18:53:07 +08:00
lhmin0604andClaude c47071c9d8 docs(r2): DIY 工作台 6 项问题修正工作流
逐项根因定位(代码依据)+ 修复方案 + 契约影响 + 留意点:
1 重叠误报(CSS 钳制/原始像素与碰撞盒不一致,含旧数据兼容)
2 草稿持久化(防抖写缓存+服务端,status 不动)
3 SUBMITTED 触发点提前到进入工作台(决策#6 注记更新)
4 编辑页空白(问题2 修复即自动修复)
5 TouchSlider 启用 + CSS filter 预览替代 ctx.filter
6 checkout 地址同步滞后(R3 红线文件,记入 R3 待办)
问题5/6 的 R3 侧待办同步至 routes/R2/README.md

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-12 17:49:06 +08:00
lhmin0604andClaude 67436cb9e1 docs(r2): 阶段5 验收收口 + 新增跨线路交接说明 docs/routes/R2/
- r2-workflow:阶段5 验证记录、验收期修复(PATCH /users/me、.env OSS)
- routes/R2/README:R3(checkout 切换/删除守卫/状态触发权)、R4(designData
  整包合并回写/贴纸 COS 硬前置)、R1(productId 校验/iconImg 下发)接入须知
- routes/README 索引更新

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-12 17:18:22 +08:00
lhmin0604andClaude 954cddfc22 feat(r2): 阶段4 store 降级为离线兜底缓存层
- designList/address 两页缓存优先渲染(冷启动不空屏),联网后以服务端为准覆盖
- store/design.ts、store/address.ts 文件头注明缓存层语义(回写/兜底/旧数据不合并)
- 流程文档勾选阶段 1-4 进度

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-12 03:58:55 +08:00
lhmin0604andClaude e557dbcb89 feat(r2): 阶段3 页面数据源切换到服务端 API(失败降级本地缓存)
- designList:列表/批量删除走 API,新增生产中(processing)徽标与筛选 tab
- address:增删改查走 API,默认唯一性由服务端事务保证
- product:加入清单走 createDesign(服务端 DRAFT)
- diy:进入即创建清单条目;保存时 category 裁剪 {id,mask,tone}、
  designData 与服务端数据合并(保护 wordcloud 分组,WCD 红线)、
  贴纸经 persistDesignMedia 持久化后整包提交(状态→designing)
- stickerEdit:贴纸编辑合并后整包提交
- types:DesignDataV1.category 收窄为契约 §2 冻结形状 {id, mask, tone}
- 全部写入点:API 成功回写本地缓存(checkout 等未迁移页面不受影响)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-12 03:51:46 +08:00
lhmin0604andClaude fa434f765f docs(r2): 写入 WCD 格式硬性规定并在阶段3/4 插入对应注意事项
依据 design-data-contract-v1.md 冻结版:designData 顶层 7 键白名单、
category.mask 必须保留、rotation/zIndex 本期持久化、贴纸 wxfile:// 允许暂存、
wordcloud 分组不得被 items 全量替换冲掉;阶段3 三个写入点与阶段4 缓存回写
各自插入红线提醒。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-12 03:33:53 +08:00
lhmin0604andClaude 8438fea72f feat(r2): 前端 API 层——地址/设计清单切换到后端接口(阶段2)
- api/address.ts: fetchAddresses/createAddress/updateAddress/deleteAddress/
  setDefaultAddress;region[] ↔ province/city/district 双向转换唯一落点
- api/design.ts: fetchDesignList/createDesign/updateDesign/deleteDesign/
  deleteDesigns;状态映射 DRAFT↔undesigned、SUBMITTED↔designing、
  PROCESSING↔processing、DONE↔ordered;一条设计=一条清单(items 固定 1 元素,
  title=productName,productIcon 不上传由页面按 productId 兜底)
- types/index.ts: DesignItem.status 补 'processing'、productIcon 改 optional、
  AddressItem 补 createdAt?;全部消费点已确认兼容(均有兜底)
- docs/r2-workflow.md: R2 工作流程与阶段0 契约确认记录

验证:build:weapp 通过;Node 打桩 Taro.request 转发本地 3091 后端实测
13 项全过(region 往返/状态映射/designData 保留/越权 403/无效 token 401)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-12 03:10:51 +08:00
broccoli 2b9c785bc4 chore: 移除 Claude 相关文件并加入 gitignore
- 删除 .claude/ 与 CLAUDE.md 的跟踪
- .gitignore 增加 CLAUDE.md(.claude 已有)
2026-08-18 23:53:20 +08:00
broccoli 6ebdedb851 Merge branch 'feat/r4-upload-wordcloud' into master 2026-08-18 23:46:23 +08:00
broccoli d72e297eb6 fix(ui): 初始背景跟随外观 + 修复跟随系统
- app.config 移除写死的浅色背景,交给 theme.json 按系统外观选择首帧底色
- 跟随系统模式增加 setInterval 轮询兜底,onThemeChange 不回调时也能跟上切换
2026-08-18 23:42:01 +08:00
broccoli fd58135fdb fix(ui): 移除快速切换时闪烁的整页淡入动画
- 保留首帧前切好主题背景
- 去掉页面根容器从透明度 0 重新淡入的动画,避免快速点 tab 时闪系统底色
2026-08-18 23:32:44 +08:00
broccoli acd3c1c2e1 fix(ui): 首屏背景提前设置 + 页面淡入过渡
- App 首帧前同步主题窗口背景,减少深浅色下系统底色闪烁
- 页面根容器增加 0.24s 淡入动画,Tab 切换/进入更平滑
2026-08-18 23:25:47 +08:00
broccoli 4646f87797 fix(ui): 拖动松手从手指位置平滑契合到目标 tab
- 拖动状态与位置状态分离
- 松手先恢复过渡但保留手指位置,下一帧再吸附到目标 tab,避免从旧位置跳变
2026-08-18 23:13:25 +08:00
broccoli 81d668b996 fix(ui): TabBar 点击滑块从旧位置滑到新位置
- 点击时不再让滑块在 touchstart 直接跳到手指位置
- 拖动超过 12px 阈值后才跟手,位置统一用百分比,避免 px/calc 混用导致跳变
- 松手按命中 tab 切页,同一 tab 不重复跳转
2026-08-18 23:04:12 +08:00
broccoli 9bd7d0421f feat(ui): 底栏可拖动切换 + 透明度降至 0.24
- 滑块随手指实时移动,松手后跳转到目标 tab
- 抽出 tabBarGeometry 计算拖拽命中,配套单测
- 底栏浅色/深色底色 0.32 -> 0.24
2026-08-18 22:54:28 +08:00
broccoli f9099f4aec style(ui): 底栏透明度从 0.4 降至 0.32 2026-08-18 21:34:51 +08:00
broccoli 242c52af43 feat(ui): 迁移液态玻璃质感(TabBar/返回按钮)
- 自定义 TabBar 增加弯月面聚光带与银丝边缘,玻璃参数升级
- 全局返回按钮与 ScrollTopMask 返回按钮升级 135° 液态玻璃渐变
- 激活态升级为玻璃透镜,浅色/深色主题同步
- 新增 tools/liquid-glass.test.mjs 回归断言
- 同步构建产物 dist/,并合并此前未提交的 .claude 配置与 dist 变更
2026-08-18 21:30:39 +08:00
broccoli 9ceffac004 Merge R4 order-list report into master 2026-08-13 12:18:48 +08:00
broccoli 2a5728bccc docs: R4 报告补充 wordcloud 订单列表交付与验证 2026-08-13 12:16:31 +08:00
broccoli f27779e2fe Merge feature R4 (upload + wordcloud + WCD dispatch) into master 2026-08-13 01:51:19 +08:00
broccoli 9a2202bcb3 docs: R4 交付报告(功能/契约/迁移/注意事项/对接需求) 2026-08-13 01:41:41 +08:00
broccoli c49ff72f1e feat(wordcloud): 贴纸持久化(决策#4)+ dispatchOrder/persistDesignMedia 辅助 2026-08-13 01:39:00 +08:00
broccoli 73fac0cb9c feat(wordcloud): 前端 R4 类型/api/词云页真实接口 + stickerEdit 线稿真实地址 2026-08-12 19:10:41 +08:00
broccoli 85356e7a39 docs: R4 WCD 生产任务契约(designData→词云)与路线文档 2026-08-12 19:10:41 +08:00
broccoli 3e0346ad35 docs: fix team collaboration as four independent slices 2026-08-10 02:17:41 +08:00
broccoli 0394da6771 feat: split DA and API layers by domain, add parallel route docs 2026-08-10 01:56:09 +08:00
broccoli 68c5e8ee04 fix: align product detail back button with top mask position 2026-08-08 04:28:12 +08:00
broccoli 2c39e6d7da fix: unify product detail back button with top mask style 2026-08-08 04:26:44 +08:00
broccoli a3c3005c04 feat: add scroll top mask, unify page top spacing and docs 2026-08-08 03:57:47 +08:00
broccoli 38045073b0 fix: correct home mask threshold after early scroll 2026-08-08 02:03:03 +08:00
broccoli 30eeb8611a fix: clean up home top mask measurement 2026-08-08 01:45:17 +08:00
broccoli fc4b8f7e3d feat: add home scroll top mask 2026-08-08 01:38:36 +08:00
broccoli 8ac8558142 test: add home top mask progress helper 2026-08-08 01:30:38 +08:00
broccoli fdd92924a5 chore: ignore local worktrees 2026-08-08 01:25:12 +08:00
broccoli 9ead273766 docs: add home top mask implementation plan 2026-08-08 01:19:22 +08:00
broccoli 5e7046f935 docs: add home top mask design 2026-08-08 01:14:43 +08:00
broccoli 61f1217384 feat: 全站视觉焕新与悬浮玻璃 TabBar 迁移 2026-08-07 23:29:19 +08:00
broccoli 19408e5a8c fix: rpx-ify global utilities and enlarge shop back target 2026-08-07 17:58:34 +08:00
broccoli 0e0ed4fcd4 chore: remove legacy token aliases and login optional chaining 2026-08-07 17:51:29 +08:00
broccoli 6f725c66aa feat: refresh service and tool pages 2026-08-07 17:21:59 +08:00
broccoli 2b6c74fc97 feat: refresh profile and settings pages 2026-08-07 17:21:05 +08:00
broccoli 8fb07f96c9 feat: refresh design list and order pages 2026-08-07 17:20:27 +08:00
broccoli 97b9568823 fix: task 6 review round 1 2026-08-07 17:05:23 +08:00
broccoli 6dd9e15ea5 feat: refresh product and customization flows 2026-08-07 16:52:13 +08:00
broccoli 3af43f6e82 chore: confirm task 5 round 1 fixes 2026-08-07 16:42:01 +08:00
broccoli 3b1d4a42b8 feat: refresh home and shop pages 2026-08-07 16:25:41 +08:00
broccoli 84371c7024 feat: refresh login components 2026-08-07 16:19:21 +08:00
broccoli 5db761c73e feat: frosted floating tab bar and updated icon colors 2026-08-07 15:36:17 +08:00
broccoli 0762e7bb3d feat: sync theme background tokens 2026-08-07 15:32:38 +08:00