chore(store): 更新store定义

This commit is contained in:
2025-12-20 15:57:36 +08:00
parent 3c795256e8
commit 3556691b56

View File

@@ -50,20 +50,25 @@ const store = new Vuex.Store({
goods: '', goods: '',
head: '', head: '',
store: '', store: '',
article: '' article: '',
aiAgent: ''
}, },
cartList: {}, cartList: {},
cartIds: [], cartIds: [],
cartNumber: 0, cartNumber: 0,
cartMoney: 0, cartMoney: 0,
cartChange: 0, cartChange: 0,
wechatConfigStatus:0,
bottomNavHidden: false, // 底部导航是否隐藏true隐藏false显示 bottomNavHidden: false, // 底部导航是否隐藏true隐藏false显示
aiUnreadCount: 10, // AI未读消息数量
globalAIKefuConfig: null, // AI客服配置
globalStoreConfig: null, // 门店配置 globalStoreConfig: null, // 门店配置
globalStoreInfo: null, // 门店信息 globalStoreInfo: null, // 门店信息
defaultStoreInfo: null, // 默认门店 defaultStoreInfo: null, // 默认门店
cartPosition: null, // 购物车所在位置 cartPosition: null, // 购物车所在位置
componentRefresh: 0, // 组件刷新 componentRefresh: 0, // 组件刷新
servicerConfig: null, // 客服配置 servicerConfig: null, // 客服配置
wxworkConfig: null, // 企业微信配置
diySeckillInterval: 0, diySeckillInterval: 0,
diyGroupPositionObj: {}, diyGroupPositionObj: {},
diyGroupShowModule: '', diyGroupShowModule: '',
@@ -71,11 +76,21 @@ const store = new Vuex.Store({
mapConfig: { mapConfig: {
tencent_map_key: '', tencent_map_key: '',
wap_is_open: 1, wap_is_open: 1,
wap_valid_time: 0 wap_valid_time: 0,
},
copyright: null,
initStatus:false,
offlineWhiteList:['pages/order/payment','pages/order/list','pages/order/detail'],//线下支付白名单
canReceiveRegistergiftInfo: {
status: false,
path: ''
}, },
copyright: null
}, },
mutations: { mutations: {
// 设置是否可以领取新人礼
setCanReceiveRegistergiftInfo(state, data) {
state.canReceiveRegistergiftInfo = data;
},
// 设置那些组件展示 // 设置那些组件展示
setDiyGroupShowModule(state, data) { setDiyGroupShowModule(state, data) {
state.diyGroupShowModule = data; state.diyGroupShowModule = data;
@@ -137,6 +152,10 @@ const store = new Vuex.Store({
setBottomNavHidden(state, value) { setBottomNavHidden(state, value) {
state.bottomNavHidden = value; state.bottomNavHidden = value;
}, },
setglobalAIKefuConfig(state, value) {
state.globalAIKefuConfig = value;
uni.setStorageSync('globalAIKefuConfig', value); // 初始化数据调用
},
setGlobalStoreConfig(state, value) { setGlobalStoreConfig(state, value) {
state.globalStoreConfig = value; state.globalStoreConfig = value;
uni.setStorageSync('globalStoreConfig', value); // 初始化数据调用 uni.setStorageSync('globalStoreConfig', value); // 初始化数据调用
@@ -160,6 +179,11 @@ const store = new Vuex.Store({
state.servicerConfig = value; state.servicerConfig = value;
uni.setStorageSync('servicerConfig', value); uni.setStorageSync('servicerConfig', value);
}, },
// 企业微信配置
setWxworkConfig(state, value) {
state.wxworkConfig = value;
uni.setStorageSync('wxworkConfig', value);
},
setDiySeckillInterval(state, value) { setDiySeckillInterval(state, value) {
state.diySeckillInterval = value; state.diySeckillInterval = value;
}, },
@@ -175,11 +199,19 @@ const store = new Vuex.Store({
uni.setStorageSync('copyright', value); uni.setStorageSync('copyright', value);
}, },
setMemberInfo(state, value) { setMemberInfo(state, value) {
// 会员被锁定后,清除会员登录信息
if (value && value.status == 0) {
value = null;
}
state.memberInfo = value; state.memberInfo = value;
if (value) { if (value) {
uni.setStorageSync('memberInfo', value); uni.setStorageSync('memberInfo', value);
} else { } else {
// 会员为空时,清除会员登录信息
uni.removeStorageSync('memberInfo'); uni.removeStorageSync('memberInfo');
this.commit('setToken', '');
this.dispatch('emptyCart');
//uni.removeStorageSync('authInfo');
} }
}, },
setCartNumber(state, cartNumber) { setCartNumber(state, cartNumber) {
@@ -193,8 +225,24 @@ const store = new Vuex.Store({
}, },
setCartMoney(state, value) { setCartMoney(state, value) {
state.cartMoney = value; state.cartMoney = value;
},
setInitStatus(state,value){
state.initStatus = value
},
setWechatConfigStatus(state,value){
state.wechatConfigStatus = value
},
// 设置AI未读消息数量
setAiUnreadCount(state, value) {
state.aiUnreadCount = value;
} }
}, },
getters: {
// AI智能助手配置
globalAIKefuConfig: state => state.globalAIKefuConfig,
// AI未读消息数量
aiUnreadCount: state => state.aiUnreadCount,
},
actions: { actions: {
init() { init() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -215,16 +263,24 @@ const store = new Vuex.Store({
this.commit('setSiteInfo', data.site_info); this.commit('setSiteInfo', data.site_info);
this.commit('setServicerConfig', data.servicer); this.commit('setServicerConfig', data.servicer);
// 企业微信配置
if (data?.wxwork_config) {
this.commit('setWxworkConfig', data.wxwork_config);
}
this.commit('setCopyright', data.copyright); this.commit('setCopyright', data.copyright);
this.commit('setMapConfig', data.map_config); this.commit('setMapConfig', data.map_config);
this.commit('setglobalAIKefuConfig', data.ai_agent_config);
this.commit('setGlobalStoreConfig', data.store_config); this.commit('setGlobalStoreConfig', data.store_config);
//联系我们 //联系我们
this.commit('setShopInfo', data.shop_info); this.commit('setShopInfo', data.shop_info);
this.commit('setWechatConfigStatus',data?.wechat_config_status);
// 默认总店 // 默认总店
if (data.store_info) { if (data.store_info) {
this.commit('setDefaultStoreInfo', data.store_info); this.commit('setDefaultStoreInfo', data.store_info);
@@ -233,7 +289,7 @@ const store = new Vuex.Store({
this.commit('setDefaultStoreInfo', null); this.commit('setDefaultStoreInfo', null);
this.commit('setGlobalStoreInfo', null); this.commit('setGlobalStoreInfo', null);
} }
this.commit('setInitStatus',true)
resolve(data); resolve(data);
} }
} }
@@ -247,7 +303,7 @@ const store = new Vuex.Store({
data: {}, data: {},
success: res => { success: res => {
if (res.code == 0) { if (res.code == 0) {
let list = []; let list = {};
let ids = []; let ids = [];
let totalMoney = 0; let totalMoney = 0;
let totalNum = 0; let totalNum = 0;
@@ -260,16 +316,17 @@ const store = new Vuex.Store({
goods_id: item.goods_id, goods_id: item.goods_id,
sku_id: item.sku_id, sku_id: item.sku_id,
num: item.num, num: item.num,
discount_price: item.discount_price discount_price: item.discount_price,
min_buy: item.min_buy,
stock: item.stock,
}; };
if (!list['goods_' + cart.goods_id]) { if (!list['goods_' + cart.goods_id]) {
list['goods_' + cart.goods_id] = {}; list['goods_' + cart.goods_id] = {};
} }
list['goods_' + cart.goods_id]['sku_' + cart list['goods_' + cart.goods_id]['max_buy'] = item.max_buy;
.sku_id list['goods_' + cart.goods_id]['goods_name'] = item.goods_name;
] = list['goods_' + cart.goods_id]['sku_' + cart.sku_id] = cart;
cart;
ids.push(cart.cart_id); ids.push(cart.cart_id);
}); });
@@ -280,8 +337,7 @@ const store = new Vuex.Store({
let item = list[goods][sku]; let item = list[goods][sku];
if (typeof item == 'object') { if (typeof item == 'object') {
num += item.num; num += item.num;
money += parseFloat(item.discount_price) * parseInt(item money += parseFloat(item.discount_price) * parseInt(item.num);
.num);
} }
} }
list[goods].num = num; list[goods].num = num;
@@ -292,7 +348,6 @@ const store = new Vuex.Store({
} }
} }
this.commit('setCartList', list); this.commit('setCartList', list);
this.commit('setCartIds', ids); this.commit('setCartIds', ids);