feat(商品): 添加店铺ID参数以支持按店铺获取商品列表
在 `getShopGoodsApi` 中添加 `shopId` 参数,允许根据店铺ID过滤商品列表。同时,在 `useProductStore` 中新增 `shopId` 状态和 `setShopId` 方法,用于动态设置店铺ID并触发商品数据更新。这些改动支持了按店铺筛选商品的功能。
This commit is contained in:
parent
17bdb83982
commit
638300113b
10
src/App.vue
10
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()
|
||||
|
||||
|
|
|
@ -5,10 +5,13 @@ import { GetOpenIdRequestParams } from './type'
|
|||
|
||||
|
||||
/** 获取商品列表 */
|
||||
export function getShopGoodsApi() {
|
||||
export function getShopGoodsApi(shopId: number|null) {
|
||||
return request<ShopGoodsResponseData>({
|
||||
url: "shop/goods",
|
||||
method: "get"
|
||||
method: "get",
|
||||
params: {
|
||||
shopId: shopId ? shopId : undefined
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
@ -14,12 +14,24 @@ export interface Product {
|
|||
|
||||
export const useProductStore = defineStore("product", () => {
|
||||
// 商品数据
|
||||
const labels = ref<Array<{ id: number, name: string }>>([])
|
||||
const categories = ref<Product[]>([])
|
||||
const labels = ref<Array<{ id: number, name: string }>>([]);
|
||||
const categories = ref<Product[]>([]);
|
||||
const shopId = ref<number|null>(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 }
|
||||
})
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue