Prechádzať zdrojové kódy

feat(setting): 添加AI模式图像遮罩配置功能

- 在图像遮罩模式选项中新增AI模式(值为2)
- 修改条件渲染逻辑,将自定义模式扩展为非默认模式的所有情况
- 注释掉原有的透明度下拉选择器,启用数字输入组件
- 更新默认配置中的模式说明,添加AI模式描述
- 验证逻辑中增加对AI模式的支持,允许模式值为0、1或2
- 调整验证条件,使自定义模式和AI模式都需要验证透明度和亮度参数
panqiuyao 3 týždňov pred
rodič
commit
2f1988eeac
2 zmenil súbory, kde vykonal 16 pridanie a 12 odobranie
  1. 13 9
      frontend/src/views/Setting/index.vue
  2. 3 3
      package.json

+ 13 - 9
frontend/src/views/Setting/index.vue

@@ -91,22 +91,23 @@
                       <el-select v-model.number="formData.basic_configs.image_mask_config.mode" placeholder="请选择">
                         <el-option label="默认模式" :value="0"></el-option>
                         <el-option label="自定义模式" :value="1"></el-option>
+                        <el-option label="AI模式" :value="2"></el-option>
                       </el-select>
                     </div>
                 </div>
 
-                <template v-if="formData.basic_configs.image_mask_config.mode === 1">
+                <template v-if="formData.basic_configs.image_mask_config.mode !== 0">
                   <div class="form-item">
                       <label>透明度:</label>
                       <div class="select-wrapper">
 
 
-                        <el-select v-model.number="formData.basic_configs.image_mask_config.opacity" placeholder="请选择">
+<!--                        <el-select v-model.number="formData.basic_configs.image_mask_config.opacity" placeholder="请选择">
                           <el-option label="默认模式" :value="0"></el-option>
                           <el-option label="自定义模式" :value="1"></el-option>
                           <el-option label="AI模式" :value="2"></el-option>
-                        </el-select>
- <!--                       <el-input-number
+                        </el-select>-->
+                        <el-input-number
                           v-model="formData.basic_configs.image_mask_config.opacity"
                           :min="0.5"
                           :max="1"
@@ -114,7 +115,7 @@
                           :step="0.01"
                           controls-position="right"
                           placeholder="请输入0.5-1之间的值"
-                        />-->
+                        />
                       </div>
                   </div>
 
@@ -315,7 +316,7 @@ const formData = reactive({
     "is_flip_800image": 1, //800图是否翻转
     "color_800image": '#ffffff', //800图颜色配置
     "image_mask_config": { //阴影处理配置
-      "mode": 0, //阴影处理模式:0默认模式,1自定义模式
+      "mode": 0, //阴影处理模式:0默认模式,1自定义模式,2 AI模式
       "opacity": 0.5, //透明度,默认0.5,范围0.5-1
       "grenerate_main_pic_brightness": 254 //亮度范围,默认254,范围200-255
     }
@@ -694,14 +695,17 @@ const saveSetting = async (index) => {
     submitData.basic_configs.image_sharpening = sharpeningValue;
 
     // 验证阴影处理配置
+    // 阴影处理模式:0默认模式,1自定义模式,2 AI模式
     const maskConfig = formData.basic_configs.image_mask_config;
-    if (!maskConfig || typeof maskConfig.mode !== 'number' || (maskConfig.mode !== 0 && maskConfig.mode !== 1)) {
+    const maskMode = maskConfig != null ? Number(maskConfig.mode) : NaN;
+    if (!maskConfig || isNaN(maskMode) || ![0, 1, 2].includes(maskMode)) {
       ElMessage.error('请选择有效的阴影处理模式');
       return false;
     }
+    submitData.basic_configs.image_mask_config.mode = maskMode;
 
-    // 如果是自定义模式,验证透明度和亮度
-    if (maskConfig.mode === 1) {
+    // 自定义模式 / AI 模式需要验证透明度和亮度(与界面 mode !== 0 一致)
+    if (maskMode !== 0) {
       const opacity = parseFloat(maskConfig.opacity);
       const brightness = parseInt(maskConfig.grenerate_main_pic_brightness);
 

+ 3 - 3
package.json

@@ -1,8 +1,8 @@
 {
   "name": "ZhiHuiYin",
-  "version": "1.5.2",
-  "description": "智慧拍照机是一种结合人工智能技术与传统摄影设备的创新产品,版本号为1.5.2",
-  "releaseNotes": "1.5.2 更新版本",
+  "version": "1.5.3",
+  "description": "智慧拍照机是一种结合人工智能技术与传统摄影设备的创新产品,版本号为1.5.3",
+  "releaseNotes": "1.5.3 更新版本",
   "main": "main.js",
   "scripts": {
     "dev": "ee-bin dev",