From 1dc2d77e8268f7093533e7725824b601ff85e40b Mon Sep 17 00:00:00 2001 From: akrike <1625167628@qq.com> Date: Thu, 14 Aug 2025 22:22:08 +0800 Subject: [PATCH] add api file --- internal/app/route/route.go | 2 +- .../.vite/deps_temp_61bc278e/package.json | 3 + resources/src/api/api.ts | 102 ++++++++++++++++++ resources/src/api/config.ts | 13 +++ resources/src/api/log.ts | 5 + resources/src/api/login.ts | 5 + resources/src/api/process.ts | 49 +++++++++ resources/src/api/push.ts | 21 ++++ resources/src/api/task.ts | 41 +++++++ resources/src/api/user.ts | 39 +++++++ resources/src/views/login/Login.vue | 2 +- 11 files changed, 280 insertions(+), 2 deletions(-) create mode 100644 resources/.vite/deps_temp_61bc278e/package.json create mode 100644 resources/src/api/api.ts create mode 100644 resources/src/api/config.ts create mode 100644 resources/src/api/log.ts create mode 100644 resources/src/api/login.ts create mode 100644 resources/src/api/process.ts create mode 100644 resources/src/api/push.ts create mode 100644 resources/src/api/task.ts create mode 100644 resources/src/api/user.ts diff --git a/internal/app/route/route.go b/internal/app/route/route.go index 85041f4..8aa2014 100644 --- a/internal/app/route/route.go +++ b/internal/app/route/route.go @@ -138,7 +138,7 @@ func routePathInit(r *gin.Engine) { { configGroup.GET("", bind(api.ConfigApi.GetSystemConfiguration, None)) configGroup.PUT("", bind(api.ConfigApi.SetSystemConfiguration, None)) - configGroup.PUT("/log", bind(api.ConfigApi.LogConfigReload, None)) + configGroup.GET("/reload", bind(api.ConfigApi.LogConfigReload, None)) } } } diff --git a/resources/.vite/deps_temp_61bc278e/package.json b/resources/.vite/deps_temp_61bc278e/package.json new file mode 100644 index 0000000..3dbc1ca --- /dev/null +++ b/resources/.vite/deps_temp_61bc278e/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/resources/src/api/api.ts b/resources/src/api/api.ts new file mode 100644 index 0000000..d62b6e6 --- /dev/null +++ b/resources/src/api/api.ts @@ -0,0 +1,102 @@ +import axios, { + AxiosInstance, + AxiosError, + AxiosRequestConfig, + AxiosResponse, +} from "axios"; +import { useSnackbarStore } from "@/stores/snackbarStore"; +import router from "../router"; + +const snackbarStore = useSnackbarStore(); + +interface Result { + code: number; + msg: string; +} + +// 请求响应参数,包含data +interface ResultData extends Result { + data?: T; +} +const URL: string = ""; +enum RequestEnums { + TIMEOUT = 20000, +} +const config = { + // 默认地址 + baseURL: URL as string, + // 设置超时时间 + timeout: RequestEnums.TIMEOUT as number, + // 跨域时候允许携带凭证 + withCredentials: true, +}; + +class RequestHttp { + service: AxiosInstance; + public constructor(config: AxiosRequestConfig) { + // 实例化axios + this.service = axios.create(config); + + this.service.interceptors.request.use( + (config) => { + const token = localStorage.getItem("token") || ""; + config.headers.Authorization = token; + config.url = "/api" + config.url; + return config; + }, + (error: AxiosError) => { + snackbarStore.showErrorMessage(error); + return Promise.reject(error); + } + ); + + /** + * 响应拦截器 + * 服务器换返回信息 -> [拦截统一处理] -> 客户端JS获取到信息 + */ + this.service.interceptors.response.use( + (response: AxiosResponse) => { + const { data } = response; // 解构 + if (data.code !== 0) { + snackbarStore.showErrorMessage(data.message); + return Promise.reject(data); + } + return data; + }, + (error: AxiosError) => { + const { response } = error; + if (response) { + this.handleCode(response.status); + } + //@ts-ignore + snackbarStore.showErrorMessage(response.data.message); + } + ); + } + handleCode(code: number): void { + switch (code) { + case 401: + router.replace("/login"); + break; + default: + break; + } + } + + // 常用方法封装 + get(url: string, params?: object): Promise> { + return this.service.get(url, { params }); + } + post(url: string, params?: object): Promise> { + return this.service.post(url, params); + } + put(url: string, params?: object): Promise> { + return this.service.put(url, params); + } + delete(url: string, params?: object): Promise> { + return this.service.delete(url, { params }); + } +} + +// 导出一个实例对象 +export default new RequestHttp(config); diff --git a/resources/src/api/config.ts b/resources/src/api/config.ts new file mode 100644 index 0000000..6b4d40a --- /dev/null +++ b/resources/src/api/config.ts @@ -0,0 +1,13 @@ +import api from "./api"; + +export function getConfig() { + return api.get("/config", undefined).then((res) => res); +} + +export function setConfig(data) { + return api.put("/config", data).then((res) => res); +} + +export function esReload() { + return api.put("/config/reload").then((res) => res); +} diff --git a/resources/src/api/log.ts b/resources/src/api/log.ts new file mode 100644 index 0000000..91df8d3 --- /dev/null +++ b/resources/src/api/log.ts @@ -0,0 +1,5 @@ +import api from "./api"; + +export function getLog(data: any) { + return api.post("/log", data).then((res) => res); +} diff --git a/resources/src/api/login.ts b/resources/src/api/login.ts new file mode 100644 index 0000000..091268f --- /dev/null +++ b/resources/src/api/login.ts @@ -0,0 +1,5 @@ +import api from "./api"; + +export const login = (query: any) => { + return api.post("/user/login", query).then((res) => res); +}; diff --git a/resources/src/api/process.ts b/resources/src/api/process.ts new file mode 100644 index 0000000..b7212eb --- /dev/null +++ b/resources/src/api/process.ts @@ -0,0 +1,49 @@ +import api from "./api"; + +export function getProcessList() { + return api.get("/process", undefined).then((res) => res); +} + +export function getProcessListWait() { + return api.get("/process/wait", undefined).then((res) => res); +} + +export function killProcessAll(uuid) { + return api.delete("/process/all", { uuid }).then((res) => res); +} + +export function startProcessAll(uuid) { + return api.put("/process/all", { uuid }).then((res) => res); +} + +export function killProcess(uuid) { + return api.delete("/process", { uuid }).then((res) => res); +} + +export function startProcess(uuid) { + return api.put("/process", { uuid }).then((res) => res); +} + +export function getContorl(uuid) { + return api.get("/process/control", { uuid }).then((res) => res); +} + +export function getProcessConfig(uuid) { + return api.get("/process/config", { uuid }).then((res) => res); +} + +export function deleteProcessConfig(uuid) { + return api.delete("/process/config", { uuid }).then((res) => res); +} + +export function putProcessConfig(data) { + return api.put("/process/config", data).then((res) => res); +} + +export function postProcessConfig(data) { + return api.post("/process/config", data).then((res) => res); +} + +export function createProcessShare(data) { + return api.post("/process/share", data).then((res) => res); +} diff --git a/resources/src/api/push.ts b/resources/src/api/push.ts new file mode 100644 index 0000000..321ba44 --- /dev/null +++ b/resources/src/api/push.ts @@ -0,0 +1,21 @@ +import api from "./api"; + +export function createPush(data) { + return api.post("/push", data).then((res) => res); +} + +export function getPushList() { + return api.get("/push/list", undefined).then((res) => res); +} + +export function deletePush(id) { + return api.delete("/push", { id }).then((res) => res); +} + +export function getPush(id) { + return api.get("/push", { id }).then((res) => res); +} + +export function editPush(data) { + return api.put("/push", data).then((res) => res); +} diff --git a/resources/src/api/task.ts b/resources/src/api/task.ts new file mode 100644 index 0000000..296f447 --- /dev/null +++ b/resources/src/api/task.ts @@ -0,0 +1,41 @@ +import api from "./api"; + +export function getTaskAll() { + return api.get("/task/all", undefined).then((res) => res); +} + +export function getTaskAllWait() { + return api.get("/task/all/wait", undefined).then((res) => res); +} + +export function getTaskById(id) { + return api.get("/task", { id }).then((res) => res); +} + +export function startTaskById(id) { + return api.get("/task/start", { id }).then((res) => res); +} + +export function stopTaskById(id) { + return api.get("/task/stop", { id }).then((res) => res); +} + +export function editTaskEnable(body) { + return api.put("/task/enable", body).then((res) => res); +} + +export function editTask(body) { + return api.put("/task", body).then((res) => res); +} + +export function addTask(body) { + return api.post("/task", body).then((res) => res); +} + +export function deleteTaskById(id) { + return api.delete("/task", { id }).then((res) => res); +} + +export function changeTaskKey(id) { + return api.post("/task/key", { id }).then((res) => res); +} diff --git a/resources/src/api/user.ts b/resources/src/api/user.ts new file mode 100644 index 0000000..435fad1 --- /dev/null +++ b/resources/src/api/user.ts @@ -0,0 +1,39 @@ +import api from "./api"; + +// 登录方法 +export function login(data) { + return api.post("/user/login", { + account: data.account, + password: data.password, + }).then((res) => res); +} + +export function createUser(data) { + return api.post("/user", data).then((res) => res); +} + +export function deleteUser(account) { + return api.delete("/user", { account }).then((res) => res); +} + +export function changePassword(data) { + return api.put("/user/password", data).then((res) => res); +} + +export function registerAdmin(password) { + return api.get("/user/register/admin", { password }).then((res) => res); +} + +export function getUserList() { + return api.get("/user", undefined).then((res) => res); +} + +export function getPermission(account, pid) { + return api.get("/permission/list", { account, pid }).then((res) => res); +} + + + +export function editPermission(data) { + return api.put("/permission", data).then((res) => res); +} diff --git a/resources/src/views/login/Login.vue b/resources/src/views/login/Login.vue index e3dc4d5..c185a3a 100644 --- a/resources/src/views/login/Login.vue +++ b/resources/src/views/login/Login.vue @@ -1,5 +1,5 @@