From 0700de36f5c5e9f94ce72e2932b442310790322f Mon Sep 17 00:00:00 2001
From: ctwj <908504609@qq.com>
Date: Sat, 2 Aug 2025 18:06:54 +0800
Subject: [PATCH] =?UTF-8?q?update:=20=E5=90=8E=E5=8F=B0=E9=A1=B5=E9=9D=A2?=
=?UTF-8?q?=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
web/components.d.ts | 1 +
web/components/ErrorToast.vue | 58 -----------------
web/components/ResourceModal.vue | 31 ++++-----
web/components/SuccessToast.vue | 58 -----------------
web/layouts/admin.vue | 9 ++-
web/layouts/single.vue | 8 ++-
web/middleware/ua-check.server.ts | 1 -
web/pages/admin/add-resource.vue | 22 ++-----
web/pages/admin/system-config.vue | 103 +++++++++++++-----------------
web/pages/login.vue | 33 ++++------
web/pages/register.vue | 36 ++++-------
11 files changed, 99 insertions(+), 261 deletions(-)
delete mode 100644 web/components/ErrorToast.vue
delete mode 100644 web/components/SuccessToast.vue
delete mode 100644 web/middleware/ua-check.server.ts
diff --git a/web/components.d.ts b/web/components.d.ts
index 83189d9..eff1fca 100644
--- a/web/components.d.ts
+++ b/web/components.d.ts
@@ -12,6 +12,7 @@ declare module 'vue' {
NAlert: typeof import('naive-ui')['NAlert']
NButton: typeof import('naive-ui')['NButton']
NInput: typeof import('naive-ui')['NInput']
+ NNotificationProvider: typeof import('naive-ui')['NNotificationProvider']
NSelect: typeof import('naive-ui')['NSelect']
NTabPane: typeof import('naive-ui')['NTabPane']
NTabs: typeof import('naive-ui')['NTabs']
diff --git a/web/components/ErrorToast.vue b/web/components/ErrorToast.vue
deleted file mode 100644
index 9dcf4ce..0000000
--- a/web/components/ErrorToast.vue
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
-
-
-
-
-
-
错误
-
- {{ message }}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/web/components/ResourceModal.vue b/web/components/ResourceModal.vue
index 8e61e32..e7a3915 100644
--- a/web/components/ResourceModal.vue
+++ b/web/components/ResourceModal.vue
@@ -114,10 +114,6 @@ Body:
-
-
-
-
@@ -147,10 +143,9 @@ Body:
import { ref, onMounted } from 'vue'
import { useResourceStore } from '~/stores/resource'
import { storeToRefs } from 'pinia'
-import SuccessToast from './SuccessToast.vue'
-import ErrorToast from './ErrorToast.vue'
import { useReadyResourceApi } from '~/composables/useApi'
+const notification = useNotification()
const store = useResourceStore()
const { categories } = storeToRefs(store)
@@ -159,10 +154,6 @@ const emit = defineEmits(['close', 'save'])
const loading = ref(false)
const newTag = ref('')
-const showSuccess = ref(false)
-const showError = ref(false)
-const successMsg = ref('')
-const errorMsg = ref('')
const tabs = [
{ label: '批量添加', value: 'batch' },
@@ -226,12 +217,14 @@ const handleBatchSubmit = async () => {
try {
if (!batchInput.value.trim()) throw new Error('请输入资源内容')
const res: any = await readyResourceApi.createReadyResourcesFromText(batchInput.value)
- showSuccess.value = true
- successMsg.value = `成功添加 ${res.count || 0} 个资源,资源已进入待处理列表,处理完成后会自动入库`
+ notification.success({
+ content: `成功添加 ${res.count || 0} 个资源,资源已进入待处理列表,处理完成后会自动入库`
+ })
batchInput.value = ''
} catch (e: any) {
- showError.value = true
- errorMsg.value = e.message || '批量添加失败'
+ notification.error({
+ content: e.message || '批量添加失败'
+ })
} finally {
loading.value = false
}
@@ -251,8 +244,9 @@ const handleSingleSubmit = async () => {
tags: [...form.value.tags],
})
}
- showSuccess.value = true
- successMsg.value = '资源已进入待处理列表,处理完成后会自动入库'
+ notification.success({
+ content: '资源已进入待处理列表,处理完成后会自动入库'
+ })
// 清空表单
form.value.title = ''
form.value.description = ''
@@ -260,8 +254,9 @@ const handleSingleSubmit = async () => {
form.value.tags = []
form.value.file_type = ''
} catch (e: any) {
- showError.value = true
- errorMsg.value = e.message || '添加失败'
+ notification.error({
+ content: e.message || '添加失败'
+ })
} finally {
loading.value = false
}
diff --git a/web/components/SuccessToast.vue b/web/components/SuccessToast.vue
deleted file mode 100644
index 62434d2..0000000
--- a/web/components/SuccessToast.vue
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
-
-
-
-
-
-
成功
-
- {{ message }}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/web/layouts/admin.vue b/web/layouts/admin.vue
index e9a08ab..9b24cb0 100644
--- a/web/layouts/admin.vue
+++ b/web/layouts/admin.vue
@@ -18,12 +18,15 @@
-
diff --git a/web/layouts/single.vue b/web/layouts/single.vue
index c833462..74076e8 100644
--- a/web/layouts/single.vue
+++ b/web/layouts/single.vue
@@ -1,6 +1,8 @@
-
-
+
+
+
+
@@ -17,7 +19,7 @@ body, html {
background-color: #fff;
}
-.forbidden-layout {
+.single-layout {
width: 100%;
height: 100vh;
overflow: hidden;
diff --git a/web/middleware/ua-check.server.ts b/web/middleware/ua-check.server.ts
deleted file mode 100644
index 0519ecb..0000000
--- a/web/middleware/ua-check.server.ts
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/web/pages/admin/add-resource.vue b/web/pages/admin/add-resource.vue
index c36b461..6ebd910 100644
--- a/web/pages/admin/add-resource.vue
+++ b/web/pages/admin/add-resource.vue
@@ -43,10 +43,6 @@
-
-
-
-
@@ -61,21 +57,15 @@ import { ref, onMounted } from 'vue'
import { useRouter } from 'vue-router'
import BatchAddResource from '~/components/BatchAddResource.vue'
import SingleAddResource from '~/components/SingleAddResource.vue'
-import ApiDocumentation from '~/components/ApiDocumentation.vue'
-import SuccessToast from '~/components/SuccessToast.vue'
-import ErrorToast from '~/components/ErrorToast.vue'
const router = useRouter()
-const showSuccess = ref(false)
-const successMsg = ref('')
-const showError = ref(false)
-const errorMsg = ref('')
const tabs = [
{ label: '批量添加', value: 'batch' },
{ label: '单个添加', value: 'single' },
]
const mode = ref('batch')
+const notification = useNotification()
// 检查用户权限
onMounted(() => {
@@ -88,13 +78,15 @@ onMounted(() => {
// 事件处理
const handleSuccess = (message: string) => {
- successMsg.value = message
- showSuccess.value = true
+ notification.success({
+ content: message
+ })
}
const handleError = (message: string) => {
- errorMsg.value = message
- showError.value = true
+ notification.error({
+ content: message
+ })
}
const handleCancel = () => {
diff --git a/web/pages/admin/system-config.vue b/web/pages/admin/system-config.vue
index 9b5cde1..c21f4f4 100644
--- a/web/pages/admin/system-config.vue
+++ b/web/pages/admin/system-config.vue
@@ -20,10 +20,10 @@