diff --git a/src/App.vue b/src/App.vue index 2695f34..8d548ca 100644 --- a/src/App.vue +++ b/src/App.vue @@ -5,12 +5,14 @@ import { useDark } from "@@/composables/useDark" import { useWxStore } from "@/pinia/stores/wx" import { tokenLogin } from '@/common/apis/ab98' import { useAb98UserStore } from '@/pinia/stores/ab98-user' +import { useProductStore } from "./pinia/stores/product" // const userStore = useUserStore() -const wxStore = useWxStore() -const route = useRoute() -const router = useRouter() -const ab98UserStore = useAb98UserStore() +const wxStore = useWxStore(); +const route = useRoute(); +const router = useRouter(); +const ab98UserStore = useAb98UserStore(); +const productStore = useProductStore(); const { isDark, initDark } = useDark() diff --git a/src/common/apis/shop/index.ts b/src/common/apis/shop/index.ts index e106b27..6f19f75 100644 --- a/src/common/apis/shop/index.ts +++ b/src/common/apis/shop/index.ts @@ -5,10 +5,13 @@ import { GetOpenIdRequestParams } from './type' /** 获取商品列表 */ -export function getShopGoodsApi() { +export function getShopGoodsApi(shopId: number|null) { return request({ url: "shop/goods", - method: "get" + method: "get", + params: { + shopId: shopId ? shopId : undefined + } }) } diff --git a/src/pinia/stores/product.ts b/src/pinia/stores/product.ts index 0310069..92e9864 100644 --- a/src/pinia/stores/product.ts +++ b/src/pinia/stores/product.ts @@ -14,12 +14,24 @@ export interface Product { export const useProductStore = defineStore("product", () => { // 商品数据 - const labels = ref>([]) - const categories = ref([]) + const labels = ref>([]); + const categories = ref([]); + const shopId = ref(null); + + const setShopId = (id: number|string) => { + shopId.value = Number(id); + getGoods(); + } const getGoods = async () => { + const urlParams = new URLSearchParams(window.location.search); + const shopIdParams = urlParams.get('shopId') || undefined; + if (shopIdParams) { + shopId.value = Number(shopIdParams); + } + try { - const { data } = await getShopGoodsApi() + const { data } = await getShopGoodsApi(shopId.value); // 转换分类标签 labels.value = data.categoryList.map(c => ({ @@ -42,8 +54,7 @@ export const useProductStore = defineStore("product", () => { console.error("获取商品数据失败:", error) } } - getGoods() - return { labels, categories, getGoods } + return { labels, categories, shopId, getGoods, setShopId } }) /**