This commit is contained in:
2025-12-23 17:09:57 +08:00
parent 7f89fd17d3
commit 0ee6263970
3 changed files with 37 additions and 21 deletions
+1
View File
@@ -2,6 +2,7 @@
<project version="4"> <project version="4">
<component name="SqlDialectMappings"> <component name="SqlDialectMappings">
<file url="file://$PROJECT_DIR$/sql/emotion_museum.sql" dialect="MySQL" /> <file url="file://$PROJECT_DIR$/sql/emotion_museum.sql" dialect="MySQL" />
<file url="file://$PROJECT_DIR$/sql/emotion_museum_ddl.sql" dialect="MySQL" />
<file url="file://$PROJECT_DIR$/sql/emotion_museum_init.sql" dialect="MySQL" /> <file url="file://$PROJECT_DIR$/sql/emotion_museum_init.sql" dialect="MySQL" />
</component> </component>
</project> </project>
+5
View File
@@ -6,3 +6,8 @@ alter table emotion_museum.t_user_profile
alter table emotion_museum.t_user_profile alter table emotion_museum.t_user_profile
add profession varchar(100) null comment '职业'; add profession varchar(100) null comment '职业';
-- 职业
alter table emotion_museum.t_ai_config
add client_id VARCHAR(200) COMMENT '客户端ID (OAuth认证)',
add client_secret VARCHAR(500) COMMENT '客户端密钥 (OAuth认证,加密存储)',
add grant_type VARCHAR(50) COMMENT '授权类型: client_credentials, authorization_code, password等';
+31 -21
View File
@@ -3,12 +3,12 @@
<h2 class="page-title">AI配置管理</h2> <h2 class="page-title">AI配置管理</h2>
<el-card class="search-card"> <el-card class="search-card">
<el-form :model="searchForm" :inline="true"> <el-form :model="searchForm" :inline="true" class="search-form">
<el-form-item label="关键词"> <el-form-item label="关键词">
<el-input v-model="searchForm.keyword" placeholder="配置名称/键值/描述" clearable /> <el-input v-model="searchForm.keyword" placeholder="配置名称/键值/描述" clearable style="width: 200px" />
</el-form-item> </el-form-item>
<el-form-item label="配置类型"> <el-form-item label="配置类型">
<el-select v-model="searchForm.configType" placeholder="请选择配置类型" clearable> <el-select v-model="searchForm.configType" placeholder="请选择配置类型" clearable style="width: 150px">
<el-option <el-option
v-for="item in CONFIG_TYPE_OPTIONS" v-for="item in CONFIG_TYPE_OPTIONS"
:key="item.value" :key="item.value"
@@ -18,7 +18,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="服务提供商"> <el-form-item label="服务提供商">
<el-select v-model="searchForm.provider" placeholder="请选择服务提供商" clearable> <el-select v-model="searchForm.provider" placeholder="请选择服务提供商" clearable style="width: 150px">
<el-option <el-option
v-for="item in PROVIDER_OPTIONS" v-for="item in PROVIDER_OPTIONS"
:key="item.value" :key="item.value"
@@ -28,7 +28,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="使用场景"> <el-form-item label="使用场景">
<el-select v-model="searchForm.usageScenario" placeholder="请选择使用场景" clearable> <el-select v-model="searchForm.usageScenario" placeholder="请选择使用场景" clearable style="width: 150px">
<el-option <el-option
v-for="item in USAGE_SCENARIO_OPTIONS" v-for="item in USAGE_SCENARIO_OPTIONS"
:key="item.value" :key="item.value"
@@ -38,13 +38,13 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="状态"> <el-form-item label="状态">
<el-select v-model="searchForm.isEnabled" placeholder="请选择状态" clearable> <el-select v-model="searchForm.isEnabled" placeholder="请选择状态" clearable style="width: 120px">
<el-option label="启用" :value="1" /> <el-option label="启用" :value="1" />
<el-option label="禁用" :value="0" /> <el-option label="禁用" :value="0" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="环境"> <el-form-item label="环境">
<el-select v-model="searchForm.environment" placeholder="请选择环境" clearable> <el-select v-model="searchForm.environment" placeholder="请选择环境" clearable style="width: 130px">
<el-option <el-option
v-for="item in ENVIRONMENT_OPTIONS" v-for="item in ENVIRONMENT_OPTIONS"
:key="item.value" :key="item.value"
@@ -289,24 +289,14 @@
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="8"> <el-col :span="12">
<el-form-item label="Client ID"> <el-form-item label="Client ID">
<el-input v-model="formData.clientId" placeholder="OAuth客户端ID" /> <el-input v-model="formData.clientId" placeholder="请输入OAuth客户端ID" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="12">
<el-form-item label="Client Secret">
<el-input
v-model="formData.clientSecret"
type="password"
show-password
placeholder="OAuth客户端密钥"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="Grant Type"> <el-form-item label="Grant Type">
<el-select v-model="formData.grantType" placeholder="授权类型" clearable style="width: 100%"> <el-select v-model="formData.grantType" placeholder="请选择授权类型" clearable style="width: 100%">
<el-option label="client_credentials" value="client_credentials" /> <el-option label="client_credentials" value="client_credentials" />
<el-option label="authorization_code" value="authorization_code" /> <el-option label="authorization_code" value="authorization_code" />
<el-option label="password" value="password" /> <el-option label="password" value="password" />
@@ -316,6 +306,15 @@
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label="Client Secret">
<el-input
v-model="formData.clientSecret"
type="password"
show-password
placeholder="请输入OAuth客户端密钥"
/>
</el-form-item>
<el-row :gutter="20" v-if="formData.configType === 'coze'"> <el-row :gutter="20" v-if="formData.configType === 'coze'">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="Bot ID"> <el-form-item label="Bot ID">
@@ -1581,6 +1580,17 @@ onMounted(() => {
margin-bottom: 20px; margin-bottom: 20px;
} }
.search-form {
display: flex;
flex-wrap: wrap;
gap: 10px;
.el-form-item {
margin-bottom: 10px;
margin-right: 15px;
}
}
.table-card { .table-card {
.card-header { .card-header {
display: flex; display: flex;