| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- 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)
- })
- })
- },
- },
- })
|