From 50b435ba8020dd92e939244b210f6b47f6818a5c Mon Sep 17 00:00:00 2001 From: Megghy Date: Sat, 21 Oct 2023 18:38:11 +0800 Subject: [PATCH] alpha --- src/api/api-models.ts | 20 +- src/components/ScheduleList.vue | 94 ++++++- src/router/index.ts | 8 + src/views/ManageLayout.vue | 7 +- src/views/ViewerLayout.vue | 50 ++-- src/views/manage/DashboardView.vue | 6 +- src/views/manage/HistoryView.vue | 12 +- src/views/manage/ScheduleManageView.vue | 237 ++++++++++++---- src/views/manage/SettingsManageView.vue | 259 ++++++++++++++++-- src/views/view/ScheduleView.vue | 75 +++++ src/views/view/SongListView.vue | 30 +- src/views/view/UserIndexView.vue | 14 +- .../DefaultScheduleTemplate.vue | 19 ++ .../view/scheduleTemplate/PinkySchedule.vue | 23 ++ .../DefaultSongListTemplate.vue | 12 +- 15 files changed, 706 insertions(+), 160 deletions(-) create mode 100644 src/views/view/scheduleTemplate/DefaultScheduleTemplate.vue create mode 100644 src/views/view/scheduleTemplate/PinkySchedule.vue diff --git a/src/api/api-models.ts b/src/api/api-models.ts index b78d91e..bd568b6 100644 --- a/src/api/api-models.ts +++ b/src/api/api-models.ts @@ -22,9 +22,11 @@ export interface UserInfo { createAt: number biliId?: number biliRoomId?: number - indexType: IndexTypes - songListType: SongListTypes - enableFunctions: FunctionTypes[] + extra?: { + enableFunctions: FunctionTypes[] + isInBlackList: boolean + templateTypes: { [key: string]: string } + } } export interface AccountInfo extends UserInfo { isEmailVerified: boolean @@ -46,10 +48,15 @@ export interface UserSetting { sendEmail: Setting_SendEmail questionBox: Setting_QuestionBox enableFunctions: FunctionTypes[] + + indexTemplate: string | null, + songListTemplate: string | null + scheduleTemplate: string | null } export enum FunctionTypes { SongList, QuestionBox, + Schedule, } export interface SongAuthorInfo { name: string @@ -130,9 +137,10 @@ export interface ScheduleWeekInfo { days: ScheduleDayInfo[] } export interface ScheduleDayInfo { - title: string - tag: string - time: number + title: string | null + tag: string | null + tagColor: string | null + time: string | null } export enum ThemeType { Auto = 'auto', diff --git a/src/components/ScheduleList.vue b/src/components/ScheduleList.vue index 2d9d4a4..ff7ade7 100644 --- a/src/components/ScheduleList.vue +++ b/src/components/ScheduleList.vue @@ -1,6 +1,6 @@