From 4f912f23e61912cb3195ca168f23bb521bf8b309 Mon Sep 17 00:00:00 2001
From: Mr.Shi <1878285526@qq.com>
Date: 星期四, 21 九月 2023 13:37:16 +0800
Subject: [PATCH] 企业端

---
 h5/pages/index/index.vue                                                               |   56 +++++++++++
 server/service/src/main/java/com/doumee/core/utils/ImageUtil.java                      |  172 ++++++++++++++++++++++++++++++++++
 server/zhubo/src/main/resources/application.yml                                        |    2 
 server/service/src/main/java/com/doumee/service/business/impl/BaseDataServiceImpl.java |    4 
 output.jpg                                                                             |    0 
 h5/utils/request.js                                                                    |    2 
 server/zhubo/src/main/java/com/doumee/api/business/WebParamController.java             |    1 
 h5/package-lock.json                                                                   |    7 +
 h5/apis/index.js                                                                       |    2 
 server/platform/src/main/resources/application.yml                                     |    2 
 10 files changed, 240 insertions(+), 8 deletions(-)

diff --git a/h5/apis/index.js b/h5/apis/index.js
index c98a957..a0a8c4c 100644
--- a/h5/apis/index.js
+++ b/h5/apis/index.js
@@ -31,7 +31,7 @@
 }
 
 // 鐧诲綍
-export function loginH5(data) {
+export function loginH5(data){
 	return post('system/loginH5', data)
 }
 
diff --git a/h5/package-lock.json b/h5/package-lock.json
index f54d67b..839857b 100644
--- a/h5/package-lock.json
+++ b/h5/package-lock.json
@@ -1,4 +1,5 @@
 {
+<<<<<<< HEAD
   "requires": true,
   "lockfileVersion": 1,
   "dependencies": {
@@ -22,4 +23,10 @@
       "integrity": "sha512-TlhdSp2oEOLFXvEp4psKaeTjR5zBjTRcM/sHUN8PkV1UWuY8HKC8n7GaVdW5Xqnwdr/F1OmzLik1QwDjI4w/nw=="
     }
   }
+=======
+  "name": "h5",
+  "lockfileVersion": 3,
+  "requires": true,
+  "packages": {}
+>>>>>>> 1ee5043af9ee5e53acb52a70fd93c4656e8bbb44
 }
diff --git a/h5/pages/index/index.vue b/h5/pages/index/index.vue
index 2df63d8..3a3651d 100644
--- a/h5/pages/index/index.vue
+++ b/h5/pages/index/index.vue
@@ -230,7 +230,12 @@
 									</view>
 								</view>
 								<view class="productPage_parameter_item_content_nr">
-									<view class="item" v-for="(child, i) in item.goodsParamList" :key="i">
+									<view class="item" v-if="item.param1"  v-for="(child, i) in item.param1" :key="child.index">
+										<view class="label">{{child.name}}锛�</view>
+										<view class="value">{{child.val}}</view>
+									</view>
+									<view v-if="item.param2" class="paramline"></view>
+									<view class="item" v-if="item.param2" v-for="(child, j) in item.param2" :key="child.index">
 										<view class="label">{{child.name}}锛�</view>
 										<view class="value">{{child.val}}</view>
 									</view>
