feat: 添加自定义二维码图片及其优先级配置支持
This commit is contained in:
@@ -319,9 +319,38 @@ export default {
|
||||
showQrBase() {
|
||||
return flagOn(this.c.showQr, false) && !!this.qrSrc;
|
||||
},
|
||||
/** 二维码码源(2.18): 用户自定义图片(媒体库)优先, 空=名片自动生成的码 */
|
||||
/**
|
||||
* 二维码来源优先级模式(2.20.1, 由用户在 DIY 组件面板显式选择):
|
||||
* card 名片级 > 组件级 > 系统码(默认)
|
||||
* component 组件级 > 名片级 > 系统码
|
||||
* system 仅系统生成码(忽略全部自定义图)
|
||||
* 非法/缺失一律回落 'card' —— 与后端 CardQrSource::normalizePriority 同口径。
|
||||
*/
|
||||
qrPriority() {
|
||||
const m = String(this.c.qrPriority || '').trim();
|
||||
return ['card', 'component', 'system'].includes(m) ? m : 'card';
|
||||
},
|
||||
/**
|
||||
* 二维码码源(2.20 三层来源 + 2.20.1 可选优先级, 与后端 CardQrSource::resolve 同口径):
|
||||
* - 名片级 card.qr_image 每张名片各自一张(员工/企业都适用)
|
||||
* - 组件级 c.qrImage 装修期统一指定
|
||||
* - 系统码 card.qr_url 原有行为, 兜底
|
||||
*/
|
||||
qrSrc() {
|
||||
const mode = this.qrPriority;
|
||||
if (mode === 'system') {
|
||||
return (this.card && this.card.qr_url) || '';
|
||||
}
|
||||
const own = String((this.card && this.card.qr_image) || '').trim();
|
||||
const custom = String(this.c.qrImage || '').trim();
|
||||
if (mode === 'component') {
|
||||
// 组件级优先: 组件图 → 名片图 → 系统码
|
||||
if (custom) return custom;
|
||||
if (own) return own;
|
||||
return (this.card && this.card.qr_url) || '';
|
||||
}
|
||||
// card(默认): 名片级 → 组件级 → 系统码
|
||||
if (own) return own;
|
||||
if (custom) return custom;
|
||||
return (this.card && this.card.qr_url) || '';
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user