From d3886e2475bf102e2d7b29ad0d9cd11ef2eaee92 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=89=AB=E5=9C=B0=E5=83=A7?= <357099073@qq.com>
Date: Wed, 17 Jun 2026 21:44:08 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=80=9A=E7=9F=A5=E6=A8=A1?=
=?UTF-8?q?=E5=9D=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
platform/components.d.ts | 3 +-
platform/src/api/reminder.js | 53 ++
.../components/notificationSettings.vue | 765 ++++++++++++++++++
.../views/system/platformsettings/index.vue | 9 +
.../views/tools/notebook/components/index.vue | 3 +
platform/src/views/tools/notebook/test-api.js | 148 ----
.../tools/reminder/components/detail.vue | 148 ++++
.../views/tools/reminder/components/edit.vue | 272 +++++++
platform/src/views/tools/reminder/index.vue | 318 ++++++++
9 files changed, 1569 insertions(+), 150 deletions(-)
create mode 100644 platform/src/api/reminder.js
create mode 100644 platform/src/views/system/platformsettings/components/notificationSettings.vue
delete mode 100644 platform/src/views/tools/notebook/test-api.js
create mode 100644 platform/src/views/tools/reminder/components/detail.vue
create mode 100644 platform/src/views/tools/reminder/components/edit.vue
create mode 100644 platform/src/views/tools/reminder/index.vue
diff --git a/platform/components.d.ts b/platform/components.d.ts
index 567e500..414b83d 100644
--- a/platform/components.d.ts
+++ b/platform/components.d.ts
@@ -18,7 +18,6 @@ declare module 'vue' {
ElAvatar: typeof import('element-plus/es')['ElAvatar']
ElBacktop: typeof import('element-plus/es')['ElBacktop']
ElButton: typeof import('element-plus/es')['ElButton']
- ElButtonGroup: typeof import('element-plus/es')['ElButtonGroup']
ElCard: typeof import('element-plus/es')['ElCard']
ElCascader: typeof import('element-plus/es')['ElCascader']
ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
@@ -40,7 +39,6 @@ declare module 'vue' {
ElFormItem: typeof import('element-plus/es')['ElFormItem']
ElHeader: typeof import('element-plus/es')['ElHeader']
ElIcon: typeof import('element-plus/es')['ElIcon']
- ElImage: typeof import('element-plus/es')['ElImage']
ElInput: typeof import('element-plus/es')['ElInput']
ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
ElLink: typeof import('element-plus/es')['ElLink']
@@ -56,6 +54,7 @@ declare module 'vue' {
ElRow: typeof import('element-plus/es')['ElRow']
ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
ElSelect: typeof import('element-plus/es')['ElSelect']
+ ElSkeleton: typeof import('element-plus/es')['ElSkeleton']
ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
ElSwitch: typeof import('element-plus/es')['ElSwitch']
ElTable: typeof import('element-plus/es')['ElTable']
diff --git a/platform/src/api/reminder.js b/platform/src/api/reminder.js
new file mode 100644
index 0000000..30e3ce4
--- /dev/null
+++ b/platform/src/api/reminder.js
@@ -0,0 +1,53 @@
+import request from "@/utils/request";
+
+/** 提醒列表 */
+export function getReminderList(params) {
+ return request({
+ url: "/platform/reminder/list",
+ method: "get",
+ params,
+ });
+}
+
+/** 提醒详情 */
+export function getReminderDetail(id) {
+ return request({
+ url: `/platform/reminder/${id}`,
+ method: "get",
+ });
+}
+
+/** 新增提醒 */
+export function createReminder(data) {
+ return request({
+ url: "/platform/reminder",
+ method: "post",
+ data,
+ });
+}
+
+/** 更新提醒 */
+export function updateReminder(id, data) {
+ return request({
+ url: `/platform/reminder/${id}`,
+ method: "post",
+ data,
+ });
+}
+
+/** 删除提醒 */
+export function deleteReminder(id) {
+ return request({
+ url: `/platform/reminder/${id}`,
+ method: "delete",
+ });
+}
+
+/** 批量删除提醒 */
+export function batchDeleteReminder(ids) {
+ return request({
+ url: "/platform/reminder/batchDelete",
+ method: "post",
+ data: { ids },
+ });
+}
diff --git a/platform/src/views/system/platformsettings/components/notificationSettings.vue b/platform/src/views/system/platformsettings/components/notificationSettings.vue
new file mode 100644
index 0000000..53af57c
--- /dev/null
+++ b/platform/src/views/system/platformsettings/components/notificationSettings.vue
@@ -0,0 +1,765 @@
+
+
这是一条测试笔记
内容包含富文本格式
', - }), - }); - }, - - // 2. 获取笔记列表 - async list(params = {}) { - const query = new URLSearchParams({ - page: params.page || 1, - pageSize: params.pageSize || 20, - keyword: params.keyword || '', - }).toString(); - return await request(`${API_BASE}/list?${query}`); - }, - - // 3. 获取笔记详情 - async detail(id) { - return await request(`${API_BASE}/detail/${id}`); - }, - - // 4. 更新笔记 - async update(id, data) { - return await request(`${API_BASE}/update/${id}`, { - method: 'POST', - body: JSON.stringify(data), - }); - }, - - // 5. 删除笔记 - async delete(id) { - return await request(`${API_BASE}/delete/${id}`, { - method: 'DELETE', - }); - }, - - // 完整测试流程 - async runFullTest() { - console.log('🚀 开始测试记事本模块 API...\n'); - - try { - // 1. 创建笔记 - console.log('📝 测试1: 创建笔记'); - const createResult = await this.create(); - if (createResult.code !== 200) { - throw new Error('创建笔记失败'); - } - const noteId = createResult.data.id; - console.log(`✅ 创建成功,笔记ID: ${noteId}\n`); - - // 2. 获取笔记列表 - console.log('📋 测试2: 获取笔记列表'); - const listResult = await this.list(); - if (listResult.code !== 200) { - throw new Error('获取列表失败'); - } - console.log(`✅ 获取成功,共 ${listResult.data.total} 条笔记\n`); - - // 3. 获取笔记详情 - console.log('🔍 测试3: 获取笔记详情'); - const detailResult = await this.detail(noteId); - if (detailResult.code !== 200) { - throw new Error('获取详情失败'); - } - console.log(`✅ 获取成功,标题: ${detailResult.data.title}\n`); - - // 4. 更新笔记 - console.log('✏️ 测试4: 更新笔记'); - const updateResult = await this.update(noteId, { - title: '更新后的标题 - ' + new Date().toLocaleString(), - content: '这是更新后的内容
', - }); - if (updateResult.code !== 200) { - throw new Error('更新笔记失败'); - } - console.log(`✅ 更新成功\n`); - - // 5. 搜索笔记 - console.log('🔎 测试5: 搜索笔记'); - const searchResult = await this.list({ keyword: '更新' }); - if (searchResult.code !== 200) { - throw new Error('搜索失败'); - } - console.log(`✅ 搜索成功,找到 ${searchResult.data.total} 条匹配笔记\n`); - - // 6. 删除笔记 - console.log('🗑️ 测试6: 删除笔记'); - const deleteResult = await this.delete(noteId); - if (deleteResult.code !== 200) { - throw new Error('删除笔记失败'); - } - console.log(`✅ 删除成功\n`); - - console.log('🎉 所有测试通过!'); - return true; - } catch (error) { - console.error('❌ 测试失败:', error); - return false; - } - }, -}; - -// 导出到全局 -window.NotebookTest = NotebookTest; - -console.log('📚 记事本模块测试工具已加载'); -console.log('使用方法:'); -console.log(' NotebookTest.create() - 创建笔记'); -console.log(' NotebookTest.list() - 获取列表'); -console.log(' NotebookTest.detail(id) - 获取详情'); -console.log(' NotebookTest.update(id, data) - 更新笔记'); -console.log(' NotebookTest.delete(id) - 删除笔记'); -console.log(' NotebookTest.runFullTest() - 运行完整测试'); diff --git a/platform/src/views/tools/reminder/components/detail.vue b/platform/src/views/tools/reminder/components/detail.vue new file mode 100644 index 0000000..c93d2ab --- /dev/null +++ b/platform/src/views/tools/reminder/components/detail.vue @@ -0,0 +1,148 @@ + +