From ab67bfb40e728d6c80de74f330a7ab17532011d9 Mon Sep 17 00:00:00 2001 From: anghunk Date: Tue, 20 Jan 2026 16:46:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(admin):=20=E6=B7=BB=E5=8A=A0=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=91=98=E5=AF=86=E9=92=A5=E9=AA=8C=E8=AF=81=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增管理员密钥设置及验证流程 - 实现前端验证弹窗及本地存储加密 - 修改评论提交接口支持管理员验证 - 添加相关样式和文档说明 --- cwd-comments-admin/src/api/admin.ts | 4 +- cwd-comments-admin/src/views/SettingsView.vue | 22 ++++- .../src/api/public/postComment.ts | 40 +++++++- .../src/api/public/verifyAdminKey.ts | 49 ++++++++++ cwd-comments-api/src/index.ts | 31 +++++- cwd-comments-api/src/utils/crypto.ts | 8 ++ docs/guide/frontend-config.md | 32 ++++++ widget/src/components/AdminAuthModal.js | 98 +++++++++++++++++++ widget/src/components/CommentForm.js | 74 +++++++++++++- widget/src/core/CWDComments.js | 5 + widget/src/core/api.js | 27 ++++- widget/src/core/store.js | 4 + widget/src/styles/main.css | 96 ++++++++++++++++++ widget/src/utils/auth.js | 76 ++++++++++++++ 14 files changed, 554 insertions(+), 12 deletions(-) create mode 100644 cwd-comments-api/src/api/public/verifyAdminKey.ts create mode 100644 cwd-comments-api/src/utils/crypto.ts create mode 100644 widget/src/components/AdminAuthModal.js create mode 100644 widget/src/utils/auth.js diff --git a/cwd-comments-admin/src/api/admin.ts b/cwd-comments-admin/src/api/admin.ts index 1418c55..cbc93e1 100644 --- a/cwd-comments-admin/src/api/admin.ts +++ b/cwd-comments-admin/src/api/admin.ts @@ -40,6 +40,8 @@ export type CommentSettingsResponse = { avatarPrefix: string | null; adminEnabled: boolean; allowedDomains?: string[]; + adminKey?: string | null; + adminKeySet?: boolean; }; export type EmailNotifySettingsResponse = { @@ -132,6 +134,7 @@ export function saveCommentSettings(data: { avatarPrefix?: string; adminEnabled?: boolean; allowedDomains?: string[]; + adminKey?: string; }): Promise<{ message: string }> { return put<{ message: string }>('/admin/settings/comments', data); } @@ -143,4 +146,3 @@ export function exportComments(): Promise { export function importComments(data: any[]): Promise<{ message: string }> { return post<{ message: string }>('/admin/comments/import', data); } - diff --git a/cwd-comments-admin/src/views/SettingsView.vue b/cwd-comments-admin/src/views/SettingsView.vue index bb44984..ef0c42f 100644 --- a/cwd-comments-admin/src/views/SettingsView.vue +++ b/cwd-comments-admin/src/views/SettingsView.vue @@ -32,9 +32,7 @@
- +
+
+ +
+ 设置后前台使用管理员邮箱评论需输入此密钥。 +
+ +