import { defineStore } from 'pinia' import router from '@/router' interface cartState { cartList: Api.xsbCategoryProductList[] } export const useXsbCartStore = defineStore('xsb-cart', { state: (): cartState => ({ cartList: [], }), actions: { /** * 星闪豹加入购物车逻辑 * @param skuId 商品skuId * @param num 商品数量 */ async addCart(skuId: number, num: number) { return new Promise((resolve, reject) => { if (!skuId) { useGlobalToast().show({ msg: '请选择商品规格' }) return reject(new Error('请选择商品规格')) } const { userInfo, token } = storeToRefs(useUserStore()) if (!token.value) { useGlobalToast().show({ msg: '请先登录' }) setTimeout(() => { router.replace({ name: 'smqjh-login' }) }, 2000) return reject(new Error('请先登录')) } const { SelectShopInfo } = storeToRefs(useSysXsbStore()) Apis.common.addShoppingCart({ data: { businessType: 'XSB', skuId, num, shopId: SelectShopInfo.value?.shopId, channelId: userInfo.value.channelId, }, }).then((res) => { resolve(res) }) }) }, }, })