refactor: refactor chat model, replace mode value with mode id. refactored system config module, add seperate configration for every chat model

This commit is contained in:
RockYang
2023-09-04 16:32:20 +08:00
parent 0cc9cf8b45
commit 7ecd7eeba1
28 changed files with 714 additions and 276 deletions

View File

@@ -6,8 +6,9 @@
</div>
<el-row>
<el-table :data="items" :row-key="row => row.id">
<el-table-column prop="value" label="API KEY"/>
<el-table :data="items" :row-key="row => row.id" table-layout="auto">
<el-table-column prop="platform" label="所属平台"/>
<el-table-column prop="value" label="KEY"/>
<el-table-column label="创建时间">
<template #default="scope">
@@ -37,24 +38,20 @@
<el-dialog
v-model="showDialog"
title="编辑 API KEY"
:title="title"
style="width: 90%; max-width: 600px;"
>
<el-form :model="item" label-width="120px" ref="formRef" :rules="rules">
<el-form-item label="API KEY" prop="nickname">
<el-form-item label="所属平台" prop="platform">
<el-select v-model="item.platform" placeholder="请选择平台">
<el-option v-for="item in platforms" :value="item" :key="item">{{ item }}</el-option>
</el-select>
</el-form-item>
<el-form-item label="API KEY" prop="value">
<el-input v-model="item.value" autocomplete="off"/>
</el-form-item>
<el-form-item label="最后使用时间" prop="last_used_at">
<el-date-picker
v-model="item.last_used_at"
type="datetime"
placeholder="选择日期"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
:disabled-date="disabledDate"
/>
</el-form-item>
</el-form>
<template #footer>
@@ -79,13 +76,16 @@ const items = ref([])
const item = ref({})
const showDialog = ref(false)
const rules = reactive({
key: [{required: true, message: '请输入 API KEY', trigger: 'change',}]
platform: [{required: true, message: '请选择平台', trigger: 'change',}],
value: [{required: true, message: '请输入 API KEY 值', trigger: 'change',}]
})
const loading = ref(true)
const formRef = ref(null)
const title = ref("")
const platforms = ref(["Azure", "OpenAI", "ChatGML"])
// 获取数据
httpGet('/api/admin/apikey/list?user_id=0').then((res) => {
httpGet('/api/admin/apikey/list').then((res) => {
if (res.data) {
// 初始化数据
const arr = res.data;
@@ -101,11 +101,13 @@ httpGet('/api/admin/apikey/list?user_id=0').then((res) => {
const add = function () {
showDialog.value = true
title.value = "新增 API KEY"
item.value = {}
}
const edit = function (row) {
showDialog.value = true
title.value = "修改 API KEY"
item.value = row
}
@@ -115,7 +117,7 @@ const save = function () {
showDialog.value = false
httpPost('/api/admin/apikey/save', item.value).then((res) => {
ElMessage.success('操作成功!')
if (!item.id) {
if (!item.value['id']) {
const newItem = res.data
newItem.last_used_at = dateFormat(newItem.last_used_at)
items.value.push(newItem)