Commit Graph
18 Commits
Author SHA1 Message Date
lhmin0604andClaude 3de6128cae restore(r2): 恢复被 R3 整树提交覆盖的 R2 功能层(契约实现为准)
8fdf0b1(R3) 基于 a13e380 却用旧工作区副本覆盖了 R2 域文件,导致终版
(feat/r1-catalog) 上 R2 功能丢失。本提交在不改动 R1/R3 域文件的前提下恢复:

- 整文件恢复(纯 R2 域):diy/index.tsx+scss(批次①②③全部修正)、
  stickerEdit(批次③)、api/address.ts(region 转换收口)、
  store/design.ts+address.ts(缓存层语义文档)、address 页(真机验收版)
- 手工合并:api/design.ts(R2 契约实现为基底 + R3 需要的 fetchDesign)、
  types/index.ts(DesignDataV1.category 收窄 {id,mask,tone}、productIcon
  optional、AddressItem.createdAt 恢复;保留 R1 ProductCategory 扩展与
  R3 OrderItem 扩展)、designList 页(缓存优先 load + processing 徽标)
- 保留不动(其他链路域):checkout/orders/orderDetail/shop/index/profile、
  api/order.ts、api/product.ts、productAdapter、request.ts(R3 构建期注入)、
  keys.ts(R3 mock 处理)、product 页(R1 已实现等价服务端写入)

验证:build:weapp 通过;tsc 错误集合与恢复前对比,R1/R3 文件零变化。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-15 05:28:50 +08:00
fenjoyoung 8fdf0b1b4f feat(r3-order-pay): 结算与订单支付流程、支付倒计时/商品图组件,接口地址改为构建期注入
- 新增 PaymentCountdown、ProductImage 组件
- 完善 checkout/orders/orderDetail 订单支付链路与地址、商品、设计数据
- request 接口地址改为构建期注入并保留真实网络错误,默认兜底线上地址
- 同步重新构建 dist 产物
2026-09-13 14:50:39 +08:00
lhmin0604andClaude 190e59af94 revert(diy): 撤销贴纸坐标钳制,恢复可拖出画布外自由摆放
需求决定(2026-09-12):负坐标/超出画布为合法摆放状态;
重叠误报根因是尺寸语义(已由归一化修复),坐标钳制一并移除。
文档同步标注该决策。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-12 20:00:17 +08:00
lhmin0604andClaude 418702295b fix(diy): 从贴纸编辑页返回时 onShow 同步缓存最新贴纸
navigateBack 不触发工作台重新挂载,stickers state 停留在进入前的旧值,
编辑保存虽已写入缓存/服务端但工作台渲染的是旧 state。
useDidShow 从缓存同步当前设计贴纸(含 src/edits 变化),
首次 onShow 跳过(mount 读取端已做旧数据归一化)。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-12 19:44:16 +08:00
lhmin0604andClaude 2e3676a470 fix(diy): 贴纸编辑页滑块组件化 + CSS filter 预览 + edits 参数化保存
修正工作流批次③(问题5):
- 三个滑块统一改用 TouchSlider 组件(id 选择器定位 + touchstart 缓存
  rect),删除原 .in(e.currentTarget) 坏实现与死代码
- 预览弃用 Canvas ctx.filter(开发者工具不支持),改 Image + CSS filter
  所见即所得;Canvas 导出链路整体移除
- 保存改为 edits 参数化持久化(src 不变;裁剪/线稿的 src 替换经
  pendingSrc 一并落库),不再依赖 canvasToTempFilePath
- DIY 工作台画布与预览弹层渲染端消费 edits(同一 CSS filter 逻辑),
  checkout 预览消费 edits 记入 R3 待办(routes/R2/README.md #6)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-12 19:29:03 +08:00
lhmin0604andClaude 3b224cf41b fix(diy): 贴纸尺寸归一化画布空间 + 坐标钳制 + 旧数据读端兼容
修正工作流批次②(问题1 重叠误报):
- addSticker 按 mask 短边 60% 归一化 width/height(契约实现注记:
  width/height 语义 = 画布显示像素),渲染/碰撞/WCD 三方自洽
- 拖动与缩放后坐标钳制在 [0, mask尺寸-显示尺寸],杜绝负坐标/拖出画布
- 读取端兼容:旧数据 width > mask 尺寸时按 mask 等比归一化(不做存量迁移)
- canvas-image/preview-image 补 transform-origin: top left,
  缩放原点与碰撞盒(左上角)语义一致

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-12 19:10:37 +08:00
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 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
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 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 61f1217384 feat: 全站视觉焕新与悬浮玻璃 TabBar 迁移 2026-08-07 23:29:19 +08:00
broccoli 6dd9e15ea5 feat: refresh product and customization flows 2026-08-07 16:52:13 +08:00
broccoli 2182b6dfc9 feat: 登录过期自动续登并校验同一账号 2026-08-07 02:53:03 +08:00
broccoli f4f54a8720 fix: 顶栏颜色跟随小程序主题并保留跟随系统 2026-08-06 19:54:05 +08:00
broccoli c681c612b5 chore: 页面 json 双写 navigationStyle custom 兜底深色模式顶部 2026-08-06 16:33:39 +08:00
broccoli b19a56003f 添加登录和后端校验
完成后端设计(未在本仓库体现),通过安全的手段完成了登录鉴权
2026-08-06 16:27:36 +08:00