From 8ca709b86b99895089525a21fa659afc6dd0ee49 Mon Sep 17 00:00:00 2001 From: cnliucheng Date: Fri, 14 Aug 2026 09:13:03 +0800 Subject: [PATCH] =?UTF-8?q?feat(timer):=20=E8=AE=AD=E7=BB=83=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E5=88=86=E4=BA=AB=E6=B5=B7=E6=8A=A5(canvas+=E5=B0=8F?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E7=A0=81),=E8=A7=A3=E5=86=B3=E6=88=AA?= =?UTF-8?q?=E5=9B=BE=E8=A2=AB=E6=88=AA=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因:onShareAppMessage 未返回 imageUrl,微信默认截页面顶部, 完成弹窗垂直居中导致分享卡片只截到上半部分。 实现: - 隐藏 canvas 2d 绘制 5:4(500x400)成绩海报,含绿色星星图标、状态文案、 大数字时长、连续打卡、底部引导与右下角小程序码 - _saveAndShowCompletion 弹窗数据就绪后预生成,onShareAppMessage 直接复用 - onTrainAgain 清空 _shareImageUrl 防旧图复用 - 新增 static/share-qr.jpg(用户提供的小程序码) --- .workbuddy/memory/2026-08-14.md | 11 ++ pages/timer/timer.js | 203 +++++++++++++++++++++++++++++++- pages/timer/timer.wxml | 3 + pages/timer/timer.wxss | 11 ++ static/share-qr.jpg | Bin 0 -> 53215 bytes 5 files changed, 227 insertions(+), 1 deletion(-) create mode 100644 static/share-qr.jpg diff --git a/.workbuddy/memory/2026-08-14.md b/.workbuddy/memory/2026-08-14.md index e8b4cf5..2b9a389 100644 --- a/.workbuddy/memory/2026-08-14.md +++ b/.workbuddy/memory/2026-08-14.md @@ -11,3 +11,14 @@ - **根因**:偶数 set 数时 `sets×hold/2` 正好落在某组练完→休息切换的那一 tick。`_circuitCue` 先播 halfway 并设 `_voiceBusyUntil=now+2600` 占麦;紧接着 `_advance()`→`_circuitPhase('resting')` 检查麦占用,`restStart` 被静音。原代码注释有意让"进度提示优先于阶段提示",但偶数组数下两者撞车。 - **修复**:`_circuitCue` 里先算 `atRestBoundary`(phaseRemaining<=0 && rest>0 && setIndex=10 && rest>=5);halfway/last30/last10 在"落在休息边界且 restStart 会播"时跳过自身,让休息语音优先。奇数组数一半点在中段不会撞车,不动;短组配置 rest 不播也保持原 halfway 行为,无回归。改 `pages/timer/timer.js` 的 `_circuitCue`。 - 顺带:last30/last10 在更长偶数组数(如 4 组×30s 的 set3→rest)也会撞同一问题,一并按同规则让位,行为一致。 + +## 新增:训练完成分享海报(canvas 绘制 + 小程序码) +- **现象**:训练完成后点分享,微信默认截取当前页面,因完成弹窗垂直居中,卡片只截到上半部分(绿色星星+"完成!"),大数字和按钮被切掉。 +- **方案**:用隐藏 canvas 2d 绘制一张 5:4(500×400 逻辑像素)的专用分享海报,在 `onShareAppMessage` 里作为 `imageUrl` 返回;提前在 `_saveAndShowCompletion` 弹窗数据就绪后生成,避免分享时现场绘制延迟。 +- **海报内容**:浅灰底 + 顶部品牌 + 白色圆角成绩卡 + 绿色渐变星星图标 + 状态文案 + 大数字时长 + 连续打卡(如有)+ 底部"扫码一起打卡"引导 + 右下角小程序二维码。 +- **文件改动**: + - `pages/timer/timer.wxml`:添加隐藏 `` + - `pages/timer/timer.wxss`:`.share-poster-canvas` 移出视口、不响应点击 + - `pages/timer/timer.js`:新增 `_drawSharePoster()`、`_formatShareDuration()`;`_saveAndShowCompletion()` 里 setData 后预生成;`onShareAppMessage()` 返回 `imageUrl: this._shareImageUrl`;`onTrainAgain()` 清空旧图防止复用 + - `static/share-qr.jpg`:加入用户提供的小程序二维码资源 +- **注意**:导出用 jpg quality 0.9、dest 500×400,控制文件在 128KB 以内;二维码路径 `/static/share-qr.jpg` 为相对小程序根目录;若二维码加载失败仍导出无二维码的海报,保证分享入口不灰。 diff --git a/pages/timer/timer.js b/pages/timer/timer.js index cb6ce31..871cbb2 100644 --- a/pages/timer/timer.js +++ b/pages/timer/timer.js @@ -846,6 +846,9 @@ Page({ completionTipRisk: scienceTip.risk }) + // 预生成分享海报,点"分享"时 onShareAppMessage 直接复用,避免现场绘制延迟 + this._drawSharePoster() + // Animate the big number from 0 to elapsed if (this._completionCountUp) this._completionCountUp.cancel() this._completionCountUp = countUp({ @@ -928,6 +931,8 @@ Page({ this._completionCountUp.cancel() this._completionCountUp = null } + // 清空上一轮分享图,避免"再来一次"后立即分享时复用旧图 + this._shareImageUrl = '' // Circuit mode: rebuild the FSM (start() only resets from idle, and a // finished/paused timer is no longer idle, so a fresh init is the clean // reset; _initCircuit also closes the completion modal). @@ -969,6 +974,201 @@ Page({ // taps on the completion modal). onNoop() { /* swallow */ }, + /** + * 绘制训练完成分享海报并导出为临时图片。 + * 在 _saveAndShowCompletion 里弹窗数据就绪后调用,提前生成, + * 用户点"分享"时 onShareAppMessage 直接取 _shareImageUrl。 + */ + _drawSharePoster() { + const query = wx.createSelectorQuery().in(this) + query.select('#sharePoster') + .fields({ node: true, size: true }) + .exec((res) => { + if (!res || !res[0] || !res[0].node) return + const canvas = res[0].node + const ctx = canvas.getContext('2d') + const dpr = wx.getSystemInfoSync().pixelRatio || 1 + // 5:4 比例,控制导出文件<128KB;画布逻辑像素 500x400,实际按 dpr 放大 + const W = 500 + const H = 400 + canvas.width = W * dpr + canvas.height = H * dpr + ctx.scale(dpr, dpr) + ctx.clearRect(0, 0, W, H) + + const theme = this.data.theme || themeMod.getCurrentTheme() + const primary = theme.primary || '#FF6B35' + + // 与完成弹窗视觉一致的成绩数据 + const elapsed = this.data.completionActualElapsed || this.data.completionElapsed || 0 + const streak = this.data.completionStreak || 0 + const message = this.data.completionMessage || '完成!' + + // helpers + const roundRect = (x, y, w, h, r) => { + const rr = Math.min(r, w / 2, h / 2) + ctx.beginPath() + ctx.moveTo(x + rr, y) + ctx.lineTo(x + w - rr, y) + ctx.quadraticCurveTo(x + w, y, x + w, y + rr) + ctx.lineTo(x + w, y + h - rr) + ctx.quadraticCurveTo(x + w, y + h, x + w - rr, y + h) + ctx.lineTo(x + rr, y + h) + ctx.quadraticCurveTo(x, y + h, x, y + h - rr) + ctx.lineTo(x, y + rr) + ctx.quadraticCurveTo(x, y, x + rr, y) + ctx.closePath() + } + + const drawStar = (cx, cy, outerR, innerR, points) => { + ctx.beginPath() + for (let i = 0; i < points * 2; i++) { + const r = i % 2 === 0 ? outerR : innerR + const a = (Math.PI / points) * i - Math.PI / 2 + const x = cx + Math.cos(a) * r + const y = cy + Math.sin(a) * r + if (i === 0) ctx.moveTo(x, y) + else ctx.lineTo(x, y) + } + ctx.closePath() + } + + // --- background --- + ctx.fillStyle = '#F7F8FA' + ctx.fillRect(0, 0, W, H) + + // --- top brand --- + ctx.fillStyle = '#888888' + ctx.font = 'normal 400 18px sans-serif' + ctx.textAlign = 'center' + ctx.textBaseline = 'alphabetic' + ctx.fillText('平板的支撑', W / 2, 36) + + // --- main card shadow --- + ctx.save() + ctx.fillStyle = 'rgba(0,0,0,0.06)' + roundRect(38, 54, 424, 250, 22) + ctx.fill() + ctx.restore() + + // --- main card --- + ctx.save() + ctx.fillStyle = '#FFFFFF' + roundRect(35, 52, 430, 246, 20) + ctx.fill() + ctx.restore() + + // --- gradient circle icon (same feel as completion-emoji-wrap) --- + const circleX = W / 2 + const circleY = 108 + const circleR = 40 + const grad = ctx.createLinearGradient(circleX - circleR, circleY - circleR, circleX + circleR, circleY + circleR) + grad.addColorStop(0, '#4CAF50') + grad.addColorStop(1, '#81C784') + ctx.fillStyle = grad + ctx.beginPath() + ctx.arc(circleX, circleY, circleR, 0, Math.PI * 2) + ctx.fill() + + // --- white star --- + ctx.fillStyle = '#FFFFFF' + drawStar(circleX, circleY, 20, 8, 5) + ctx.fill() + + // --- status text --- + ctx.fillStyle = '#333333' + ctx.font = 'normal 600 22px sans-serif' + ctx.textAlign = 'center' + ctx.textBaseline = 'alphabetic' + ctx.fillText(message, W / 2, 172) + + // --- big number + unit --- + const fmt = this._formatShareDuration(elapsed) + const numLen = fmt.num.length + const numSize = numLen <= 2 ? 90 : numLen <= 3 ? 76 : numLen <= 4 ? 60 : 48 + ctx.font = `normal 800 ${numSize}px sans-serif` + ctx.textAlign = 'right' + ctx.textBaseline = 'alphabetic' + ctx.fillStyle = primary + const numX = W / 2 + 4 + const numY = 230 + ctx.fillText(fmt.num, numX, numY) + + ctx.fillStyle = '#666666' + ctx.font = 'normal 600 22px sans-serif' + ctx.textAlign = 'left' + ctx.fillText(fmt.unit, numX + 8, numY - 6) + + // --- streak --- + if (streak > 0) { + ctx.fillStyle = primary + ctx.font = 'normal 500 18px sans-serif' + ctx.textAlign = 'center' + ctx.fillText(`连续打卡 ${streak} 天`, W / 2, 272) + } + + // --- bottom left: CTA text --- + ctx.textAlign = 'left' + ctx.textBaseline = 'alphabetic' + ctx.fillStyle = '#333333' + ctx.font = 'normal 700 22px sans-serif' + ctx.fillText('扫码一起打卡', 48, 338) + + ctx.fillStyle = '#999999' + ctx.font = 'normal 400 15px sans-serif' + ctx.fillText('平板的支撑 · 每天进步一点点', 48, 366) + + // --- bottom right: QR code --- + const qrSize = 88 + const qrX = W - 48 - qrSize + const qrY = 308 + const doExport = () => { + wx.canvasToTempFilePath({ + canvas, + width: W, + height: H, + destWidth: W, + destHeight: H, + fileType: 'jpg', + quality: 0.9, + success: (r) => { + this._shareImageUrl = r.tempFilePath + }, + fail: (err) => { + console.warn('[sharePoster] export failed', err) + } + }) + } + + const img = canvas.createImage() + img.src = '/static/share-qr.jpg' + img.onload = () => { + ctx.save() + ctx.fillStyle = '#FFFFFF' + roundRect(qrX - 6, qrY - 6, qrSize + 12, qrSize + 12, 8) + ctx.fill() + ctx.drawImage(img, qrX, qrY, qrSize, qrSize) + ctx.restore() + doExport() + } + img.onerror = () => { + // 二维码加载失败时仍导出一张无二维码的海报,避免分享按钮失效 + doExport() + } + }) + }, + + /** + * 分享图专用时长格式化(与弹窗 WXS fmt 口径一致)。 + */ + _formatShareDuration(s) { + s = Math.floor(s || 0) + if (s < 60) return { num: String(s), unit: '秒' } + const m = Math.floor(s / 60) + const sec = s % 60 + return sec === 0 ? { num: String(m), unit: '分钟' } : { num: `${m}分${sec}`, unit: '秒' } + }, + /** * 分享给朋友。训练完成弹窗里的分享按钮会走到这里,标题里拼上用户 * 刚才撑了多久,转化率更高;右上角"···"菜单也共用同一份文案。 @@ -978,7 +1178,8 @@ Page({ const s = config.share.timer return { title: s.titleTemplate.replace('{elapsed}', elapsed), - path: s.path + path: s.path, + imageUrl: this._shareImageUrl || '' } }, diff --git a/pages/timer/timer.wxml b/pages/timer/timer.wxml index e357234..641288a 100644 --- a/pages/timer/timer.wxml +++ b/pages/timer/timer.wxml @@ -215,4 +215,7 @@ + + + diff --git a/pages/timer/timer.wxss b/pages/timer/timer.wxss index 394a07b..385eeb9 100644 --- a/pages/timer/timer.wxss +++ b/pages/timer/timer.wxss @@ -638,3 +638,14 @@ color: #FFFFFF; box-shadow: 0 6rpx 16rpx rgba(var(--primary-rgb), 0.3); } + +/* ---- hidden canvas for share poster (drawn on completion, consumed by onShareAppMessage) ---- */ +.share-poster-canvas { + position: fixed; + left: -9999px; + top: -9999px; + width: 500px; + height: 400px; + pointer-events: none; + opacity: 0; +} diff --git a/static/share-qr.jpg b/static/share-qr.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8bc4ceb776b001b2f9a19e8987ebce66f0d36528 GIT binary patch literal 53215 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 N<)4w~|JVH2