diff --git a/main/manager-api/src/main/java/xiaozhi/common/utils/SensitiveDataUtils.java b/main/manager-api/src/main/java/xiaozhi/common/utils/SensitiveDataUtils.java index 05f4853a..4d5715cc 100644 --- a/main/manager-api/src/main/java/xiaozhi/common/utils/SensitiveDataUtils.java +++ b/main/manager-api/src/main/java/xiaozhi/common/utils/SensitiveDataUtils.java @@ -1,14 +1,15 @@ package xiaozhi.common.utils; -import cn.hutool.json.JSONObject; -import org.apache.commons.lang3.StringUtils; - import java.util.Arrays; +import java.util.HashMap; import java.util.HashSet; import java.util.Map; -import java.util.HashMap; import java.util.Set; +import org.apache.commons.lang3.StringUtils; + +import cn.hutool.json.JSONObject; + /** * 敏感数据处理工具类 */ @@ -30,7 +31,7 @@ public class SensitiveDataUtils { * 隐藏字符串中间部分 */ public static String maskMiddle(String value) { - if (StringUtils.isBlank(value)) { + if (StringUtils.isBlank(value) || value.length() == 1) { return value; } diff --git a/main/manager-api/src/main/java/xiaozhi/modules/model/dto/ModelConfigBodyDTO.java b/main/manager-api/src/main/java/xiaozhi/modules/model/dto/ModelConfigBodyDTO.java index 07758def..eb1197b1 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/model/dto/ModelConfigBodyDTO.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/model/dto/ModelConfigBodyDTO.java @@ -13,9 +13,9 @@ public class ModelConfigBodyDTO { @Serial private static final long serialVersionUID = 1L; - // @Schema(description = "模型类型(Memory/ASR/VAD/LLM/TTS)") - // private String modelType; - // + @Schema(description = "模型ID,未填写将自动生成") + private String id; + @Schema(description = "模型编码(如AliLLM、DoubaoTTS)") private String modelCode; diff --git a/main/manager-api/src/main/java/xiaozhi/modules/model/entity/ModelConfigEntity.java b/main/manager-api/src/main/java/xiaozhi/modules/model/entity/ModelConfigEntity.java index 32ff911f..aba2c8f2 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/model/entity/ModelConfigEntity.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/model/entity/ModelConfigEntity.java @@ -3,9 +3,7 @@ package xiaozhi.modules.model.entity; import java.util.Date; import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; @@ -18,7 +16,6 @@ import lombok.Data; @Schema(description = "模型配置表") public class ModelConfigEntity { - @TableId(type = IdType.ASSIGN_UUID) @Schema(description = "主键") private String id; diff --git a/main/manager-api/src/main/java/xiaozhi/modules/model/service/impl/ModelConfigServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/model/service/impl/ModelConfigServiceImpl.java index d17948a6..fbfc7723 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/model/service/impl/ModelConfigServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/model/service/impl/ModelConfigServiceImpl.java @@ -11,6 +11,7 @@ import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -252,6 +253,12 @@ public class ModelConfigServiceImpl extends BaseServiceImpl +
+ + + +
- +
+ + + + +
@@ -107,6 +111,7 @@ export default { providerFields: [], currentProvider: null, formData: { + id: '', modelName: '', modelCode: '', supplier: '', @@ -202,6 +207,7 @@ export default { } const submitData = { + id: this.formData.id || '', modelName: this.formData.modelName || '', modelCode: this.formData.modelCode || '', supplier: this.formData.supplier, @@ -230,6 +236,7 @@ export default { resetForm() { this.saving = false; this.formData = { + id: '', modelName: '', modelCode: '', supplier: '', diff --git a/main/manager-web/src/components/HeaderBar.vue b/main/manager-web/src/components/HeaderBar.vue index bea94167..80094830 100644 --- a/main/manager-web/src/components/HeaderBar.vue +++ b/main/manager-web/src/components/HeaderBar.vue @@ -169,12 +169,12 @@ > - - {{ $t("header.otaManagement") }} - {{ $t("header.paramManagement") }} + + {{ $t("header.otaManagement") }} + {{ $t("header.dictManagement") }} diff --git a/main/manager-web/src/i18n/en.js b/main/manager-web/src/i18n/en.js index eba922d2..47a1004e 100644 --- a/main/manager-web/src/i18n/en.js +++ b/main/manager-web/src/i18n/en.js @@ -841,6 +841,8 @@ export default { 'modelConfigDialog.modelInfo': 'Model Information', 'modelConfigDialog.enable': 'Enable', 'modelConfigDialog.setDefault': 'Set as Default', + 'modelConfigDialog.modelId': 'Model ID', + 'modelConfigDialog.enterModelId': 'If not filled in, it will be generated automatically', 'modelConfigDialog.modelName': 'Model Name', 'modelConfigDialog.enterModelName': 'Please enter model name', 'modelConfigDialog.modelCode': 'Model Code', diff --git a/main/manager-web/src/i18n/zh_CN.js b/main/manager-web/src/i18n/zh_CN.js index 428a3127..a3bc0dc2 100644 --- a/main/manager-web/src/i18n/zh_CN.js +++ b/main/manager-web/src/i18n/zh_CN.js @@ -841,6 +841,8 @@ export default { 'modelConfigDialog.modelInfo': '模型信息', 'modelConfigDialog.enable': '是否启用', 'modelConfigDialog.setDefault': '设为默认', + 'modelConfigDialog.modelId': '模型ID', + 'modelConfigDialog.enterModelId': '未填写将自动生成模型ID', 'modelConfigDialog.modelName': '模型名称', 'modelConfigDialog.enterModelName': '请输入模型名称', 'modelConfigDialog.modelCode': '模型编码', diff --git a/main/manager-web/src/i18n/zh_TW.js b/main/manager-web/src/i18n/zh_TW.js index 3eda82cf..3652b11e 100644 --- a/main/manager-web/src/i18n/zh_TW.js +++ b/main/manager-web/src/i18n/zh_TW.js @@ -841,6 +841,8 @@ export default { 'modelConfigDialog.modelInfo': '模型信息', 'modelConfigDialog.enable': '是否啟用', 'modelConfigDialog.setDefault': '設為默認', + 'modelConfigDialog.modelId': '模型ID', + 'modelConfigDialog.enterModelId': '未填冩將自動生成模型ID', 'modelConfigDialog.modelName': '模型名稱', 'modelConfigDialog.enterModelName': '請輸入模型名稱', 'modelConfigDialog.modelCode': '模型編碼', diff --git a/main/manager-web/src/router/index.js b/main/manager-web/src/router/index.js index b904b946..af0a9bb9 100644 --- a/main/manager-web/src/router/index.js +++ b/main/manager-web/src/router/index.js @@ -162,13 +162,6 @@ const routes = [ return import('../views/TemplateQuickConfig.vue') } }, - { - path: '/provider-management', - name: 'ProviderManagement', - component: function () { - return import('../views/ProviderManagement.vue') - } - }, ] const router = new VueRouter({ base: process.env.VUE_APP_PUBLIC_PATH || '/', diff --git a/main/manager-web/src/views/ModelConfig.vue b/main/manager-web/src/views/ModelConfig.vue index a0f5036d..94501ef4 100644 --- a/main/manager-web/src/views/ModelConfig.vue +++ b/main/manager-web/src/views/ModelConfig.vue @@ -471,6 +471,7 @@ export default { const id = formData.id; if (this.editModelData.duplicateMode) { + formData.id = ""; Api.model.addModel({ modelType, provideCode, formData }, ({ data }) => { if (data.code === 0) { this.$message.success(this.$t("modelConfig.duplicateSuccess"));