Skip to content

Commit c3723c3

Browse files
feat: tool
1 parent 5f19924 commit c3723c3

File tree

6 files changed

+173
-78
lines changed

6 files changed

+173
-78
lines changed

ui/src/api/tool/tool.ts

Lines changed: 70 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
1-
import {Result} from '@/request/Result'
2-
import {get, post, del, put} from '@/request/index'
3-
import {type Ref} from 'vue'
4-
import type {pageRequest} from '@/api/type/common'
5-
import type {toolData} from '@/api/type/tool'
1+
import { Result } from '@/request/Result'
2+
import { get, post, del, put, exportFile } from '@/request/index'
3+
import { type Ref } from 'vue'
4+
import type { pageRequest } from '@/api/type/common'
5+
import type { toolData } from '@/api/type/tool'
66

77
const prefix = '/workspace/' + localStorage.getItem('workspace_id')
88

9-
109
/**
1110
* 获得工具文件夹列表
1211
* @params 参数 {folder_id: string}
1312
*/
14-
const getToolByFolder: (
15-
data?: any,
16-
loading?: Ref<boolean>,
17-
) => Promise<Result<Array<any>>> = (data, loading) => {
13+
const getToolByFolder: (data?: any, loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (
14+
data,
15+
loading,
16+
) => {
1817
return get(`${prefix}/tool`, data, loading)
1918
}
2019

@@ -32,21 +31,17 @@ const getToolList: (
3231
param?: any,
3332
loading?: Ref<boolean>,
3433
) => Promise<Result<any>> = (page, param, loading) => {
35-
return get(
36-
`${prefix}/tool/${page.current_page}/${page.page_size}`,
37-
param,
38-
loading,
39-
)
34+
return get(`${prefix}/tool/${page.current_page}/${page.page_size}`, param, loading)
4035
}
4136

4237
/**
4338
* 创建工具
4439
* @param 参数
4540
*/
46-
const postTool: (
47-
data: toolData,
48-
loading?: Ref<boolean>,
49-
) => Promise<Result<any>> = (data, loading) => {
41+
const postTool: (data: toolData, loading?: Ref<boolean>) => Promise<Result<any>> = (
42+
data,
43+
loading,
44+
) => {
5045
return post(`${prefix}/tool`, data, undefined, loading)
5146
}
5247

@@ -55,11 +50,11 @@ const postTool: (
5550
* @param 参数
5651
5752
*/
58-
const putTool: (
59-
tool_id: string,
60-
data: toolData,
61-
loading?: Ref<boolean>,
62-
) => Promise<Result<any>> = (tool_id, data, loading) => {
53+
const putTool: (tool_id: string, data: toolData, loading?: Ref<boolean>) => Promise<Result<any>> = (
54+
tool_id,
55+
data,
56+
loading,
57+
) => {
6358
return put(`${prefix}/tool/${tool_id}`, data, undefined, loading)
6459
}
6560

@@ -69,37 +64,72 @@ const putTool: (
6964
* @param loading 加载器
7065
* @returns 函数详情
7166
*/
72-
const getToolById: (
73-
tool_id: string,
74-
loading?: Ref<boolean>,
75-
) => Promise<Result<any>> = (tool_id, loading) => {
67+
const getToolById: (tool_id: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
68+
tool_id,
69+
loading,
70+
) => {
7671
return get(`${prefix}/tool/${tool_id}`, undefined, loading)
7772
}
7873

79-
const postPylint: (
80-
code: string,
81-
loading?: Ref<boolean>,
82-
) => Promise<Result<any>> = (code, loading) => {
83-
return post(`${prefix}/tool/pylint`, {code}, {}, loading)
74+
/**
75+
* 删除工具
76+
* @param 参数 tool_id
77+
*/
78+
const delTool: (
79+
tool_id: String,
80+
loading?: Ref<boolean>
81+
) => Promise<Result<boolean>> = (tool_id, loading) => {
82+
return del(`${prefix}/${tool_id}`, undefined, {}, loading)
83+
}
84+
85+
const putToolIcon: (
86+
id: string,
87+
data: any,
88+
loading?: Ref<boolean>
89+
) => Promise<Result<any>> = (id, data, loading) => {
90+
return put(`${prefix}/${id}/edit_icon`, data, undefined, loading)
91+
}
92+
93+
const exportTool = (id: string, name: string, loading?: Ref<boolean>) => {
94+
return exportFile(name + '.fx', `${prefix}/${id}/export`, undefined, loading)
8495
}
8596

8697
/**
8798
* 调试工具
8899
* @param 参数
89100
90101
*/
91-
// const postToolDebug: (data: any, loading?: Ref<boolean>) => Promise<Result<any>> = (
92-
// data: any,
93-
// loading
94-
// ) => {
95-
// return post(`${prefix}/debug`, data, undefined, loading)
96-
// }
102+
const postToolDebug: (data: any, loading?: Ref<boolean>) => Promise<Result<any>> = (
103+
data: any,
104+
loading,
105+
) => {
106+
return post(`${prefix}/debug`, data, undefined, loading)
107+
}
108+
109+
const postImportTool: (data: any, loading?: Ref<boolean>) => Promise<Result<any>> = (
110+
data,
111+
loading,
112+
) => {
113+
return post(`${prefix}/import`, data, undefined, loading)
114+
}
115+
116+
const postPylint: (code: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
117+
code,
118+
loading,
119+
) => {
120+
return post(`${prefix}/tool/pylint`, { code }, {}, loading)
121+
}
97122

98123
export default {
99124
getToolByFolder,
100125
getToolList,
101126
putTool,
102127
getToolById,
103128
postTool,
104-
postPylint
129+
postToolDebug,
130+
postImportTool,
131+
postPylint,
132+
exportTool,
133+
putToolIcon,
134+
delTool
105135
}

ui/src/locales/lang/zh-CN/views/tool.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,19 @@ export default {
22
title: '工具',
33
createTool: '创建工具',
44
editTool: '编辑工具',
5+
copyTool: '复制函数',
6+
importTool: '导入函数',
57
disabled: {
68
confirmTitle: '是否禁用工具:',
79
confirmMessage: '禁用后,引用了该工具的应用提问时会报错 ,请谨慎操作。',
810
},
11+
tip: {
12+
saveMessage: '当前的更改尚未保存,确认退出吗?',
13+
},
914
form: {
1015
title: {
1116
copy: '副本',
12-
baseInfo: '基础信息'
17+
baseInfo: '基础信息',
1318
},
1419
toolName: {
1520
label: '名称',

ui/src/views/tool/ToolDebugDrawer.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ watch(debugVisible, (bool) => {
148148
const submit = async (formEl: FormInstance | undefined) => {
149149
const validate = formEl ? formEl.validate() : Promise.resolve()
150150
Promise.all([dynamicsFormRef.value?.validate(), validate]).then(() => {
151-
toolApi.postToolDebug(form.value, loading).then((res) => {
151+
ToolApi.postToolDebug(form.value, loading).then((res) => {
152152
if (res.code === 500) {
153153
showResult.value = true
154154
isSuccess.value = false

ui/src/views/tool/ToolFormDrawer.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ function refreshInitFieldList(data: any) {
398398
UserFieldFormDialogRef.value.close()
399399
}
400400
401-
function refreshtool(data: any) {
401+
function refreshTool(data: any) {
402402
form.value.icon = data
403403
}
404404

ui/src/views/tool/component/EditAvatarDialog.vue

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,9 @@
99
<el-radio-group v-model="radioType" class="radio-block mb-16">
1010
<el-radio value="default">
1111
<p>{{ $t('common.EditAvatarDialog.default') }}</p>
12-
<el-avatar
13-
v-if="detail?.name"
14-
:name="detail?.name"
15-
pinyinColor
16-
class="mt-8 mb-8"
17-
shape="square"
18-
:size="32"
19-
/>
12+
<el-avatar class="avatar-green" shape="square" :size="32">
13+
<img src="@/assets/node/icon_tool.svg" style="width: 58%" alt="" />
14+
</el-avatar>
2015
</el-radio>
2116

2217
<el-radio value="custom">
@@ -122,6 +117,4 @@ function submit() {
122117
123118
defineExpose({ open })
124119
</script>
125-
<style lang="scss" scoped>
126-
127-
</style>
120+
<style lang="scss" scoped></style>

0 commit comments

Comments
 (0)