This commit is contained in:
2026-08-03 15:34:43 +08:00
parent 0598f97efe
commit be1e175471

View File

@@ -274,15 +274,10 @@ export default {
__cid: 'rc_' + Date.now() + '_' + Math.floor(Math.random() * 10000)
};
},
computed: {
/* 开关解析:兼容 true / false / 1 / 0 / 'true' / 'false'(后端配置可能传字符串) */
isFeatureOn(v) {
if (v === false || v === 0 || v === '0' || v === 'false' || v === null || v === undefined) return false;
return !!v;
},
/* ✅ 关键修复:props.value 为空对象 {} 时,Vue 的 props default 不会生效(只有 value === undefined 才用 default)
这里做一次深 merge:把 props.value 里非空字段覆盖到默认 defaultValue 上,保证商家后台没配置的字段也能拿到默认值,否则所有 style 都是 undefined 导致模板样式全空,组件透明不可见 */
nc() {
computed: {
nc() {
const raw = (this.value && typeof this.value === 'object') ? this.value : {};
const def = this.$options.props.value.default.call(this);
// 深合并:遍历 default 的所有 key,raw 里有就用 raw 的,否则用 default 的
@@ -545,6 +540,10 @@ export default {
* 裸返回 {code:'...', share_link:'...'} (没包 code/msg 外层)
* 统一返回 { ok: bool, businessCode: number, msg: string, data: object, raw: any }
*/
isFeatureOn(v) {
if (v === false || v === 0 || v === '0' || v === 'false' || v === null || v === undefined) return false;
return !!v;
},
_unwrapRecommendResponse(res) {
const cid = this.__cid;
var out = { ok: false, businessCode: -1, msg: '', data: {}, raw: res };