From 6b2036667070bb092720c8424f87d2b0f5af0d22 Mon Sep 17 00:00:00 2001 From: Megghy Date: Thu, 18 Jan 2024 08:16:37 +0800 Subject: [PATCH] update vef alert --- package.json | 3 +- src/api/account.ts | 47 ++++++++++++++++++ src/api/api-models.ts | 27 +++++++++++ src/components/EventFetcherStatusCard.vue | 24 ++++++--- src/components/PointGoodItem.vue | 0 src/data/constants.ts | 1 + src/router/manage.ts | 8 +++ src/views/ManageLayout.vue | 2 +- src/views/manage/PointManage.vue | 59 +++++++++++++++++++++++ vue.config.js | 5 -- yarn.lock | 40 ++++++++++----- 11 files changed, 191 insertions(+), 25 deletions(-) create mode 100644 src/components/PointGoodItem.vue create mode 100644 src/views/manage/PointManage.vue diff --git a/package.json b/package.json index 83921dd..dc7b9ad 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "date-fns": "^3.0.6", "easy-speech": "^2.2.0", "echarts": "^5.4.3", + "eslint": "^8.56.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-oxlint": "^0.2.0", "eslint-plugin-prettier": "^5.1.2", @@ -43,11 +44,11 @@ "worker-timers": "^7.0.80" }, "devDependencies": { + "@types/eslint": "^8", "@typescript-eslint/parser": "^6.16.0", "@vicons/ionicons5": "^0.12.0", "@vitejs/plugin-vue-jsx": "^3.1.0", "@vue/eslint-config-typescript": "^12.0.0", - "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-vue": "^9.19.2", "naive-ui": "^2.36.0", diff --git a/src/api/account.ts b/src/api/account.ts index 3d03d03..76ca34c 100644 --- a/src/api/account.ts +++ b/src/api/account.ts @@ -147,3 +147,50 @@ export async function UploadConfig(name: string, data: unknown) { } return false } +export async function EnableFunction(func: FunctionTypes) { + if (ACCOUNT.value) { + if (ACCOUNT.value.settings.enableFunctions.includes(func)) { + return true + } else { + ACCOUNT.value.settings.enableFunctions.push(func) + if (await updateFunctionEnable()) { + return true + } else { + ACCOUNT.value.settings.enableFunctions.splice(ACCOUNT.value.settings.enableFunctions.indexOf(func), 1) + return false + } + } + } + return false +} +export async function DisableFunction(func: FunctionTypes) { + if (ACCOUNT.value) { + if (!ACCOUNT.value.settings.enableFunctions.includes(func)) { + return true + } else { + ACCOUNT.value.settings.enableFunctions.splice(ACCOUNT.value.settings.enableFunctions.indexOf(func), 1) + if (await updateFunctionEnable()) { + return true + } else { + ACCOUNT.value.settings.enableFunctions.push(func) + return false + } + } + } + return false +} +async function updateFunctionEnable() { + if (ACCOUNT.value) { + try { + const data = await SaveEnableFunctions(ACCOUNT.value.settings.enableFunctions) + if (data.code == 200) { + return true + } else { + return false + } + } catch (err) { + console.log(err) + return false + } + } +} diff --git a/src/api/api-models.ts b/src/api/api-models.ts index 129a055..9381b79 100644 --- a/src/api/api-models.ts +++ b/src/api/api-models.ts @@ -173,6 +173,7 @@ export enum FunctionTypes { Schedule, SongRequest, Queue, + Point } export interface SongAuthorInfo { name: string @@ -499,3 +500,29 @@ export enum FeedbackStatus { Reject, Developing, } +export interface TagInfo +{ + name: string + color: string +} +export enum GoodsStatus +{ + Normal, // 商品正常 + //OutOfStock, // 商品无货 + Discontinued // 商品下架 +} +export enum GoodsTypes { + Physical, + Virtual, +} +export interface ResponsePointGoodModel { + id: number + name: string + count: number + price: number + tags: TagInfo[] + cover?: string + images: string[] + status: GoodsStatus + type: GoodsTypes +} \ No newline at end of file diff --git a/src/components/EventFetcherStatusCard.vue b/src/components/EventFetcherStatusCard.vue index e5ae1ec..9b37361 100644 --- a/src/components/EventFetcherStatusCard.vue +++ b/src/components/EventFetcherStatusCard.vue @@ -10,8 +10,7 @@ const status = computed(() => { if (!accountInfo.value) return 'error' if (accountInfo.value.eventFetcherOnline == true) { if (accountInfo.value.eventFetcherStatus) { - if (accountInfo.value.eventFetcherStatus == 'ok') return 'success' - else return 'warning' + return 'warning' } else if (Object.keys(accountInfo.value.eventFetcherStatusV3 ?? {}).length > 0) { return 'warning' } else { @@ -31,7 +30,7 @@ const status = computed(() => { - 这是一个可以持续监听直播间内的 Superchat 和上舰事件并上传到本站进行记录的 Nodejs/.Net 程序 + 这是一个可以持续监听直播间内的 Superchat 和上舰事件并上传到本站进行记录的 .Net 程序
事件上传到本站后允许按照自定义范围进行查询, 并导出为 CSV 之类的表格
@@ -39,11 +38,22 @@ const status = computed(() => { - -