diff --git a/cwd-admin/src/api/admin.ts b/cwd-admin/src/api/admin.ts index 881ad3e..d037d74 100644 --- a/cwd-admin/src/api/admin.ts +++ b/cwd-admin/src/api/admin.ts @@ -123,6 +123,11 @@ export type LikeStatsResponse = { items: LikeStatsItem[]; }; +export type FeatureSettingsResponse = { + enableCommentLike: boolean; + enableArticleLike: boolean; +}; + export async function loginAdmin(name: string, password: string): Promise { const res = await post('/admin/login', { name, password }); const key = res.data.key; @@ -289,3 +294,14 @@ export function fetchDomainList(): Promise { export function fetchLikeStats(): Promise { return get('/admin/likes/stats'); } + +export function fetchFeatureSettings(): Promise { + return get('/admin/settings/features'); +} + +export function saveFeatureSettings(data: { + enableCommentLike?: boolean; + enableArticleLike?: boolean; +}): Promise<{ message: string }> { + return put<{ message: string }>('/admin/settings/features', data); +} diff --git a/cwd-admin/src/router/index.ts b/cwd-admin/src/router/index.ts index 155a8d1..3814ffe 100644 --- a/cwd-admin/src/router/index.ts +++ b/cwd-admin/src/router/index.ts @@ -3,6 +3,7 @@ import LoginView from '../views/LoginView.vue'; import LayoutView from '../views/LayoutView.vue'; import CommentsView from '../views/CommentsView.vue'; import SettingsView from '../views/SettingsView.vue'; +import FeatureSettingsView from '../views/FeatureSettingsView.vue'; import DataView from '../views/DataView.vue'; import StatsView from '../views/StatsView.vue'; import AnalyticsVisitView from '../views/AnalyticsVisitView.vue'; @@ -41,6 +42,11 @@ const routes: RouteRecordRaw[] = [ name: 'settings', component: SettingsView }, + { + path: 'settings/features', + name: 'feature-settings', + component: FeatureSettingsView + }, { path: 'data', name: 'data', diff --git a/cwd-admin/src/views/FeatureSettingsView.vue b/cwd-admin/src/views/FeatureSettingsView.vue new file mode 100644 index 0000000..54bf836 --- /dev/null +++ b/cwd-admin/src/views/FeatureSettingsView.vue @@ -0,0 +1,262 @@ + + + + + diff --git a/cwd-admin/src/views/LayoutView.vue b/cwd-admin/src/views/LayoutView.vue index 31ce60a..b2ae561 100644 --- a/cwd-admin/src/views/LayoutView.vue +++ b/cwd-admin/src/views/LayoutView.vue @@ -97,6 +97,13 @@ > 网站设置 +