feat: 枚举优化
This commit is contained in:
@@ -221,12 +221,7 @@ const initPlayer = (url) => {
|
||||
}]
|
||||
})
|
||||
|
||||
player.on('ended', () => {
|
||||
if (audioUrl.value?.startsWith('blob:')) {
|
||||
URL.revokeObjectURL(audioUrl.value)
|
||||
}
|
||||
audioUrl.value = ''
|
||||
})
|
||||
// 播放结束后保留播放器,让用户可以再次播放
|
||||
|
||||
player.on('error', (e) => {
|
||||
console.error('APlayer 播放错误:', e)
|
||||
|
||||
@@ -23,6 +23,15 @@ public enum AiModelTypeEnum implements ArrayValuable<String> {
|
||||
// ========== 数字人模型 ==========
|
||||
DIGITAL_HUMAN_LATENTSYNC("latentsync", "LatentSync", AiPlatformEnum.DIGITAL_HUMAN),
|
||||
DIGITAL_HUMAN_KLING("kling", "可灵", AiPlatformEnum.DIGITAL_HUMAN),
|
||||
|
||||
// ========== TikHub 爬虫 ==========
|
||||
TIKHUB_CRAWLER("crawler", "爬虫", AiPlatformEnum.TIKHUB),
|
||||
|
||||
// ========== 阿里云语音服务 ==========
|
||||
ALICLOUD_VOICE_TO_TEXT("voice_to_text", "语音转文字", AiPlatformEnum.ALICLOUD),
|
||||
|
||||
// ========== SiliconFlow 语音服务 ==========
|
||||
SILICONFLOW_INDEXTTS("indextts", "IndexTTS", AiPlatformEnum.SILICONFLOW),
|
||||
;
|
||||
|
||||
/**
|
||||
|
||||
@@ -18,6 +18,9 @@ public enum AiPlatformEnum implements ArrayValuable<String> {
|
||||
|
||||
DIFY("dify", "Dify 平台"),
|
||||
DIGITAL_HUMAN("digital_human", "数字人平台"),
|
||||
TIKHUB("tikhub", "TikHub 平台"),
|
||||
ALICLOUD("alicloud", "阿里云平台"),
|
||||
SILICONFLOW("siliconflow", "SiliconFlow 平台"),
|
||||
;
|
||||
|
||||
/**
|
||||
|
||||
@@ -25,8 +25,7 @@ public class AiModelConfigSaveReqVO {
|
||||
@NotEmpty(message = "所属平台不能为空")
|
||||
private String platform;
|
||||
|
||||
@Schema(description = "API秘钥", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "API秘钥不能为空")
|
||||
@Schema(description = "API秘钥")
|
||||
private String apiKey;
|
||||
|
||||
@Schema(description = "状态(0-禁用 1-启用)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@@ -53,8 +52,7 @@ public class AiModelConfigSaveReqVO {
|
||||
@NotNull(message = "消耗积分不能为空")
|
||||
private Integer consumePoints;
|
||||
|
||||
@Schema(description = "最大文本数量", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "最大文本数量不能为空")
|
||||
@Schema(description = "最大文本数量")
|
||||
private Integer maxTextLength;
|
||||
|
||||
@Schema(description = "图片最大像素", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
ref="formRef"
|
||||
:model="formData"
|
||||
:rules="formRules"
|
||||
label-width="100px"
|
||||
label-width="140px"
|
||||
v-loading="formLoading"
|
||||
>
|
||||
<el-form-item label="模型名称" prop="modelName">
|
||||
@@ -19,9 +19,10 @@
|
||||
<el-form-item label="API秘钥" prop="apiKey">
|
||||
<el-input v-model="formData.apiKey" placeholder="请输入API秘钥" />
|
||||
</el-form-item>
|
||||
<el-form-item label="状态(0-禁用 1-启用)" prop="status">
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-radio-group v-model="formData.status">
|
||||
<el-radio value="1">请选择字典生成</el-radio>
|
||||
<el-radio value="1">启用</el-radio>
|
||||
<el-radio value="0">禁用</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="温度参数" prop="temperature">
|
||||
@@ -39,6 +40,7 @@
|
||||
<el-radio value="text">文本</el-radio>
|
||||
<el-radio value="video">视频</el-radio>
|
||||
<el-radio value="audio">音频</el-radio>
|
||||
<el-radio value="third">第三方</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="消耗积分" prop="consumePoints">
|
||||
@@ -101,17 +103,17 @@ const formRules = reactive({
|
||||
modelName: [{ required: true, message: '模型名称不能为空', trigger: 'blur' }],
|
||||
modelCode: [{ required: true, message: '模型标识/编码不能为空', trigger: 'blur' }],
|
||||
platform: [{ required: true, message: '所属平台不能为空', trigger: 'blur' }],
|
||||
apiKey: [{ required: true, message: 'API秘钥不能为空', trigger: 'blur' }],
|
||||
status: [{ required: true, message: '状态(0-禁用 1-启用)不能为空', trigger: 'blur' }],
|
||||
temperature: [{ required: true, message: '温度参数不能为空', trigger: 'blur' }],
|
||||
apiKey: [{ required: false, message: 'API秘钥不能为空', trigger: 'blur' }],
|
||||
status: [{ required: true, message: '状态不能为空', trigger: 'blur' }],
|
||||
temperature: [{ required: false, message: '温度参数不能为空', trigger: 'blur' }],
|
||||
maxTokens: [{ required: true, message: '回复数Token数不能为空', trigger: 'blur' }],
|
||||
dailyLimit: [{ required: true, message: '每日请求次数不能为空', trigger: 'blur' }],
|
||||
modelType: [{ required: true, message: '模型类型(image-图像 text-文本 video-视频 audio-音频)不能为空', trigger: 'change' }],
|
||||
consumePoints: [{ required: true, message: '消耗积分不能为空', trigger: 'blur' }],
|
||||
maxTextLength: [{ required: true, message: '最大文本数量不能为空', trigger: 'blur' }],
|
||||
maxImageSize: [{ required: true, message: '图片最大像素不能为空', trigger: 'blur' }],
|
||||
maxVideoDuration: [{ required: true, message: '视频最大时长(秒)不能为空', trigger: 'blur' }],
|
||||
maxVideoQuality: [{ required: true, message: '视频最大质量不能为空', trigger: 'blur' }],
|
||||
maxTextLength: [{ required: false, message: '最大文本数量不能为空', trigger: 'blur' }],
|
||||
maxImageSize: [{ required: false, message: '图片最大像素不能为空', trigger: 'blur' }],
|
||||
maxVideoDuration: [{ required: false, message: '视频最大时长(秒)不能为空', trigger: 'blur' }],
|
||||
maxVideoQuality: [{ required: false, message: '视频最大质量不能为空', trigger: 'blur' }],
|
||||
remark: [{ required: true, message: '备注不能为空', trigger: 'blur' }],
|
||||
})
|
||||
const formRef = ref() // 表单 Ref
|
||||
|
||||
@@ -111,7 +111,13 @@
|
||||
<el-table-column label="模型标识" align="center" prop="modelCode" />
|
||||
<el-table-column label="所属平台" align="center" prop="platform" />
|
||||
<el-table-column label="API秘钥" align="center" prop="apiKey" />
|
||||
<el-table-column label="状态" align="center" prop="status" />
|
||||
<el-table-column label="状态" align="center" prop="status" >
|
||||
<template #default="scope">
|
||||
<el-tag :type="scope.row.status === 1 ? 'success' : 'danger'">
|
||||
{{ scope.row.status === 1 ? '启用' : '禁用' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="温度参数" align="center" prop="temperature" />
|
||||
<el-table-column label="回复数Token数" align="center" prop="maxTokens" />
|
||||
<el-table-column label="每日请求次数" align="center" prop="dailyLimit" />
|
||||
|
||||
Reference in New Issue
Block a user