@@ -858,6 +863,51 @@
 					this.leftShop = JSON.parse(JSON.stringify(val))
 				} else if (this.$refs.search.typeName === 'right') {
 					this.rightShop = JSON.parse(JSON.stringify(val))
+					let leftParamList = this.leftShop.goodsParamList;
+					let rightParamList = this.rightShop.goodsParamList;
+					let leftList1 = new Array();
+					let leftList2 =  new Array();
+					let rightList1 = new Array();
+					let rightList2 =  new Array();
+					if(leftParamList && leftParamList.length>0){
+						leftParamList.forEach(item => {
+							let flag =0;
+							let rightTemp = null;
+							if(rightParamList && rightParamList.length>0){
+								rightParamList.forEach(item1 => {
+									if (item.name === item1.name ) {
+										flag =1;
+										rightTemp = item1;
+										return;
+									}
+								})	
+							}
+							if(flag === 1){
+								leftList1.push(item);
+								rightList1.push(rightTemp);
+							}else{
+								leftList2.push(item);
+							}
+						})	
+					}
+					if(rightParamList && rightParamList.length>0){
+						rightParamList.forEach(item=> {
+							let flag1 = 0;
+							rightList1.forEach(item1 => {
+								if (item.name === item1.name ) {
+									flag1 =1; 
+									//return;
+								}
+							})	
+							if(flag1 === 0){
+								rightList2.push(item);
+							}
+						})	
+					}
+					Reflect.set(this.leftShop, "param1",leftList1);
+					Reflect.set(this.leftShop, "param2",leftList2);
+					Reflect.set(this.rightShop, "param1",rightList1);
+					Reflect.set(this.rightShop, "param2",rightList2);
 				} else {
 					this.shopList.push(JSON.parse(JSON.stringify(val)))
 				}
@@ -1805,6 +1855,10 @@
 								margin-top: 12px;
 								display: flex;
 								flex-direction: column;
