 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
|
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
|
242c52af43
|
feat(ui): 迁移液态玻璃质感(TabBar/返回按钮)
- 自定义 TabBar 增加弯月面聚光带与银丝边缘,玻璃参数升级
- 全局返回按钮与 ScrollTopMask 返回按钮升级 135° 液态玻璃渐变
- 激活态升级为玻璃透镜,浅色/深色主题同步
- 新增 tools/liquid-glass.test.mjs 回归断言
- 同步构建产物 dist/,并合并此前未提交的 .claude 配置与 dist 变更
|
2026-08-18 21:30:39 +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
|
61f1217384
|
feat: 全站视觉焕新与悬浮玻璃 TabBar 迁移
|
2026-08-07 23:29:19 +08:00 |
|
broccoli
|
2182b6dfc9
|
feat: 登录过期自动续登并校验同一账号
|
2026-08-07 02:53:03 +08:00 |
|
broccoli
|
0f3132b08e
|
refactor: 产品大图迁移OSS,小图标本地打包,资源基址改为.env配置
|
2026-08-06 23:52:48 +08:00 |
|
broccoli
|
2f5e12d252
|
feat: 阿里云 OSS 资源桶接入,商品图与icon支持远程基址
|
2026-08-06 22:42:35 +08:00 |
|
broccoli
|
f4f54a8720
|
fix: 顶栏颜色跟随小程序主题并保留跟随系统
|
2026-08-06 19:54:05 +08:00 |
|
broccoli
|
b19a56003f
|
添加登录和后端校验
完成后端设计(未在本仓库体现),通过安全的手段完成了登录鉴权
|
2026-08-06 16:27:36 +08:00 |
|