maxkb/ui/src/api/tool/tool.ts
2025-06-06 09:39:01 +08:00

106 lines
2.1 KiB
TypeScript

import {Result} from '@/request/Result'
import {get, post, del, put} from '@/request/index'
import {type Ref} from 'vue'
import type {pageRequest} from '@/api/type/common'
import type {toolData} from '@/api/type/tool'
const prefix = '/workspace/' + localStorage.getItem('workspace_id')
/**
* 获得工具文件夹列表
* @params 参数 {folder_id: string}
*/
const getToolByFolder: (
data?: any,
loading?: Ref<boolean>,
) => Promise<Result<Array<any>>> = (data, loading) => {
return get(`${prefix}/tool`, data, loading)
}
/**
* 工具列表
* @param 参数
* param {
"folder_id": "string",
"name": "string",
"tool_type": "string",
}
*/
const getToolList: (
page: pageRequest,
param?: any,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (page, param, loading) => {
return get(
`${prefix}/tool/${page.current_page}/${page.page_size}`,
param,
loading,
)
}
/**
* 创建工具
* @param 参数
*/
const postTool: (
data: toolData,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (data, loading) => {
return post(`${prefix}/tool`, data, undefined, loading)
}
/**
* 修改工具
* @param 参数
*/
const putTool: (
tool_id: string,
data: toolData,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (tool_id, data, loading) => {
return put(`${prefix}/tool/${tool_id}`, data, undefined, loading)
}
/**
* 获取工具详情
* @param tool_id 工具id
* @param loading 加载器
* @returns 函数详情
*/
const getToolById: (
tool_id: String,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (tool_id, loading) => {
return get(`${prefix}/tool/${tool_id}`, undefined, loading)
}
const postPylint: (
code: string,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (code, loading) => {
return post(`${prefix}/tool/pylint`, {code}, {}, loading)
}
/**
* 调试工具
* @param 参数
*/
// const postToolDebug: (data: any, loading?: Ref<boolean>) => Promise<Result<any>> = (
// data: any,
// loading
// ) => {
// return post(`${prefix}/debug`, data, undefined, loading)
// }
export default {
getToolByFolder,
getToolList,
putTool,
getToolById,
postTool,
postPylint
}