ZF sun
60dc054383
fix(diy-recommend-code): canvas 海报生成加详细调试日志 + ctx.draw 包裹
问题: 小程序下 generateSharePoster "开始调" 后无 "resolved",
卡在 canvas 绘制或导出步骤。
修复 + 调试:
1. generateSharePoster 流程加详细日志:
- 进入
- 准备 createCanvasContext
- createCanvasContext 返回值
- qrcodeRenderUrl 当前值
- drawQrcodeAndExport 进入
- ctx.draw(false, cb) 准备
- ctx.draw callback 触发
2. 关键修复: ctx.draw(false, callback) 包裹导出
- 旧代码:画完 fill() 后直接调 _exportCanvas(canvas 还是空的)
- 新代码:画完后 ctx.draw(false, () => _exportCanvas())
在 callback 里导出真正渲染完的 canvas
3. _exportCanvas 简化:
- 不再走 createSelectorQuery(可能挂起)
- 直接用 canvasId 调 canvasToTempFilePath
- 加 5s 超时兜底,避免永远卡住
4. _prepareSharePoster 加 isH5Platform 短路:
- H5 下 canvas 模板不渲染,createCanvasContext 会失败
- 短路后不调用 generateSharePoster,避免无效报错
请在微信开发者工具里再次测试,看哪一行日志卡住
(预期: 进入 → createCanvasContext 返回 → qrcodeRenderUrl →
drawQrcodeAndExport → ctx.draw 准备 → ctx.draw callback → _exportCanvas → 成功)
,把卡住那一行的日志贴出来。
2026-08-08 11:52:57 +08:00
..
2026-01-14 09:31:22 +08:00
2026-06-26 09:09:46 +08:00
2026-07-09 15:13:06 +08:00
2026-07-15 15:39:08 +08:00
2026-05-08 16:09:19 +08:00
2026-07-03 10:45:34 +08:00
2026-07-18 16:57:10 +08:00
2026-07-23 16:51:00 +08:00
2026-07-23 16:51:00 +08:00
2026-07-23 09:46:16 +08:00
2026-06-30 10:28:36 +08:00
2025-12-26 16:35:15 +08:00
2026-07-03 10:45:34 +08:00
2026-05-08 16:09:19 +08:00
2026-07-03 10:45:34 +08:00
2026-05-07 15:43:33 +08:00
2025-12-26 16:35:15 +08:00
2026-08-07 10:31:57 +08:00
2026-05-07 15:12:59 +08:00
2026-07-13 16:22:24 +08:00
2026-06-30 10:28:36 +08:00
2026-05-08 16:09:19 +08:00
2026-08-03 16:29:01 +08:00
2026-05-07 15:12:59 +08:00
2025-12-26 16:35:15 +08:00
2025-12-26 16:35:15 +08:00
2026-05-07 15:43:33 +08:00
2025-12-26 16:35:15 +08:00
2026-07-11 10:03:23 +08:00
2026-05-07 15:43:33 +08:00
2026-06-30 10:03:25 +08:00
2026-06-30 10:28:36 +08:00
2026-07-10 18:20:32 +08:00
2026-06-30 10:28:36 +08:00
2026-01-26 15:05:36 +08:00
2026-06-30 10:28:36 +08:00
2026-07-10 15:46:48 +08:00
2026-06-25 11:00:50 +08:00
2026-06-25 11:00:50 +08:00
2026-06-30 10:28:36 +08:00
2026-07-06 11:58:30 +08:00
2026-07-03 10:45:34 +08:00
2026-07-16 11:47:29 +08:00
2026-07-03 10:45:34 +08:00
2026-07-03 10:45:34 +08:00
2026-05-07 15:12:59 +08:00
2026-05-07 15:43:33 +08:00
2026-08-08 11:52:57 +08:00
2026-01-26 15:05:36 +08:00
2026-06-25 18:15:31 +08:00
2026-06-30 10:28:36 +08:00
2026-07-03 10:45:34 +08:00
2026-01-16 17:52:33 +08:00
2026-06-30 10:03:25 +08:00
2026-06-29 15:29:24 +08:00
2026-06-30 10:28:36 +08:00
2026-07-13 14:41:29 +08:00
2026-07-13 14:24:09 +08:00
2026-05-08 16:09:19 +08:00