feat: model
This commit is contained in:
parent
4cb513dd3f
commit
b219c72c4a
@ -1,15 +1,13 @@
|
|||||||
import { request } from '../../request/index'
|
|
||||||
import { Result } from '@/request/Result'
|
import { Result } from '@/request/Result'
|
||||||
import { get, post, del, put } from '@/request/index'
|
import { get, post, del, put } from '@/request/index'
|
||||||
import { type Ref } from 'vue'
|
import { type Ref } from 'vue'
|
||||||
import type {
|
import type {
|
||||||
modelRequest,
|
|
||||||
Provider,
|
|
||||||
ListModelRequest,
|
ListModelRequest,
|
||||||
Model,
|
Model,
|
||||||
BaseModel,
|
BaseModel,
|
||||||
CreateModelRequest,
|
CreateModelRequest,
|
||||||
EditModelRequest
|
EditModelRequest,
|
||||||
} from '@/api/type/model'
|
} from '@/api/type/model'
|
||||||
import type { FormField } from '@/components/dynamics-form/type'
|
import type { FormField } from '@/components/dynamics-form/type'
|
||||||
import type { KeyValue } from '../type/common'
|
import type { KeyValue } from '../type/common'
|
||||||
@ -22,42 +20,11 @@ const prefix_provider = '/provider'
|
|||||||
*/
|
*/
|
||||||
const getModel: (
|
const getModel: (
|
||||||
request?: ListModelRequest,
|
request?: ListModelRequest,
|
||||||
loading?: Ref<boolean>
|
loading?: Ref<boolean>,
|
||||||
) => Promise<Result<Array<Model>>> = (data, loading) => {
|
) => Promise<Result<Array<Model>>> = (data, loading) => {
|
||||||
return get(`${prefix}`, data, loading)
|
return get(`${prefix}`, data, loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 获得供应商列表
|
|
||||||
*/
|
|
||||||
const getProvider: (loading?: Ref<boolean>) => Promise<Result<Array<Provider>>> = (loading) => {
|
|
||||||
return get(`${prefix_provider}`, {}, loading)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获得供应商列表
|
|
||||||
*/
|
|
||||||
const getProviderByModelType: (model_type: string, loading?: Ref<boolean>) => Promise<Result<Array<Provider>>> = (model_type, loading) => {
|
|
||||||
return get(`${prefix_provider}`, {model_type}, loading)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取模型创建表单
|
|
||||||
* @param provider
|
|
||||||
* @param model_type
|
|
||||||
* @param model_name
|
|
||||||
* @param loading
|
|
||||||
* @returns
|
|
||||||
*/
|
|
||||||
const getModelCreateForm: (
|
|
||||||
provider: string,
|
|
||||||
model_type: string,
|
|
||||||
model_name: string,
|
|
||||||
loading?: Ref<boolean>
|
|
||||||
) => Promise<Result<Array<FormField>>> = (provider, model_type, model_name, loading) => {
|
|
||||||
return get(`${prefix_provider}/model_form`, { provider, model_type, model_name }, loading)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取模型参数表单
|
* 获取模型参数表单
|
||||||
* @param model_id 模型id
|
* @param model_id 模型id
|
||||||
@ -66,7 +33,7 @@ const getModelCreateForm: (
|
|||||||
*/
|
*/
|
||||||
const getModelParamsForm: (
|
const getModelParamsForm: (
|
||||||
model_id: string,
|
model_id: string,
|
||||||
loading?: Ref<boolean>
|
loading?: Ref<boolean>,
|
||||||
) => Promise<Result<Array<FormField>>> = (model_id, loading) => {
|
) => Promise<Result<Array<FormField>>> = (model_id, loading) => {
|
||||||
return get(`model/${model_id}/model_params_form`, {}, loading)
|
return get(`model/${model_id}/model_params_form`, {}, loading)
|
||||||
}
|
}
|
||||||
@ -78,7 +45,7 @@ const getModelParamsForm: (
|
|||||||
*/
|
*/
|
||||||
const listModelType: (
|
const listModelType: (
|
||||||
provider: string,
|
provider: string,
|
||||||
loading?: Ref<boolean>
|
loading?: Ref<boolean>,
|
||||||
) => Promise<Result<Array<KeyValue<string, string>>>> = (provider, loading?: Ref<boolean>) => {
|
) => Promise<Result<Array<KeyValue<string, string>>>> = (provider, loading?: Ref<boolean>) => {
|
||||||
return get(`${prefix_provider}/model_type_list`, { provider }, loading)
|
return get(`${prefix_provider}/model_type_list`, { provider }, loading)
|
||||||
}
|
}
|
||||||
@ -93,7 +60,7 @@ const listModelType: (
|
|||||||
const listBaseModel: (
|
const listBaseModel: (
|
||||||
provider: string,
|
provider: string,
|
||||||
model_type: string,
|
model_type: string,
|
||||||
loading?: Ref<boolean>
|
loading?: Ref<boolean>,
|
||||||
) => Promise<Result<Array<BaseModel>>> = (provider, model_type, loading) => {
|
) => Promise<Result<Array<BaseModel>>> = (provider, model_type, loading) => {
|
||||||
return get(`${prefix_provider}/model_list`, { provider, model_type }, loading)
|
return get(`${prefix_provider}/model_list`, { provider, model_type }, loading)
|
||||||
}
|
}
|
||||||
@ -102,9 +69,9 @@ const listBaseModelParamsForm: (
|
|||||||
provider: string,
|
provider: string,
|
||||||
model_type: string,
|
model_type: string,
|
||||||
model_name: string,
|
model_name: string,
|
||||||
loading?: Ref<boolean>
|
loading?: Ref<boolean>,
|
||||||
) => Promise<Result<Array<BaseModel>>> = (provider, model_type, model_name, loading) => {
|
) => Promise<Result<Array<BaseModel>>> = (provider, model_type, model_name, loading) => {
|
||||||
return get(`${prefix_provider}/model_params_form`, { provider, model_type, model_name}, loading)
|
return get(`${prefix_provider}/model_params_form`, { provider, model_type, model_name }, loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -115,7 +82,7 @@ const listBaseModelParamsForm: (
|
|||||||
*/
|
*/
|
||||||
const createModel: (
|
const createModel: (
|
||||||
request: CreateModelRequest,
|
request: CreateModelRequest,
|
||||||
loading?: Ref<boolean>
|
loading?: Ref<boolean>,
|
||||||
) => Promise<Result<Model>> = (request, loading) => {
|
) => Promise<Result<Model>> = (request, loading) => {
|
||||||
return post(`${prefix}`, request, {}, loading)
|
return post(`${prefix}`, request, {}, loading)
|
||||||
}
|
}
|
||||||
@ -129,7 +96,7 @@ const createModel: (
|
|||||||
const updateModel: (
|
const updateModel: (
|
||||||
model_id: string,
|
model_id: string,
|
||||||
request: EditModelRequest,
|
request: EditModelRequest,
|
||||||
loading?: Ref<boolean>
|
loading?: Ref<boolean>,
|
||||||
) => Promise<Result<Model>> = (model_id, request, loading) => {
|
) => Promise<Result<Model>> = (model_id, request, loading) => {
|
||||||
return put(`${prefix}/${model_id}`, request, {}, loading)
|
return put(`${prefix}/${model_id}`, request, {}, loading)
|
||||||
}
|
}
|
||||||
@ -143,7 +110,7 @@ const updateModel: (
|
|||||||
const updateModelParamsForm: (
|
const updateModelParamsForm: (
|
||||||
model_id: string,
|
model_id: string,
|
||||||
request: any[],
|
request: any[],
|
||||||
loading?: Ref<boolean>
|
loading?: Ref<boolean>,
|
||||||
) => Promise<Result<Model>> = (model_id, request, loading) => {
|
) => Promise<Result<Model>> = (model_id, request, loading) => {
|
||||||
return put(`${prefix}/${model_id}/model_params_form`, request, {}, loading)
|
return put(`${prefix}/${model_id}/model_params_form`, request, {}, loading)
|
||||||
}
|
}
|
||||||
@ -156,7 +123,7 @@ const updateModelParamsForm: (
|
|||||||
*/
|
*/
|
||||||
const getModelById: (model_id: string, loading?: Ref<boolean>) => Promise<Result<Model>> = (
|
const getModelById: (model_id: string, loading?: Ref<boolean>) => Promise<Result<Model>> = (
|
||||||
model_id,
|
model_id,
|
||||||
loading
|
loading,
|
||||||
) => {
|
) => {
|
||||||
return get(`${prefix}/${model_id}`, {}, loading)
|
return get(`${prefix}/${model_id}`, {}, loading)
|
||||||
}
|
}
|
||||||
@ -168,7 +135,7 @@ const getModelById: (model_id: string, loading?: Ref<boolean>) => Promise<Result
|
|||||||
*/
|
*/
|
||||||
const getModelMetaById: (model_id: string, loading?: Ref<boolean>) => Promise<Result<Model>> = (
|
const getModelMetaById: (model_id: string, loading?: Ref<boolean>) => Promise<Result<Model>> = (
|
||||||
model_id,
|
model_id,
|
||||||
loading
|
loading,
|
||||||
) => {
|
) => {
|
||||||
return get(`${prefix}/${model_id}/meta`, {}, loading)
|
return get(`${prefix}/${model_id}/meta`, {}, loading)
|
||||||
}
|
}
|
||||||
@ -180,20 +147,18 @@ const getModelMetaById: (model_id: string, loading?: Ref<boolean>) => Promise<Re
|
|||||||
*/
|
*/
|
||||||
const pauseDownload: (model_id: string, loading?: Ref<boolean>) => Promise<Result<boolean>> = (
|
const pauseDownload: (model_id: string, loading?: Ref<boolean>) => Promise<Result<boolean>> = (
|
||||||
model_id,
|
model_id,
|
||||||
loading
|
loading,
|
||||||
) => {
|
) => {
|
||||||
return put(`${prefix}/${model_id}/pause_download`, undefined, {}, loading)
|
return put(`${prefix}/${model_id}/pause_download`, undefined, {}, loading)
|
||||||
}
|
}
|
||||||
const deleteModel: (model_id: string, loading?: Ref<boolean>) => Promise<Result<boolean>> = (
|
const deleteModel: (model_id: string, loading?: Ref<boolean>) => Promise<Result<boolean>> = (
|
||||||
model_id,
|
model_id,
|
||||||
loading
|
loading,
|
||||||
) => {
|
) => {
|
||||||
return del(`${prefix}/${model_id}`, undefined, {}, loading)
|
return del(`${prefix}/${model_id}`, undefined, {}, loading)
|
||||||
}
|
}
|
||||||
export default {
|
export default {
|
||||||
getModel,
|
getModel,
|
||||||
getProvider,
|
|
||||||
getModelCreateForm,
|
|
||||||
listModelType,
|
listModelType,
|
||||||
listBaseModel,
|
listBaseModel,
|
||||||
listBaseModelParamsForm,
|
listBaseModelParamsForm,
|
||||||
@ -205,5 +170,4 @@ export default {
|
|||||||
pauseDownload,
|
pauseDownload,
|
||||||
getModelParamsForm,
|
getModelParamsForm,
|
||||||
updateModelParamsForm,
|
updateModelParamsForm,
|
||||||
getProviderByModelType
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,12 +1,44 @@
|
|||||||
import { Result } from '@/request/Result'
|
import { Result } from '@/request/Result'
|
||||||
import { get, post } from '@/request/index'
|
import { get, post } from '@/request/index'
|
||||||
import type { Ref } from 'vue'
|
import type { Ref } from 'vue'
|
||||||
const trigger: (
|
import type { Provider } from '@/api/type/model'
|
||||||
provider: string,
|
import type { FormField } from '@/components/dynamics-form/type'
|
||||||
method: string,
|
const prefix_provider = '/provider'
|
||||||
request_body: any,
|
/**
|
||||||
loading?: Ref<boolean>
|
* 获得供应商列表
|
||||||
) => Promise<Result<Array<any> | string>> = (provider, method, request_body, loading) => {
|
*/
|
||||||
return post(`provider/${provider}/${method}`, {}, request_body, loading)
|
const getProvider: (loading?: Ref<boolean>) => Promise<Result<Array<Provider>>> = (loading) => {
|
||||||
|
return get(`${prefix_provider}`, {}, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得供应商列表
|
||||||
|
*/
|
||||||
|
const getProviderByModelType: (
|
||||||
|
model_type: string,
|
||||||
|
loading?: Ref<boolean>,
|
||||||
|
) => Promise<Result<Array<Provider>>> = (model_type, loading) => {
|
||||||
|
return get(`${prefix_provider}`, { model_type }, loading)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取模型创建表单
|
||||||
|
* @param provider
|
||||||
|
* @param model_type
|
||||||
|
* @param model_name
|
||||||
|
* @param loading
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
const getModelCreateForm: (
|
||||||
|
provider: string,
|
||||||
|
model_type: string,
|
||||||
|
model_name: string,
|
||||||
|
loading?: Ref<boolean>,
|
||||||
|
) => Promise<Result<Array<FormField>>> = (provider, model_type, model_name, loading) => {
|
||||||
|
return get(`${prefix_provider}/model_form`, { provider, model_type, model_name }, loading)
|
||||||
|
}
|
||||||
|
export default {
|
||||||
|
getProvider,
|
||||||
|
getModelCreateForm,
|
||||||
|
getProviderByModelType,
|
||||||
}
|
}
|
||||||
export default { trigger, get }
|
|
||||||
|
|||||||
67
ui/src/locales/lang/zh-CN/common.ts
Normal file
67
ui/src/locales/lang/zh-CN/common.ts
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
export default {
|
||||||
|
create: '创建',
|
||||||
|
createSuccess: '创建成功',
|
||||||
|
copy: '复制',
|
||||||
|
copySuccess: '复制成功',
|
||||||
|
copyError: '复制失败',
|
||||||
|
save: '保存',
|
||||||
|
saveSuccess: '保存成功',
|
||||||
|
delete: '删除',
|
||||||
|
deleteSuccess: '删除成功',
|
||||||
|
setting: '设置',
|
||||||
|
settingSuccess: '设置成功',
|
||||||
|
submit: '提交',
|
||||||
|
submitSuccess: '提交成功',
|
||||||
|
edit: '编辑',
|
||||||
|
editSuccess: '编辑成功',
|
||||||
|
modify: '修改',
|
||||||
|
modifySuccess: '修改成功',
|
||||||
|
add: '添加',
|
||||||
|
addSuccess: '添加成功',
|
||||||
|
cancel: '取消',
|
||||||
|
confirm: '确定',
|
||||||
|
tip: '提示',
|
||||||
|
refresh: '刷新',
|
||||||
|
search: '搜索',
|
||||||
|
clear: '清空',
|
||||||
|
professional: '购买专业版',
|
||||||
|
createDate: '创建日期',
|
||||||
|
createTime: '创建时间',
|
||||||
|
operation: '操作',
|
||||||
|
character: '字符',
|
||||||
|
export: '导出',
|
||||||
|
exportSuccess: '导出成功',
|
||||||
|
unavailable: '(不可用)',
|
||||||
|
public: '公有',
|
||||||
|
private: '私有',
|
||||||
|
paramSetting: '参数设置',
|
||||||
|
creator: '创建者',
|
||||||
|
author: '作者',
|
||||||
|
debug: '调试',
|
||||||
|
required: '必填',
|
||||||
|
noData: '暂无数据',
|
||||||
|
result: '结果',
|
||||||
|
fileUpload: {
|
||||||
|
document: '文档',
|
||||||
|
image: '图片',
|
||||||
|
audio: '音频',
|
||||||
|
video: '视频',
|
||||||
|
other: '其他文件',
|
||||||
|
addExtensions: '添加后缀名',
|
||||||
|
existingExtensionsTip: '文件后缀已存在',
|
||||||
|
},
|
||||||
|
status: {
|
||||||
|
label: '状态',
|
||||||
|
enableSuccess: '启用成功',
|
||||||
|
disableSuccess: '禁用成功'
|
||||||
|
},
|
||||||
|
inputPlaceholder: '请输入',
|
||||||
|
title: '标题',
|
||||||
|
content: '内容',
|
||||||
|
param: {
|
||||||
|
outputParam: '输出参数',
|
||||||
|
inputParam: '输入参数',
|
||||||
|
initParam: '启动参数'
|
||||||
|
},
|
||||||
|
rename: '重命名'
|
||||||
|
}
|
||||||
@ -4,7 +4,7 @@ import views from './views'
|
|||||||
import theme from './theme'
|
import theme from './theme'
|
||||||
import layout from './layout'
|
import layout from './layout'
|
||||||
import dynamicsForm from './dynamics-form'
|
import dynamicsForm from './dynamics-form'
|
||||||
// import common from './common'
|
import common from './common'
|
||||||
// import chat from './ai-chat'
|
// import chat from './ai-chat'
|
||||||
export default {
|
export default {
|
||||||
lang: '简体中文',
|
lang: '简体中文',
|
||||||
@ -13,4 +13,5 @@ export default {
|
|||||||
theme,
|
theme,
|
||||||
layout,
|
layout,
|
||||||
dynamicsForm,
|
dynamicsForm,
|
||||||
|
common
|
||||||
}
|
}
|
||||||
|
|||||||
@ -43,14 +43,14 @@ instance.interceptors.response.use(
|
|||||||
if (response.data) {
|
if (response.data) {
|
||||||
if (response.data.code !== 200 && !(response.data instanceof Blob)) {
|
if (response.data.code !== 200 && !(response.data instanceof Blob)) {
|
||||||
if (response.config.url.includes('/application/authentication')) {
|
if (response.config.url.includes('/application/authentication')) {
|
||||||
return Promise.reject(response.data.data)
|
return Promise.reject(response.data)
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
!response.config.url.includes('/valid') &&
|
!response.config.url.includes('/valid') &&
|
||||||
!response.config.url.includes('/function_lib/debug')
|
!response.config.url.includes('/function_lib/debug')
|
||||||
) {
|
) {
|
||||||
MsgError(response.data.message)
|
MsgError(response.data.message)
|
||||||
return Promise.reject(response.data.data)
|
return Promise.reject(response.data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -101,9 +101,9 @@ const promise: (
|
|||||||
.then((response) => {
|
.then((response) => {
|
||||||
// blob类型的返回状态是response.status
|
// blob类型的返回状态是response.status
|
||||||
if (response.status === 200) {
|
if (response.status === 200) {
|
||||||
resolve(response?.data?.data || response)
|
resolve(response?.data || response)
|
||||||
} else {
|
} else {
|
||||||
reject(response?.data?.data || response)
|
reject(response?.data || response)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
|
|||||||
@ -30,9 +30,9 @@ const useLoginStore = defineStore('login', {
|
|||||||
},
|
},
|
||||||
|
|
||||||
async asyncLogin(data: LoginRequest, loading?: Ref<boolean>) {
|
async asyncLogin(data: LoginRequest, loading?: Ref<boolean>) {
|
||||||
return loginApi.login(data).then((ok: any) => {
|
return loginApi.login(data).then((ok) => {
|
||||||
this.token = ok.token
|
this.token = ok?.data?.token
|
||||||
localStorage.setItem('token', ok.token)
|
localStorage.setItem('token', ok?.data?.token)
|
||||||
const user = useUserStore()
|
const user = useUserStore()
|
||||||
return user.profile(loading)
|
return user.profile(loading)
|
||||||
})
|
})
|
||||||
|
|||||||
@ -37,8 +37,9 @@ const useLoginStore = defineStore('user', {
|
|||||||
},
|
},
|
||||||
async profile(loading?: Ref<boolean>) {
|
async profile(loading?: Ref<boolean>) {
|
||||||
return UserApi.getUserProfile(loading).then((ok) => {
|
return UserApi.getUserProfile(loading).then((ok) => {
|
||||||
this.userInfo = ok
|
this.userInfo = ok.data
|
||||||
useLocalStorage<string>(localeConfigKey, 'en-US').value = ok?.language || this.getLanguage()
|
useLocalStorage<string>(localeConfigKey, 'en-US').value =
|
||||||
|
ok?.data?.language || this.getLanguage()
|
||||||
// return this.asyncGetProfile()
|
// return this.asyncGetProfile()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@ -73,7 +73,7 @@ const checkModelType = (model_type: string) => {
|
|||||||
selectModelType.value = model_type
|
selectModelType.value = model_type
|
||||||
currentModelType.value = modelTypeOptions.filter((item) => item.value === model_type)[0].text
|
currentModelType.value = modelTypeOptions.filter((item) => item.value === model_type)[0].text
|
||||||
ModelApi.getProviderByModelType(model_type, loading).then((ok) => {
|
ModelApi.getProviderByModelType(model_type, loading).then((ok) => {
|
||||||
list_provider.value = ok.data
|
list_provider.value = ok
|
||||||
list_provider.value.sort((a, b) => a.provider.localeCompare(b.provider))
|
list_provider.value.sort((a, b) => a.provider.localeCompare(b.provider))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user