Browse Source

feat(setting): 将图片锐化配置改为数值输入框

- 将图片锐化选择器改为输入框,支持1-5之间的数值输入
- 设置图片锐化默认值为1,表示不处理
- 添加图片锐化数值验证,确保在1-5范围内
- 移除原有的图片锐化选项列表
- 添加输入提示信息说明数值范围和含义
- 在表单初始化时确保图片锐化有默认值
- 验证图片锐化数值的有效性并提供错误提示
- 更新版本号从1.3.6到1.3.7
- 更新发布说明包含自定义详情页调整内容
panqiuyao 3 days ago
parent
commit
5bed98965d
2 changed files with 35 additions and 13 deletions
  1. 33 11
      frontend/src/views/Setting/index.vue
  2. 2 2
      package.json

+ 33 - 11
frontend/src/views/Setting/index.vue

@@ -67,10 +67,18 @@
                 <div class="form-item">
                     <label>图片锐化:</label>
                     <div class="select-wrapper">
-                    <el-select v-model="formData.basic_configs.image_sharpening" placeholder="请选择">
-                      <el-option v-for="item in imageSharpeningList" :key="item.value" :label="item.label" :value="item.value"></el-option>
-                    </el-select>
+                      <el-input-number
+                        v-model="formData.basic_configs.image_sharpening"
+                        :min="1"
+                        :max="5"
+                        style="width: 200px"
+                        :step="0.1"
+                        :precision="1"
+                        controls-position="right"
+                        placeholder="请输入1-5之间的值"
+                      />
                     </div>
+                  <div class="tips fs-12 c-999 mar-left-10">数值1-5,值为1则代表不处理</div>
                 </div>
                 <div class="form-item">
                     <label>800图自定义边距:</label>
@@ -242,10 +250,10 @@ const formData = reactive({
   basic_configs:{
     "main_image_size": [],//主图尺寸
     "image_out_format": "",//图片输出格式
-    "image_sharpening": "", //图片锐化
+    "image_sharpening": 1, //图片锐化(默认值改为1)
     "padding_800image": 100, //800图自定义边距
     "is_flip_800image": 1, //800图是否翻转
-    "color_800image": '#ffffff' //800图是否翻转
+    "color_800image": '#ffffff' //800图颜色配置
   },
   //拍照配置
   take_photo_configs:{
@@ -302,12 +310,7 @@ const imageFormatList = ref([
   { label: 'webp', value: 'webp' },
   { label: 'avif', value: 'avif' },
 ]);
-const imageSharpeningList = ref([
-  { label: '0', value: '0' },
-  { label: '1', value: '1' },
-  { label: '2', value: '2' },
-  { label: '3', value: '3' },
-]);
+// 图片锐化列表已移除,改为输入框
 const isFlip800ImageList = ref([
   { label: '是', value: 1 },
   { label: '否', value: 0 },
@@ -437,6 +440,17 @@ const getConfig =  async (typeValue)=>{
     if (formData.basic_configs.color_800image === undefined || formData.basic_configs.color_800image === null) {
       formData.basic_configs.color_800image = '#ffffff';
     }
+
+    // 确保图片锐化有默认值
+    if (formData.basic_configs.image_sharpening === undefined || formData.basic_configs.image_sharpening === null) {
+      formData.basic_configs.image_sharpening = 1;
+    }
+
+    // 处理图片锐化:如果值为0或小于1,自动改为1
+    const sharpeningValue = parseFloat(formData.basic_configs.image_sharpening);
+    if (isNaN(sharpeningValue) || sharpeningValue < 1) {
+      formData.basic_configs.image_sharpening = 1;
+    }
   }
 
 }
@@ -574,6 +588,14 @@ const saveSetting = async (index) => {
     // 确保是整数
     submitData.basic_configs.padding_800image = Math.floor(paddingValue);
 
+    // 验证图片锐化
+    const sharpeningValue = parseFloat(formData.basic_configs.image_sharpening);
+    if (isNaN(sharpeningValue) || sharpeningValue < 1 || sharpeningValue > 5) {
+      ElMessage.error('图片锐化必须在1-5之间');
+      return false;
+    }
+    submitData.basic_configs.image_sharpening = sharpeningValue;
+
     // 验证800图是否翻转
     const flipValue = formData.basic_configs.is_flip_800image;
     if (flipValue === undefined || flipValue === null || (flipValue !== 0 && flipValue !== 1)) {

+ 2 - 2
package.json

@@ -1,8 +1,8 @@
 {
   "name": "ZhiHuiYin",
-  "version": "1.3.6",
+  "version": "1.3.7",
   "description": "智慧拍照机是一种结合人工智能技术与传统摄影设备的创新产品,版本号为1.3.6",
-  "releaseNotes": "1.3.6 处理图像和生成页面调整",
+  "releaseNotes": "1.3.7 更新版本,不再删除output目录 自定义详情页调整",
   "main": "main.js",
   "scripts": {
     "dev": "ee-bin dev",