mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-04-08 21:20:32 +08:00
change: webui api accept model.
This commit is contained in:
@@ -83,7 +83,7 @@ async def shutdown_program(current_user=Depends(get_current_user)):
|
||||
|
||||
|
||||
# Check status
|
||||
@router.get("/check/downloader", tags=["check"])
|
||||
@router.get("/check/downloader", tags=["check"], response_model=bool)
|
||||
async def check_downloader_status(current_user=Depends(get_current_user)):
|
||||
if not current_user:
|
||||
raise UNAUTHORIZED
|
||||
|
||||
@@ -7,6 +7,7 @@ def u_response(response_model: ResponseModel):
|
||||
return JSONResponse(
|
||||
status_code=response_model.status_code,
|
||||
content={
|
||||
"status": response_model.status,
|
||||
"msg_en": response_model.msg_en,
|
||||
"msg_zh": response_model.msg_zh,
|
||||
},
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import type { BangumiRule, BangumiUpdate } from '#/bangumi';
|
||||
import type { ApiSuccess } from '#/api';
|
||||
import type { UniversalResponse } from '#/message';
|
||||
import type { ApiResponse } from '#/api';
|
||||
|
||||
export const apiBangumi = {
|
||||
/**
|
||||
@@ -34,7 +35,7 @@ export const apiBangumi = {
|
||||
async updateRule(bangumiId: number, bangumiRule: BangumiRule) {
|
||||
const rule = omit(bangumiRule, ['id']);
|
||||
|
||||
const { data } = await axios.patch<ApiSuccess>(
|
||||
const { data } = await axios.patch< ApiResponse >(
|
||||
`api/v1/bangumi/update/${bangumiId}`,
|
||||
rule
|
||||
);
|
||||
@@ -58,7 +59,7 @@ export const apiBangumi = {
|
||||
ids = bangumiId;
|
||||
}
|
||||
|
||||
const { data } = await axios.delete<ApiSuccess>(url, {
|
||||
const { data } = await axios.delete< ApiResponse >(url, {
|
||||
data: ids,
|
||||
params: {
|
||||
file,
|
||||
@@ -84,7 +85,7 @@ export const apiBangumi = {
|
||||
ids = bangumiId;
|
||||
}
|
||||
|
||||
const { data } = await axios.delete<ApiSuccess>(url, {
|
||||
const { data } = await axios.delete< ApiResponse >(url, {
|
||||
data: ids,
|
||||
params: {
|
||||
file,
|
||||
@@ -98,7 +99,7 @@ export const apiBangumi = {
|
||||
* @param bangumiId - 需要启用的 bangumi 的 id
|
||||
*/
|
||||
async enableRule(bangumiId: number) {
|
||||
const { data } = await axios.get<ApiSuccess>(
|
||||
const { data } = await axios.get< UniversalResponse >(
|
||||
`api/v1/bangumi/enable/${bangumiId}`
|
||||
);
|
||||
return data;
|
||||
@@ -108,9 +109,7 @@ export const apiBangumi = {
|
||||
* 重置所有 bangumi 数据
|
||||
*/
|
||||
async resetAll() {
|
||||
const { data } = await axios.get<{
|
||||
message: 'OK';
|
||||
}>('api/v1/bangumi/resetAll');
|
||||
const { data } = await axios.get< ApiResponse >('api/v1/bangumi/resetAll');
|
||||
return data;
|
||||
},
|
||||
};
|
||||
|
||||
@@ -3,23 +3,8 @@ export const apiCheck = {
|
||||
* 检测下载器
|
||||
*/
|
||||
async downloader() {
|
||||
const { data } = await axios.get('api/v1/check/downloader');
|
||||
const { data } = await axios.get<Boolean>('api/v1/check/downloader');
|
||||
return data;
|
||||
},
|
||||
|
||||
/**
|
||||
* 检测 RSS
|
||||
*/
|
||||
async rss() {
|
||||
const { data } = await axios.get('api/v1/check/rss');
|
||||
return data;
|
||||
},
|
||||
|
||||
/**
|
||||
* 检测所有
|
||||
*/
|
||||
async all() {
|
||||
const { data } = await axios.get('api/v1/check');
|
||||
return data;
|
||||
},
|
||||
};
|
||||
}
|
||||
@@ -1,11 +1,12 @@
|
||||
import type { Config } from '#/config';
|
||||
import type { UniversalResponse } from '#/message';
|
||||
|
||||
export const apiConfig = {
|
||||
/**
|
||||
* 获取 config 数据
|
||||
*/
|
||||
async getConfig() {
|
||||
const { data } = await axios.get<Config>('api/v1/getConfig');
|
||||
const { data } = await axios.get<Config>('api/v1/config/get');
|
||||
return data;
|
||||
},
|
||||
|
||||
@@ -14,10 +15,10 @@ export const apiConfig = {
|
||||
* @param newConfig - 需要更新的 config
|
||||
*/
|
||||
async updateConfig(newConfig: Config) {
|
||||
const { data } = await axios.post<{
|
||||
message: 'Success' | 'Failed to update config';
|
||||
}>('api/v1/updateConfig', newConfig);
|
||||
|
||||
return data.message === 'Success';
|
||||
const { data } = await axios.patch<UniversalResponse>(
|
||||
'api/v1/config/update',
|
||||
newConfig
|
||||
);
|
||||
return data;
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { BangumiRule } from '#/bangumi';
|
||||
import type { UniversalResponse } from '#/message';
|
||||
|
||||
interface Status {
|
||||
status: 'Success';
|
||||
@@ -30,11 +31,11 @@ export const apiDownload = {
|
||||
* @param bangumiData - Bangumi 数据
|
||||
*/
|
||||
async collection(bangumiData: BangumiRule) {
|
||||
const { data } = await axios.post<Status>(
|
||||
const { data } = await axios.post< UniversalResponse >(
|
||||
'api/v1/download/collection',
|
||||
bangumiData
|
||||
);
|
||||
return data.status === 'Success';
|
||||
return data;
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -42,10 +43,10 @@ export const apiDownload = {
|
||||
* @param bangumiData - Bangumi 数据
|
||||
*/
|
||||
async subscribe(bangumiData: BangumiRule) {
|
||||
const { data } = await axios.post<Status>(
|
||||
const { data } = await axios.post< UniversalResponse >(
|
||||
'api/v1/download/subscribe',
|
||||
bangumiData
|
||||
);
|
||||
return data.status === 'Success';
|
||||
return data;
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import type { UniversalResponse } from "#/message";
|
||||
|
||||
export const apiLog = {
|
||||
async getLog() {
|
||||
const { data } = await axios.get<string>('api/v1/log');
|
||||
@@ -5,7 +7,7 @@ export const apiLog = {
|
||||
},
|
||||
|
||||
async clearLog() {
|
||||
const { data } = await axios.get<{ status: 'ok' }>('api/v1/log/clear');
|
||||
return data.status === 'ok';
|
||||
const { data } = await axios.get<UniversalResponse>('api/v1/log/clear');
|
||||
return data;
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,30 +1,29 @@
|
||||
interface Success {
|
||||
status: 'ok';
|
||||
}
|
||||
import type { UniversalResponse } from "#/message";
|
||||
|
||||
|
||||
export const apiProgram = {
|
||||
/**
|
||||
* 重启
|
||||
*/
|
||||
async restart() {
|
||||
const { data } = await axios.get<Success>('api/v1/restart');
|
||||
return data.status === 'ok';
|
||||
const { data } = await axios.get< UniversalResponse >('api/v1/restart');
|
||||
return data;
|
||||
},
|
||||
|
||||
/**
|
||||
* 启动
|
||||
*/
|
||||
async start() {
|
||||
const { data } = await axios.get<Success>('api/v1/start');
|
||||
return data.status === 'ok';
|
||||
const { data } = await axios.get< UniversalResponse >('api/v1/start');
|
||||
return data;
|
||||
},
|
||||
|
||||
/**
|
||||
* 停止
|
||||
*/
|
||||
async stop() {
|
||||
const { data } = await axios.get<Success>('api/v1/stop');
|
||||
return data.status === 'ok';
|
||||
const { data } = await axios.get< UniversalResponse >('api/v1/stop');
|
||||
return data;
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -42,7 +41,7 @@ export const apiProgram = {
|
||||
* 终止
|
||||
*/
|
||||
async shutdown() {
|
||||
const { data } = await axios.get<Success>('api/v1/shutdown');
|
||||
return data.status === 'ok';
|
||||
const { data } = await axios.get< UniversalResponse >('api/v1/shutdown');
|
||||
return data;
|
||||
},
|
||||
};
|
||||
|
||||
@@ -45,8 +45,8 @@ export const useBangumiStore = defineStore('bangumi', () => {
|
||||
getAll();
|
||||
}
|
||||
|
||||
function actionSuccess({ msg }) {
|
||||
message.success(msg);
|
||||
function actionSuccess({ status }) {
|
||||
message.success(status);
|
||||
refresh();
|
||||
}
|
||||
onUpdateRuleResult(actionSuccess);
|
||||
|
||||
@@ -21,3 +21,9 @@ export interface ApiError {
|
||||
export interface ApiSuccess {
|
||||
msg: string;
|
||||
}
|
||||
|
||||
export interface ApiResponse {
|
||||
status: boolean;
|
||||
msg_en: string;
|
||||
msg_zh: string;
|
||||
}
|
||||
5
webui/types/message.ts
Normal file
5
webui/types/message.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
export interface UniversalResponse {
|
||||
status: boolean;
|
||||
msg_en: string;
|
||||
msg_zh: string;
|
||||
}
|
||||
Reference in New Issue
Block a user