diff --git a/src/components/dialog/SubscribeHistoryDialog.vue b/src/components/dialog/SubscribeHistoryDialog.vue
index 48b86879..7622e984 100644
--- a/src/components/dialog/SubscribeHistoryDialog.vue
+++ b/src/components/dialog/SubscribeHistoryDialog.vue
@@ -43,11 +43,10 @@ async function loadHistory({ done }: { done: any }) {
return
}
- // 设置加载中
- loading.value = true
-
// 调用API查询列表
try {
+ // 设置加载中
+ loading.value = true
currData.value = await api.get(`subscribe/history/${props.type}`, {
params: {
page: currentPage.value,
@@ -58,17 +57,17 @@ async function loadHistory({ done }: { done: any }) {
isRefreshed.value = true
if (currData.value.length === 0) {
// 如果没有数据,跳出
+ done('error')
+ } else {
+ // 合并数据
+ historyList.value = [...historyList.value, ...currData.value]
+ // 页码+1
+ currentPage.value++
+ // 返回加载成功
done('ok')
- return
}
- // 合并数据
- historyList.value = [...historyList.value, ...currData.value]
- // 页码+1
- currentPage.value++
// 取消加载中
loading.value = false
- // 返回加载成功
- done('ok')
} catch (e) {
console.error(e)
// 返回加载失败
diff --git a/src/views/discover/MediaCardListView.vue b/src/views/discover/MediaCardListView.vue
index af9a38db..877205cc 100644
--- a/src/views/discover/MediaCardListView.vue
+++ b/src/views/discover/MediaCardListView.vue
@@ -52,66 +52,58 @@ async function fetchData({ done }: { done: any }) {
// 如果正在加载中,直接返回
if (loading.value) {
done('ok')
-
return
}
- // 设置加载中
- loading.value = true
-
// 加载到满屏或者加载出错
if (!hasScroll()) {
// 加载多次
while (!hasScroll()) {
+ // 设置加载中
+ loading.value = true
// 请求API
currData.value = await api.get(props.apipath, {
params: getParams(),
})
-
+ // 取消加载中
+ loading.value = false
// 标计为已请求完成
isRefreshed.value = true
if (currData.value.length === 0) {
// 如果没有数据,跳出
- done('ok')
-
+ done('error')
return
}
-
// 合并数据
dataList.value = [...dataList.value, ...currData.value]
-
// 页码+1
page.value++
}
}
else {
// 加载一次
+ // 设置加载中
+ loading.value = true
// 请求API
currData.value = await api.get(props.apipath, {
params: getParams(),
})
-
// 标计为已请求完成
isRefreshed.value = true
if (currData.value.length === 0) {
// 如果没有数据,跳出
+ done('error')
+ } else {
+ // 合并数据
+ dataList.value = [...dataList.value, ...currData.value]
+ // 页码+1
+ page.value++
+ // 返回加载成功
done('ok')
-
- return
}
-
- // 合并数据
- dataList.value = [...dataList.value, ...currData.value]
-
- // 页码+1
- page.value++
}
-
// 取消加载中
loading.value = false
-
- // 返回加载成功
- done('ok')
}
catch (error) {
console.error(error)
diff --git a/src/views/discover/PersonCardListView.vue b/src/views/discover/PersonCardListView.vue
index 8f576a06..ddf14c0e 100644
--- a/src/views/discover/PersonCardListView.vue
+++ b/src/views/discover/PersonCardListView.vue
@@ -42,74 +42,67 @@ async function fetchData({ done }: { done: any }) {
// 如果正在加载中,直接返回
if (loading.value) {
done('ok')
-
return
}
- // 设置加载中
- loading.value = true
-
// 加载到满屏或者加载出错
if (!hasScroll()) {
// 加载多次
while (!hasScroll()) {
+ // 设置加载中
+ loading.value = true
// 请求API
currData.value = await api.get(props.apipath, {
params: {
page: page.value,
},
})
-
+ // 取消加载中
+ loading.value = false
// 标计为已请求完成
isRefreshed.value = true
if (currData.value.length === 0) {
// 如果没有数据,跳出
+ done('error')
+ } else {
+ // 合并数据
+ dataList.value = [...dataList.value, ...currData.value]
+ // 页码+1
+ page.value++
+ // 返回加载成功
done('ok')
-
- return
}
-
- // 合并数据
- dataList.value = [...dataList.value, ...currData.value]
-
- // 页码+1
- page.value++
}
}
else {
// 加载一次
+ // 设置加载中
+ loading.value = true
// 请求API
currData.value = await api.get(props.apipath, {
params: {
page: page.value,
},
})
-
// 标计为已请求完成
isRefreshed.value = true
if (currData.value.length === 0) {
// 如果没有数据,跳出
+ done('error')
+ } else {
+ // 合并数据
+ dataList.value = [...dataList.value, ...currData.value]
+ // 页码+1
+ page.value++
+ // 返回加载成功
done('ok')
-
- return
}
-
- // 合并数据
- dataList.value = [...dataList.value, ...currData.value]
-
- // 页码+1
- page.value++
+ // 取消加载中
+ loading.value = false
}
-
- // 取消加载中
- loading.value = false
-
- // 返回加载成功
- done('ok')
}
catch (error) {
console.error(error)
-
// 返回加载失败
done('error')
}
diff --git a/src/views/system/MessageView.vue b/src/views/system/MessageView.vue
index 48a07b45..f7a0c29c 100644
--- a/src/views/system/MessageView.vue
+++ b/src/views/system/MessageView.vue
@@ -55,38 +55,39 @@ async function loadMessages({ done }: { done: any }) {
done('ok')
return
}
- // 设置加载中
- loading.value = true
try {
+ // 设置加载中
+ loading.value = true
currData.value = await api.get('message/web', {
params: {
page: page.value,
size: 20,
},
})
+ // 已加载过
+ isLoaded.value = true
if (currData.value.length > 0) {
// 取最后一条时间为存量消息最新时间
lastTime.value = currData.value[currData.value.length - 1].reg_time ?? ''
// 合并数据
messages.value = [...currData.value, ...messages.value]
- // 加载完成
- done('ok')
if (page.value === 1) {
// 滚动到底部
emit('scroll')
- // 监听SSE消息
- startSSEMessager()
}
// 页码+1
page.value++
+ // 完成
+ done('ok')
}
else {
- done('ok')
- // 监听SSE消息
- startSSEMessager()
+ // 没有新数据
+ done('error')
}
+ // 取消加载中
loading.value = false
- isLoaded.value = true
+ // 监听SSE消息
+ startSSEMessager()
}
catch (error) {
console.error(error)
@@ -117,13 +118,7 @@ onBeforeUnmount(() => {
@load="loadMessages"
>
-