refactor: 将Data到ViewModel的转换由App转移至Server端
All checks were successful
deploy to server / build-and-deploy (push) Successful in 3m15s

- 将逻辑转移到Server端后,简化前端逻辑
This commit is contained in:
2025-11-13 20:45:43 +08:00
parent e215a4d498
commit 23f2700c0f
70 changed files with 904 additions and 614 deletions

View File

@ -37,16 +37,7 @@
// 获取路由参数
const id = route.params.slug as string;
const { data, pending, error } = await useProduct(id);
const rawProduct = computed(() => data.value ?? null);
const product = computed(() => {
if (rawProduct.value === null) {
return null;
}
return toProductView(rawProduct.value);
});
const { data: product, pending, error } = await useProduct(id);
const breadcrumbItems = computed(() => [
{ label: $t('navigation.home'), to: localePath('/') },

View File

@ -37,7 +37,7 @@
const localePath = useLocalePath();
const { getImageUrl } = useDirectusImage();
const { data, pending, error } = await useProductList();
const { data: products, pending, error } = await useProductList();
const activeNames = ref<string[]>([]);
@ -46,14 +46,6 @@
{ label: $t('navigation.products') },
];
const productsRaw = computed(() => data.value ?? []);
const products = computed(() =>
productsRaw.value.map((item) => toProductListView(item))
);
logger.debug('产品列表数据: ', products.value);
// 按类型分组
const groupedProducts = computed(() => {
const groups: Record<string, { data: ProductListView[]; sort: number }> =