From 3a7380134049864f2967c07187ca6f0d6a90b00f Mon Sep 17 00:00:00 2001 From: Megghy Date: Sat, 26 Apr 2025 05:24:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E7=BB=84=E4=BB=B6=EF=BC=8C=E5=A2=9E=E5=BC=BA?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=8A=A0=E8=BD=BD=E5=92=8C=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 PointOrderView 和 PointUserHistoryView 中新增数据加载完成事件,优化数据获取逻辑。 - 在 PointUserLayout 中实现标签页数据加载状态管理,提升用户体验。 - 为各组件添加重置方法,支持父组件调用,增强灵活性。 - 更新 PointUserSettings 组件,提供重置功能,确保状态管理一致性。 --- src/views/pointViews/PointOrderView.vue | 22 ++- src/views/pointViews/PointUserHistoryView.vue | 27 ++- src/views/pointViews/PointUserLayout.vue | 168 ++++++++++++++++-- src/views/pointViews/PointUserSettings.vue | 13 ++ 4 files changed, 211 insertions(+), 19 deletions(-) diff --git a/src/views/pointViews/PointOrderView.vue b/src/views/pointViews/PointOrderView.vue index 1d20ef7..c90f99e 100644 --- a/src/views/pointViews/PointOrderView.vue +++ b/src/views/pointViews/PointOrderView.vue @@ -3,7 +3,7 @@ import { ResponsePointOrder2UserModel } from '@/api/api-models' import PointOrderCard from '@/components/manage/PointOrderCard.vue' import { POINT_API_URL } from '@/data/constants' import { useAuthStore } from '@/store/useAuthStore' -import { NEmpty, NSpin, useMessage } from 'naive-ui' +import { NButton, NEmpty, NFlex, NSpin, useMessage } from 'naive-ui' import { onMounted, ref } from 'vue' const message = useMessage() @@ -12,11 +12,17 @@ const useAuth = useAuthStore() const orders = ref([]) const isLoading = ref(false) +// 定义加载完成的事件 +const emit = defineEmits(['dataLoaded']) + async function getOrders() { try { isLoading.value = true const data = await useAuth.QueryBiliAuthGetAPI(POINT_API_URL + 'user/get-orders') if (data.code == 200) { + orders.value = data.data + // 触发数据加载完成事件 + emit('dataLoaded') return data.data } else { message.error('获取订单失败: ' + data.message) @@ -30,6 +36,17 @@ async function getOrders() { return [] } +// 提供给父组件调用的重置方法 +function reset() { + orders.value = [] +} + +// 暴露方法给父组件 +defineExpose({ + getOrders, + reset +}) + onMounted(async () => { orders.value = await getOrders() }) @@ -37,6 +54,9 @@ onMounted(async () => {