From f179a5b755929d3d34f3c695644ff022f8b53967 Mon Sep 17 00:00:00 2001 From: 2910410219 <2910410219@qq.com> Date: Tue, 14 Jul 2026 11:03:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=89=88=E6=A8=A1=E5=9E=8Bv2=E7=9B=B8?= =?UTF-8?q?=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 75 +++- package.json | 1 + src/api/settings/modelConfigV2/index.ts | 162 ++++++++ src/types/json-schema-editor.d.ts | 10 + .../modelConfigV2/component/editModule.vue | 356 ++++++++++++++++++ src/views/settings/modelConfigV2/index.vue | 225 ++++++++++- 6 files changed, 817 insertions(+), 12 deletions(-) create mode 100644 src/api/settings/modelConfigV2/index.ts create mode 100644 src/types/json-schema-editor.d.ts create mode 100644 src/views/settings/modelConfigV2/component/editModule.vue diff --git a/package-lock.json b/package-lock.json index fb05353..32b832c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,6 +30,7 @@ "element-plus": "^2.10.7", "file-saver": "^2.0.5", "js-cookie": "^3.0.5", + "json-schema-editor": "github:wusij/json-schema#8827d0d6a360c37bc32a8945fb979260bd4a4c85", "jsplumb": "^2.15.6", "jszip": "^3.10.1", "lodash": "^4.17.21", @@ -265,6 +266,7 @@ "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz", "integrity": "sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==", "license": "MIT", + "peer": true, "peerDependencies": { "vue": "^3.2.0" } @@ -928,6 +930,7 @@ "resolved": "https://registry.npmjs.org/@interactjs/core/-/core-1.10.27.tgz", "integrity": "sha512-SliUr/3ZbLAdED8LokzYzWHWMdCB5Cq+UnpXuRy+BIod1j97m4IUFf/D1iIKUBBjBcucgXbz28z96WnenVCB7Q==", "license": "MIT", + "peer": true, "peerDependencies": { "@interactjs/utils": "1.10.27" } @@ -998,6 +1001,7 @@ "resolved": "https://registry.npmjs.org/@interactjs/modifiers/-/modifiers-1.10.27.tgz", "integrity": "sha512-ei/qfoQ+9/8k6WzNzdNqHI6cWkIV576N4Ap16r5CoqOWwhA6Xzj3OMHf1g0t1O4eSq2HdJsVJn3eLNfw9HsbeQ==", "license": "MIT", + "peer": true, "dependencies": { "@interactjs/snappers": "1.10.27" }, @@ -1064,7 +1068,8 @@ "version": "1.10.27", "resolved": "https://registry.npmjs.org/@interactjs/utils/-/utils-1.10.27.tgz", "integrity": "sha512-+qfLOio2OxQqg1cXSnRaCl+N8MQDQLDS9w+aOGxH8YLAhIMyt7Asxx/46//sT8orgsi16pmlBPtngPHT9s8zKw==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@intlify/core-base": { "version": "11.1.2", @@ -1156,6 +1161,7 @@ "resolved": "https://registry.npmjs.org/@logicflow/core/-/core-2.2.1.tgz", "integrity": "sha512-VzLPrCrT4eXnOLjoGQ5v4GUSay3+6rd3YNZD0qOJw4vME5e4WjQ5fd+hKK2zlIzgdRI4D54dXiEFJrS6xdV6yQ==", "license": "Apache-2.0", + "peer": true, "dependencies": { "classnames": "^2.3.2", "lodash-es": "^4.17.21", @@ -1909,6 +1915,7 @@ "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", "license": "MIT", + "peer": true, "dependencies": { "@types/lodash": "*" } @@ -1919,6 +1926,7 @@ "integrity": "sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -1990,6 +1998,7 @@ "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", "dev": true, "license": "BSD-2-Clause", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "7.18.0", "@typescript-eslint/types": "7.18.0", @@ -2165,6 +2174,7 @@ "resolved": "https://registry.npmjs.org/@uppy/core/-/core-2.3.4.tgz", "integrity": "sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==", "license": "MIT", + "peer": true, "dependencies": { "@transloadit/prettier-bytes": "0.0.7", "@uppy/store-default": "^2.1.1", @@ -2196,6 +2206,7 @@ "resolved": "https://registry.npmjs.org/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz", "integrity": "sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==", "license": "MIT", + "peer": true, "dependencies": { "@uppy/companion-client": "^2.2.2", "@uppy/utils": "^4.1.2", @@ -2273,6 +2284,7 @@ "resolved": "https://registry.npmjs.org/@vue-flow/core/-/core-1.48.2.tgz", "integrity": "sha512-raxhgKWE+G/mcEvXJjGFUDYW9rAI3GOtiHR3ZkNpwBWuIaCC1EYiBmKGwJOoNzVFgwO7COgErnK7i08i287AFA==", "license": "MIT", + "peer": true, "dependencies": { "@vueuse/core": "^10.5.0", "d3-drag": "^3.0.0", @@ -2516,6 +2528,7 @@ "resolved": "https://registry.npmjs.org/@wangeditor/basic-modules/-/basic-modules-1.1.7.tgz", "integrity": "sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==", "license": "MIT", + "peer": true, "dependencies": { "is-url": "^1.2.4" }, @@ -2548,6 +2561,7 @@ "resolved": "https://registry.npmjs.org/@wangeditor/core/-/core-1.1.19.tgz", "integrity": "sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==", "license": "MIT", + "peer": true, "dependencies": { "@types/event-emitter": "^0.3.3", "event-emitter": "^0.3.5", @@ -2666,6 +2680,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2921,6 +2936,7 @@ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.2.tgz", "integrity": "sha512-VhydHotNW5w1UGK0Qj96BwSk/Zqbp9WbnyK2W/eVMv4QyF41INRGpjUhFJY7/uDNuudSc33a/PKr4iDqRduvHw==", "license": "MIT", + "peer": true, "dependencies": { "@codemirror/autocomplete": "^6.0.0", "@codemirror/commands": "^6.0.0", @@ -3104,6 +3120,7 @@ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "license": "ISC", + "peer": true, "engines": { "node": ">=12" } @@ -3243,6 +3260,7 @@ "resolved": "https://registry.npmjs.org/dom7/-/dom7-3.0.0.tgz", "integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==", "license": "MIT", + "peer": true, "dependencies": { "ssr-window": "^3.0.0-alpha.1" } @@ -3279,6 +3297,7 @@ "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.6.0.tgz", "integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==", "license": "Apache-2.0", + "peer": true, "dependencies": { "tslib": "2.3.0", "zrender": "5.6.1" @@ -3319,6 +3338,7 @@ "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.11.8.tgz", "integrity": "sha512-2wzSj2uubFU1f0t/gHkkE1d09mUgV18fSZX5excw3Ar6hyWcxph4E57U8dgYLDt7HwkKYv1BiqPyBdy0WqWlOA==", "license": "MIT", + "peer": true, "dependencies": { "@ctrl/tinycolor": "^3.4.1", "@element-plus/icons-vue": "^2.3.2", @@ -3507,6 +3527,7 @@ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -4299,7 +4320,8 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/is-hotkey/-/is-hotkey-0.2.0.tgz", "integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/is-number": { "version": "7.0.0", @@ -4388,6 +4410,17 @@ "dev": true, "license": "MIT" }, + "node_modules/json-schema-editor": { + "version": "1.0.0", + "resolved": "git+ssh://git@github.com/wusij/json-schema.git#8827d0d6a360c37bc32a8945fb979260bd4a4c85", + "integrity": "sha512-XtNGXmlbycpLzfOkzY9p9fimcvVfLXjbxLcUGjRZpgl0g47LJCQ52fhNs4DIEwlTRMJTBYeq0x8POBXMIXARfg==", + "license": "MIT", + "peerDependencies": { + "@element-plus/icons-vue": "^2.3.0", + "element-plus": "^2.5.0", + "vue": "^3.4.0" + } + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -4486,13 +4519,15 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/lodash-es": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/lodash-unified": { "version": "1.0.3", @@ -4509,32 +4544,37 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/lodash.foreach": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/lodash.merge": { "version": "4.6.2", @@ -4547,13 +4587,15 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/lodash.toarray": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", "integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/magic-string": { "version": "0.30.21", @@ -4666,6 +4708,7 @@ "resolved": "https://registry.npmjs.org/mobx/-/mobx-5.15.7.tgz", "integrity": "sha512-wyM3FghTkhmC+hQjyPGGFdpehrcX1KOXsDuERhfK2YbJemkUhEB+6wzEN639T21onxlfYBmriA1PFnvxTUhcKw==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/mobx" @@ -4730,6 +4773,7 @@ } ], "license": "MIT", + "peer": true, "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -5016,6 +5060,7 @@ "resolved": "https://registry.npmjs.org/preact/-/preact-10.27.2.tgz", "integrity": "sha512-5SYSgFKSyhCbk6SrXyMpqjb5+MQBgfvEKE/OC+PujcY34sOpqtr+0AZQtPYx5IA6VxynQ7rUPCtKzyovpj9Bpg==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" @@ -5276,6 +5321,7 @@ "integrity": "sha512-N+7WK20/wOr7CzA2snJcUSSNTCzeCGUTFY3OgeQP3mZ1aj9NMQ0mSTXwlrnd89j33zzQJGqIN52GIOmYrfq46A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", @@ -5494,6 +5540,7 @@ "resolved": "https://registry.npmjs.org/slate/-/slate-0.72.8.tgz", "integrity": "sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==", "license": "MIT", + "peer": true, "dependencies": { "immer": "^9.0.6", "is-plain-object": "^5.0.0", @@ -5517,6 +5564,7 @@ "resolved": "https://registry.npmjs.org/snabbdom/-/snabbdom-3.6.3.tgz", "integrity": "sha512-W2lHLLw2qR2Vv0DcMmcxXqcfdBaIcoN+y/86SmHv8fn4DazEQSH6KN3TjZcWvwujW56OHiiirsbHWZb4vx/0fg==", "license": "MIT", + "peer": true, "engines": { "node": ">=12.17.0" } @@ -5682,6 +5730,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -5759,6 +5808,7 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "devOptional": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -5828,6 +5878,7 @@ "integrity": "sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -5996,6 +6047,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -6015,6 +6067,7 @@ "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.25.tgz", "integrity": "sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==", "license": "MIT", + "peer": true, "dependencies": { "@vue/compiler-dom": "3.5.25", "@vue/compiler-sfc": "3.5.25", diff --git a/package.json b/package.json index de8848c..14b5237 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "element-plus": "^2.10.7", "file-saver": "^2.0.5", "js-cookie": "^3.0.5", + "json-schema-editor": "github:wusij/json-schema#8827d0d6a360c37bc32a8945fb979260bd4a4c85", "jsplumb": "^2.15.6", "jszip": "^3.10.1", "lodash": "^4.17.21", diff --git a/src/api/settings/modelConfigV2/index.ts b/src/api/settings/modelConfigV2/index.ts new file mode 100644 index 0000000..b3eedfb --- /dev/null +++ b/src/api/settings/modelConfigV2/index.ts @@ -0,0 +1,162 @@ +import request from '/@/utils/request'; + +/** 列表查询参数 */ +export interface ListModelManageParams { + pageNum: number; + pageSize: number; + modelName?: string; + modelType?: number; +} + +/** 列表项 */ +export interface ModelManageItem { + id: string; + tenantId: number; + creator: string; + createdAt: string; + updater: string; + updatedAt: string; + deletedAt: null | string; + modelSupplier: string; + modelName: string; + modelType: number; + baseUrl: string; + systemModel: boolean; + httpMethod: string; + PrivateModel: boolean; + ChatModel: boolean; + invokeType: number; + apiKey: string; + enabled: boolean; + requestMapping: Record; + responseMapping: Record; + maxConcurrency: number; +} + +/** 列表响应 */ +export interface ListModelManageResponse { + code: number; + message: string; + data: { + list: ModelManageItem[]; + total: number; + }; +} + +/** 模型类型树节点(支持二级) */ +export interface ModelTypeTreeNode { + value: number; + label: string; + children?: ModelTypeTreeNode[]; +} + +/** 模型类型列表响应 */ +export interface ModelManageTypeResponse { + code: number; + message: string; + data: { + list: ModelTypeTreeNode[]; + }; +} + +/** + * 获取模型配置列表(v2) + */ +export function listModelManage(params: ListModelManageParams) { + return request({ + url: '/model-gateway/model/manage/listModelManage', + method: 'get', + params, + }); +} + +/** + * 获取模型类型列表(v2,树形结构,支持一级/二级) + */ +export function getModelManageTypes() { + return request({ + url: '/model-gateway/model/manage/modelType', + method: 'get', + }); +} + +/** + * 删除模型配置 + */ +export function deleteModelManage(id: string) { + return request({ + url: '/model-gateway/model/manage/deleteModelManage', + method: 'delete', + data: { id }, + }); +} + +/** 供应商列表项 */ +export interface ModelSupplierItem { + value: number; + label: string; +} + +/** 供应商列表响应 */ +export interface ModelSupplierListResponse { + code: number; + message: string; + data: { + list: ModelSupplierItem[]; + }; +} + +/** + * 获取模型供应商列表 + */ +export function getModelSupplierList() { + return request({ + url: '/model-gateway/model/manage/modelSupplier', + method: 'get', + }); +} + +/** 创建模型配置参数 */ +export interface CreateModelManageParams { + modelSupplier: number; + modelName: string; + modelType: number; + baseUrl: string; + httpMethod: string; + systemModel?: boolean; + privateModel?: boolean; + enabled?: boolean; + chatModel?: boolean; + invokeType?: number; + apiKey?: string; + requestMapping?: Record; + responseMapping?: Record; + maxConcurrency?: number; +} + +/** 更新模型配置参数 */ +export interface UpdateModelManageParams extends Partial { + id: string; +} + +/** + * 创建模型配置 + */ +export function createModelManage(data: CreateModelManageParams) { + return request({ + url: '/model-gateway/model/manage/createModelManage', + method: 'post', + data, + }); +} + +/** + * 更新模型配置 + */ +export function updateModelManage(data: UpdateModelManageParams) { + return request({ + url: '/model-gateway/model/manage/updateModelManage', + method: 'put', + data, + }); +} diff --git a/src/types/json-schema-editor.d.ts b/src/types/json-schema-editor.d.ts new file mode 100644 index 0000000..dc23eb2 --- /dev/null +++ b/src/types/json-schema-editor.d.ts @@ -0,0 +1,10 @@ +declare module 'json-schema-editor' { + import { DefineComponent } from 'vue'; + + export const JsonEditor: DefineComponent<{ + modelValue?: Record; + }>; + + export const FieldConfigDialog: DefineComponent; + export const JsonNode: DefineComponent; +} diff --git a/src/views/settings/modelConfigV2/component/editModule.vue b/src/views/settings/modelConfigV2/component/editModule.vue new file mode 100644 index 0000000..e7b6f58 --- /dev/null +++ b/src/views/settings/modelConfigV2/component/editModule.vue @@ -0,0 +1,356 @@ + + + + + diff --git a/src/views/settings/modelConfigV2/index.vue b/src/views/settings/modelConfigV2/index.vue index 5d2a3a0..26ecda7 100644 --- a/src/views/settings/modelConfigV2/index.vue +++ b/src/views/settings/modelConfigV2/index.vue @@ -1 +1,224 @@ - + + + + +