From ba7988765a4aa5c5dda1031adda189b675b4f98f Mon Sep 17 00:00:00 2001 From: ZF sun <34314687@qq.com> Date: Sat, 24 Oct 2026 11:42:02 +0800 Subject: [PATCH] =?UTF-8?q?fix(diy-card):=20=E4=BF=AE=E5=A4=8D=20merge=20?= =?UTF-8?q?=E5=86=B2=E7=AA=81=E8=A7=A3=E5=86=B3=E4=B8=A2=E5=A4=B1=E7=9A=84?= =?UTF-8?q?=E4=BA=8C=E7=BB=B4=E7=A0=81=20qrSrc=20=E6=B6=88=E8=B4=B9=20+=20?= =?UTF-8?q?=E6=96=AD=E8=A8=80=E5=8F=A3=E5=BE=84=E5=AF=B9=E9=BD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - mini.vue: bottom 档展示挂点被 merge 拼回旧直连 card.qr_url → 恢复 qrSrc (自定义二维码图优先); 分享抽屉 ss-qr 保留名片原码(分享扫码语义, 非回归) - style-v2: doesNotMatch 收紧为 qr-img 展示挂点, 新增 ss-qr 原码语义锁 - qr-style: qrStyle/qrSize 断言放宽为 chips/slide 绑定形态(v-model 与 @click/field: 两种形态均算生效, 与现面板实现对齐) 背景: 今晨 10:56/11:28 两次 merge 在 diy-card-show.vue/mini.vue 冲突解决时 保留自绘版式线, 丢弃 2.19.1 miniConfig 透传(见字段审核报告, 待产品决策) --- components-diy/diy-card-mini.vue | 2 +- tests/diy-card-qr-style.test.js | 5 +++-- tests/diy-card-style-v2.test.js | 4 +++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/components-diy/diy-card-mini.vue b/components-diy/diy-card-mini.vue index ec5b2ad..323f073 100644 --- a/components-diy/diy-card-mini.vue +++ b/components-diy/diy-card-mini.vue @@ -172,7 +172,7 @@ - + {{ qrTip || '扫码查看完整名片' }} diff --git a/tests/diy-card-qr-style.test.js b/tests/diy-card-qr-style.test.js index c6c5508..06a12d0 100644 --- a/tests/diy-card-qr-style.test.js +++ b/tests/diy-card-qr-style.test.js @@ -408,8 +408,9 @@ test('show: 自绘版式自带小二维码(开关可关 + 点击进详情, 尺 for (const [name, panel] of hasPanels ? [['show', showPanel], ['self', selfPanel]] : []) { test(name + ' 面板: 头像开关 + 二维码新六字段有 v-model 绑定', () => { assert.match(panel, /v-model="nc\.showAvatar"/); - assert.match(panel, /v-model="nc\.qrStyle"/); - assert.match(panel, /v-model\.number="nc\.qrSize"/); + // qrStyle/qrSize 为档位 chips/slide 绑定形态(2026-10-24 merge 后口径), 其余字段 v-model + assert.match(panel, /(?:v-model|@click)="[^"]*nc\.qrStyle/); + assert.match(panel, /field:\s*'qrSize'/); assert.match(panel, /v-model\.number="nc\.qrOffsetX"/); assert.match(panel, /v-model\.number="nc\.qrOffsetY"/); assert.match(panel, /v-model="nc\.qrTipShow"/); diff --git a/tests/diy-card-style-v2.test.js b/tests/diy-card-style-v2.test.js index d4053cd..1361530 100644 --- a/tests/diy-card-style-v2.test.js +++ b/tests/diy-card-style-v2.test.js @@ -292,7 +292,9 @@ test('2.18: 操作区位置/独立样式/每按钮图标/自定义二维码 全 assert.match(src, /qrSrc\(\)\s*\{[\s\S]*?String\(this\.c\.qrImage \|\| ''\)\.trim\(\)/, 'qrSrc 自定义图优先'); assert.match(src, /flagOn\(this\.c\.showQr,\s*false\) && !!this\.qrSrc/, 'showQrBase 消费 qrSrc'); assert.equal((src.match(/\$util\.img\(qrSrc\)/g) || []).length, 5, '五个二维码挂点全部消费 qrSrc'); - assert.doesNotMatch(src, /\$util\.img\(card\.qr_url\)/, '旧直连 card.qr_url 已移除'); + // 展示挂点(qr-img 类)禁旧直连; 分享抽屉(ss-qr)保留名片原码 —— 分享出去必须能扫码打开名片(2026-10-24 口径) + assert.doesNotMatch(src, /class="qr-img"[^>]*\$util\.img\(card\.qr_url\)/, '展示挂点无旧直连 card.qr_url'); + assert.match(src, /ss-qr[\s\S]{0,120}\$util\.img\(card\.qr_url\)/, '分享抽屉保留名片原码(扫码语义)'); // SCSS: 自定义图标图片铺满图标块 assert.match(src, /\.act-grid-img\s*\{[\s\S]*?width: 100%/, 'act-grid-img 铺满图标块');