+								.paramline{
+									border-bottom: #c7c9ce 2px dashed;
+									margin-bottom: 15px;
+								} 
 								.item {
 									display: flex;
 									align-items: flex-start;
diff --git a/h5/utils/request.js b/h5/utils/request.js
index 1f27e12..c0e9ba0 100644
--- a/h5/utils/request.js
+++ b/h5/utils/request.js
@@ -16,7 +16,7 @@
 		// http://127.0.0.1/interface/    http://192.168.0.15:10024/   preselect_web_interface
 		// https://dmtest.ahapp.net/preselect_web_interface/${url}   http://127.0.0.1:10022/  http://192.168.0.35:10024/
 		uni.request({
-			url: `http://192.168.0.15:10024/${url}`,
+			url: `http://192.168.0.35:10024/${url}`,
 			method,
 			data,
 			header: {
diff --git a/output.jpg b/output.jpg
new file mode 100644
index 0000000..29f702b
--- /dev/null
+++ b/output.jpg
Binary files differ
diff --git a/server/platform/src/main/resources/application.yml b/server/platform/src/main/resources/application.yml
index 91e823b..bf924e8 100644
--- a/server/platform/src/main/resources/application.yml
+++ b/server/platform/src/main/resources/application.yml
@@ -11,7 +11,7 @@
 #  application:
 #  name: doumeemes
   profiles:
-    active: pro
+    active: dev
 
   # JSON杩斿洖閰嶇疆
   jackson:
diff --git a/server/service/src/main/java/com/doumee/core/utils/ImageUtil.java b/server/service/src/main/java/com/doumee/core/utils/ImageUtil.java
new file mode 100644
index 0000000..be93da1
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/core/utils/ImageUtil.java
@@ -0,0 +1,172 @@
+package com.doumee.core.utils;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.imageio.ImageIO;
+import javax.imageio.ImageWriter;
+import javax.imageio.stream.ImageOutputStream;
+import javax.net.ssl.HttpsURLConnection;
+
+public class ImageUtil {
+    private static List<File> fileList = new ArrayList<>();
+
+    public static void main(String[] args) {
+        //convertAllImages("F:\\before.png", "F:\\after.png");
+        fileList.add(new File("C:\\Users\\T14\\Desktop\\1\\1.jpg"));
+        convertAllImages(fileList);
+    }
+
+    /**
+     * 鍘婚櫎鏂囦欢鍒楄〃閲屽浘鐗囩殑姘村嵃骞舵浛鎹�
+     *
+     * @Param fileList 鏂囦欢鍒楄〃
+     */
+    public static void convertAllImages(List<File> fileList) {
+        try {
+            for (File file : fileList) {
+                if (!file.getName().endsWith("png") && !file.getName().endsWith("jpg")) {
+                    continue;
+                }
+                BufferedImage bi = ImageIO.read(file); //鐢↖mageIO娴佽鍙栧儚绱犲潡
+                if (bi != null) {
+                    removeWatermark(bi);
+                    String formatName = file.getName().substring(file.getName().lastIndexOf(".") + 1);//鐢熸垚鐨勫浘鐗囨牸寮�
+                    ImageIO.write(bi, formatName, file);//鐢↖mageIO娴佺敓鎴愮殑澶勭悊鍥炬浛鎹㈠師鍥剧墖
+                }
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 浠庢簮鐩綍鑾峰彇鍥剧墖澶勭悊鍚庡鍑哄埌鐩爣鐩綍
+     *
+     * @param dir     婧愮洰褰�
+     * @param saveDir 鐩爣鐩綍
+     */
+    private static void convertAllImages(String dir, String saveDir) {
+        File dirFile = new File(dir);
+        File saveDirFile = new File(saveDir);
+        dir = dirFile.getAbsolutePath();
+        saveDir = saveDirFile.getAbsolutePath();
+        loadImages(new File(dir));
+        for (File file : fileList) {
+            String filePath = file.getAbsolutePath();
+            String dstPath = saveDir + filePath.substring(filePath.indexOf(dir) + dir.length());
+            replace(file.getAbsolutePath(), dstPath);
+        }
+    }
+
+    /**
+     * 鍔犺浇鍥剧墖
+     */
+    private static void loadImages(File f) {
+        if (f != null) {
+            if (f.isDirectory()) {
+                File[] fileArray = f.listFiles();
+                if (fileArray != null) {
+                    for (File file : fileArray) {
+                        loadImages(file); //閫掑綊璋冪敤
+                    }
+                }
+            } else {
+                String name = f.getName();
+                if (name.endsWith("png") || name.endsWith("jpg")) {
+                    fileList.add(f);
+                }
+            }
+        }
+    }
+
+    /**
+     * 鐢熸垚婧愬浘鐗囩殑澶勭悊鍥�
+     *
+     * @param srcFile 婧愬浘鐗囪矾寰�
+     * @param dstFile 鐩爣鍥剧墖璺緞
+     */
+    private static void replace(String srcFile, String dstFile) {
+        try {
+            URL http;
+            if (srcFile.trim().startsWith("https")) {
+                http = new URL(srcFile);
+                HttpsURLConnection conn = (HttpsURLConnection) http.openConnection();
+                conn.setRequestMethod("GET");
+            } else if (srcFile.trim().startsWith("http")) {
+                http = new URL(srcFile);
+                HttpURLConnection conn = (HttpURLConnection) http.openConnection();
+                conn.setRequestMethod("GET");
+            } else {
+                http = new File(srcFile).toURI().toURL();
+            }
+            BufferedImage bi = ImageIO.read(http.openStream());
+            if (bi != null) {
+                removeWatermark(bi);
+                exportImage(bi, srcFile, dstFile);
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 鐢盜mageIO娴佺敓鎴愭簮鍥剧墖鐨勫鐞嗗浘
+     *
+     * @param bi       ImageIO
+     * @param fileName 婧愬浘鐗囧甫鍚庣紑鐨勬枃浠跺悕
+     * @param dstFile  鐩爣鍥剧墖璺緞
+     */
+    private static void exportImage(BufferedImage bi, String fileName, String dstFile) {
+        try {
+            String type = fileName.substring(fileName.lastIndexOf(".") + 1);
+            Iterator<ImageWriter> it = ImageIO.getImageWritersByFormatName(type);
+            ImageWriter writer = it.next();
+            File f = new File(dstFile);
+            ImageOutputStream ios = ImageIO.createImageOutputStream(f);
+            writer.setOutput(ios);
+            writer.write(bi);
+            bi.flush();
+            ios.flush();
+            ios.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 鍘婚櫎姘村嵃
+     */
+    private static void removeWatermark(BufferedImage bi) {
+        Color wColor = new Color(197, 196, 191);
+        Color hColor = new Color(140, 88, 100);
+//        Color wColor = new Color(254, 254, 254);
+//        Color hColor = new Color(197, 196, 191);
+        //鐧藉簳姘村嵃
+        for (int i = 0; i < bi.getWidth(); i++) {
+            for (int j = 0; j < bi.getHeight(); j++) {
+                int color = bi.getRGB(i, j);
+                Color oriColor = new Color(color);
+                int red = oriColor.getRed();
+                int greed = oriColor.getGreen();
+                int blue = oriColor.getBlue();
+                if (red == 254 && greed == 254 && blue == 254) {
+                    continue;
+                }
+                if (red > 220 && greed > 180 && blue > 80) {
+                    bi.setRGB(i, j, wColor.getRGB());
+                }
+                if (red <= 240 && greed >= 200 && blue >= 150) {
+                    bi.setRGB(i, j, wColor.getRGB());
+                }
+            }
+        }
+    }
+}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/BaseDataServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/BaseDataServiceImpl.java
index 118f433..f6890ba 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/BaseDataServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/BaseDataServiceImpl.java
@@ -300,7 +300,7 @@
             for(BaseData data :result.getRecords()){
                 //澶氬浘锛岃嫳鏂囬�楀彿闅斿紑
                 if(StringUtils.isNotBlank(data.getBgImg())){
-                    String tImg =  data.getBgImg().replace("锛�", ",").replace(".avif", "").replace("/n1/jfs/", "/n0/jfs/");
+                    String tImg =  data.getBgImg().replace("锛�", ",").replace(".avif", "").replace("/n1/jfs/", "/imgzone/jfs/");
                     String[] imgs =tImg.split(",");
                     data.setBgImgs(imgs);
 
@@ -462,7 +462,7 @@
 
     private int addImg(int i,OssModel ossModel, Integer id,String bgImg,List<Multifile> fileList,List<FileRecord> fileRecords) {
         if(StringUtils.isNotBlank(bgImg)){
-            bgImg = bgImg.replace("/n1/jfs/", "/n0/jfs/");
+            bgImg = bgImg.replace("/n1/jfs/", "/imgzone/jfs/");
 //            String img =getOssImgurl(ossModel, ossModel.getGoodsFolder() ,bgImg);
             String img = getOssImgurlFile(ossModel.getGoodsFolder(), bgImg, null,Constants.TWO,fileRecords);
             if(StringUtils.isNotBlank(img)){
diff --git a/server/zhubo/src/main/java/com/doumee/api/business/WebParamController.java b/server/zhubo/src/main/java/com/doumee/api/business/WebParamController.java
index 47ef372..7e7bb5a 100644
--- a/server/zhubo/src/main/java/com/doumee/api/business/WebParamController.java
+++ b/server/zhubo/src/main/java/com/doumee/api/business/WebParamController.java
@@ -31,7 +31,6 @@
     @Autowired
     private WebParamService webParamService;
 
-
     @ApiOperation("鑾峰彇褰撳墠鐧诲綍浼佷笟閰嶇疆淇℃伅")
     @GetMapping("/getByLogin")
     public ApiResponse<WebParam> getByLogin() {
diff --git a/server/zhubo/src/main/resources/application.yml b/server/zhubo/src/main/resources/application.yml
index 4fb560e..cfb19a6 100644
--- a/server/zhubo/src/main/resources/application.yml
+++ b/server/zhubo/src/main/resources/application.yml
@@ -11,7 +11,7 @@
 #  application:
 #    name: doumeemes
   profiles:
-    active: pro
+    active: dev
 
   # JSON杩斿洖閰嶇疆
   jackson:

--
Gitblit v1.9.3