106 lines
2.1 KiB
TypeScript
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
|
|
}
|