From 5580f9b99bdd0b63fd7fad0388a92c55e019f9be Mon Sep 17 00:00:00 2001 From: Zhou Weidong <502333560@qq.com> Date: Tue, 27 Oct 2026 12:38:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(admin):=20=E6=96=B0=E5=A2=9E=E6=94=B6?= =?UTF-8?q?=E8=97=8F=E4=B8=8E=E7=82=B9=E8=B5=9E=E5=88=97=E8=A1=A8=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 全量 lint 仍有 5 处既有 vue/no-mutating-props 基线错误, 位于 LocaleTextFields.vue 与 ClassificationDramaDialogs.vue,本次未处理。 --- src/api/admin/engagement.ts | 50 ++++++ src/views/userManagement/FavoritesView.vue | 172 ++++++++++++++++++++ src/views/userManagement/LikesView.vue | 177 +++++++++++++++++++++ 3 files changed, 399 insertions(+) create mode 100644 src/api/admin/engagement.ts create mode 100644 src/views/userManagement/FavoritesView.vue create mode 100644 src/views/userManagement/LikesView.vue diff --git a/src/api/admin/engagement.ts b/src/api/admin/engagement.ts new file mode 100644 index 0000000..c79b63f --- /dev/null +++ b/src/api/admin/engagement.ts @@ -0,0 +1,50 @@ +// Author: fruit.com.cn + +import request from '@/axios' +import type { PageResult } from './types' + +/** 收藏与点赞只读分页筛选条件。 */ +export interface EngagementPageParams { + pageIndex?: number + pageSize?: number + keyword?: string + userId?: string | number + deviceId?: string + dramaId?: string | number + dramaTitle?: string + targetType?: string + targetId?: string | number + episodeId?: string | number + startTime?: string + endTime?: string +} + +/** 后台互动列表行。 */ +export interface EngagementItem { + id: string + userId: string | null + uid: string | null + nickname: string | null + deviceId: string | null + anonymous: boolean + dramaId: string | null + dramaTitle: string | null + dramaCover: string | null + dramaStatus: string | null + dramaPublished: boolean + targetType: string + targetId: string + episodeId: string | null + episodeNo: number | null + episodeTitle: string | null + commentSummary: string | null + createdAt: string +} + +/** 查询收藏分页。 */ +export const pageFavoritesApi = (params: EngagementPageParams) => + request.get>({ url: '/admin/favorites/page', params }) + +/** 查询点赞分页。 */ +export const pageLikesApi = (params: EngagementPageParams) => + request.get>({ url: '/admin/likes/page', params }) diff --git a/src/views/userManagement/FavoritesView.vue b/src/views/userManagement/FavoritesView.vue new file mode 100644 index 0000000..f51460a --- /dev/null +++ b/src/views/userManagement/FavoritesView.vue @@ -0,0 +1,172 @@ + + + + + + + diff --git a/src/views/userManagement/LikesView.vue b/src/views/userManagement/LikesView.vue new file mode 100644 index 0000000..f0cddb5 --- /dev/null +++ b/src/views/userManagement/LikesView.vue @@ -0,0 +1,177 @@ + + + + + + +