 lhmin0604andClaude
|
a19519fee6
|
style(checkout): 消除 previewStickers 链式调用的隐式 any
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-09-15 07:03:36 +08:00 |
|
 lhmin0604andClaude
|
ba95037d05
|
fix(checkout): 设计效果确认页消费贴纸 edits 滤镜 + 按 zIndex 排层
与 DIY 工作台同一 stickerFilter 逻辑(diy-fix-workflow 问题5 的 R3 待办),
修复贴纸编辑保存后确认页预览与工作台图片不一致;
图层顺序改为按 zIndex(无 zIndex 按数组序兜底),与 WCD 打包规则一致。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-09-15 06:06:42 +08:00 |
|
 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 |
|
 lhmin0604andClaude
|
a13e380009
|
Merge branch 'feat/r2-address-design' into master
R2 收货地址 + 设计清单服务端化:地址/清单完整 CRUD、本地 store 降级缓存层、
DIY 修正批次(草稿持久化/SUBMITTED 触发点/贴纸归一化/edits 参数化保存)、
契约文档同步(api-contract §5 措辞修正、design-data 实现注记)、
跨线路交接文档 docs/routes/R2/
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-09-12 20:40:48 +08:00 |
|
 lhmin0604andClaude
|
b109451e29
|
docs(r2): 交接文档复核更新——DIY 修正批次新事实 + 契约核对结论
- README:新增修正批次落地事实(草稿随时 PATCH、SUBMITTED 触发点、
edits 落库与消费、width/height 语义、x/y 允许超界、onShow 同步通病)、
契约核对结论与已知偏差(wxfile:// 以冻结决策为准)
- r2-workflow:决策#6 注记 SUBMITTED 触发点提前
- design-data-contract:实现注记明确 x/y 允许超出画布边界(钳制已撤销)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-09-12 20:10:18 +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
|
cf02a10636
|
docs(diy): 批次③已实施(问题5),checkout 消费 edits 仍留 R3 待办
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-09-12 19:29:45 +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
|
98da907df8
|
docs(diy): 修正工作流进度更新——批次①②已实施,批次③暂缓(待 R3 对齐)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-09-12 19:12:17 +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
|
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 |
|
lhmin0604
|
bf8ce482e4
|
1.2.0版本
|
2026-08-04 11:07:38 +08:00 |
|
lhmin0604
|
a091664cee
|
商品浏览页构建上传1.1.0版本
|
2026-08-03 13:34:03 +08:00 |
|
lhmin0604
|
e423ab2d73
|
商品浏览页构建前最后一次更新
|
2026-08-02 00:21:54 +08:00 |
|
lhmin0604
|
d37a93ab9e
|
修改了主题切换的问题,但登录故障问题还有残留
|
2026-07-28 09:35:23 +08:00 |
|
lhmin0604
|
fa781cc6a6
|
针对个人主页与照片显示做了修改
|
2026-07-27 21:47:14 +08:00 |
|
lhmin0604
|
4d086758e8
|
first commit
|
2026-07-27 14:54:21 +08:00 |
|