优化营销中心霸王餐/超级会员分店限时

This commit is contained in:
gyq
2025-12-05 16:00:51 +08:00
parent b5719c3d0c
commit 6355534a15
6 changed files with 566 additions and 634 deletions

View File

@@ -16,25 +16,51 @@ export const isMainShop = (shopId) => {
return false
}
/**
* 判断值是否为 非null + 非空对象(纯对象)
* @param {any} obj 要检测的值
* @returns {boolean} true=非空对象false=否则
*/
function isNonEmptyObject(obj) {
// 第一步:排除 null/undefined
if (obj === null || obj === undefined) {
return false;
}
// 第二步:排除非纯对象(数组、函数、日期等)
if (Object.prototype.toString.call(obj) !== '[object Object]') {
return false;
}
// 第三步:判断是否为空对象(无自有可枚举属性)
for (const key in obj) {
// 只检测自有属性(排除原型链属性)
if (Object.prototype.hasOwnProperty.call(obj, key)) {
return true;
}
}
return false;
}
/**
* 主店在配置该功能时未选择分店
* 判断分店是否显示活动信息
* @param {Object} activit
* 活动信息
*/
export function isMarketShow(activit = null, key = 'shopIdList') {
console.log('isMarketShow===', activit);
if (activit == null || !activit.id) return false
export function isMarketShow(activit = null, key = 'shopIdList', isEnableKey = 'isEnable') {
console.log('isMarketShow.activit===', activit);
if (!isNonEmptyObject(activit)) return false
let flag = false
const shopInfo = uni.getStorageSync("shopInfo");
if (!shopInfo.isHeadShop && (!activit[key].some(item => item == shopInfo.id) || !activit.isEnable)) {
if (!shopInfo.isHeadShop && (!activit[key].some(item => item == shopInfo.id) || !activit[isEnableKey])) {
flag = true
} else {
flag = false
}
console.log('isMarketShow===', flag);
console.log('isMarketShow.flag===', flag);
return flag
}