From b181d08b9c8c4f3f4d8c475a60506ba4d93c8382 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期三, 09 四月 2025 11:38:23 +0800
Subject: [PATCH] 灌溉计划详情页,包含计划信息、轮灌组信息、取水口命令发布员结果信息
---
pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/config/KaptchaConfig.java | 126 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 126 insertions(+), 0 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/config/KaptchaConfig.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/config/KaptchaConfig.java
new file mode 100644
index 0000000..e4fa6c5
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/config/KaptchaConfig.java
@@ -0,0 +1,126 @@
+package com.dy.pipIrrApp.config;
+
+import com.google.code.kaptcha.impl.DefaultKaptcha;
+import com.google.code.kaptcha.util.Config;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.Properties;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-09-11 15:52
+ * @LastEditTime 2024-09-11 15:52
+ * @Description
+ */
+
+@Configuration
+public class KaptchaConfig {
+ /**
+ * 楠岃瘉鐮侀厤缃粯璁ら厤缃�
+ * @return
+ */
+ @Bean(name = "captchaProducer")
+ public DefaultKaptcha getKaptchaBean() {
+ DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
+ Properties properties = new Properties();
+ // 鏄惁鏈夎竟妗嗐�傞粯璁rue锛屽彲閫夛細yes锛宯o
+ properties.setProperty("kaptcha.border", "yes");
+ //璁剧疆鍥剧墖杈规棰滆壊
+ properties.setProperty("kaptcha.border.color", "green");
+ // 楠岃瘉鐮佹枃鏈瓧绗﹂鑹层�傞粯璁olor.BLACK
+ properties.setProperty("kaptcha.textproducer.font.color", "black");
+ // 鏂囧瓧闂撮殧
+ properties.put("kaptcha.textproducer.char.space", "10");
+ // 楠岃瘉鐮佸浘鐗囧搴︺�傞粯璁�200
+ properties.setProperty("kaptcha.image.width", "160");
+ // 楠岃瘉鐮佸浘鐗囬珮搴︺�傞粯璁�50
+ properties.setProperty("Kkaptcha.image.height", "60");
+ // 楠岃瘉鐮佹枃鏈瓧绗﹀ぇ灏忋�傞粯璁�40
+ properties.setProperty("kaptcha.textproducer.font.size", "38");
+ // KAPTCHA_SESSION_KEY
+ properties.setProperty("Kkaptcha.session.key", "kaptchaCode");
+ // 楠岃瘉鐮佹枃鏈瓧绗﹂暱搴︺�傞粯璁�5
+ properties.setProperty("kaptcha.textproducer.char.length", "4");
+ // 楠岃瘉鐮佹枃鏈瓧浣撴牱寮忋�傞粯璁わ細new Font("Arial", 1, fontSize), new Font("Courier", 1, fontSize)
+ properties.setProperty("kaptcha.textproducer.font.names", "Arial,Courier");
+ // 骞叉壈瀹炵幇绫�
+ properties.setProperty("kaptcha.noise.impl", "com.google.code.kaptcha.impl.NoNoise");
+ // 鍥剧墖鏍峰紡銆�
+ // 姘寸汗锛歝om.google.code.kaptcha.impl.WaterRipple
+ // 楸肩溂锛歝om.google.code.kaptcha.impl.FishEyeGimpy
+ // 闃村奖锛歝om.google.code.kaptcha.impl.ShadowGimpy
+ properties.setProperty("kaptcha.obscurificator.impl", "com.google.code.kaptcha.impl.WaterRipple");
+ Config config = new Config(properties);
+ defaultKaptcha.setConfig(config);
+ return defaultKaptcha;
+ }
+
+ /**
+ * 楠岃瘉鐮佹暟瀛﹂绫婚厤缃紙涓�浣嶆暟鍔犲噺涔橀櫎锛�
+ * @return 閰嶇疆淇℃伅
+ */
+ @Bean(name = "captchaProducerMathOne")
+ public DefaultKaptcha getKaptchaBeanMathOne() {
+ DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
+ Properties properties = commonConfig("com.dy.pipIrrApp.config.KaptchaMathOneTextCreator");
+ Config config = new Config(properties);
+ defaultKaptcha.setConfig(config);
+ return defaultKaptcha;
+ }
+
+ /**
+ * 楠岃瘉鐮佹暟瀛﹂绫婚厤缃紙涓や綅鏁扮殑鍔犲噺涔橀櫎锛�
+ * @return 閰嶇疆淇℃伅
+ */
+ @Bean(name = "captchaProducerMathTwo")
+ public DefaultKaptcha getKaptchaBeanMathTwo() {
+ DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
+ Properties properties = commonConfig("com.dy.pipIrrApp.config.KaptchaMathTwoTextCreator");
+ Config config = new Config(properties);
+ defaultKaptcha.setConfig(config);
+ return defaultKaptcha;
+ }
+
+ /**
+ * 绠楀紡杩愮畻閰嶇疆鐨勫叕鍏遍厤缃被
+ * @param textImpl 楠岃瘉鐮佹枃鏈敓鎴愬櫒
+ * @return 閰嶇疆绫�
+ */
+ protected static Properties commonConfig(String textImpl) {
+ Properties properties = new Properties();
+ // 鏄惁鏈夎竟妗嗐�傞粯璁や负true锛屽彲璁剧疆锛歽es锛宯o
+ properties.setProperty("kaptcha.border", "yes");
+ // 杈规棰滆壊銆傞粯璁わ細Color.BLACK
+ properties.setProperty("kaptcha.border.color", "105,179,90");
+ // 楠岃瘉鐮佹枃鏈瓧绗﹂鑹层�傞粯璁わ細Color.BLACK
+ properties.setProperty("kaptcha.textproducer.font.color", "blue");
+ // 楠岃瘉鐮佸浘鐗囧搴︺�傞粯璁わ細200
+ properties.setProperty("kaptcha.image.width", "160");
+ // 楠岃瘉鐮佸浘鐗囬珮搴︺�傞粯璁わ細50
+ properties.setProperty("kaptcha.image.height", "60");
+ // 楠岃瘉鐮佹枃鏈瓧绗﹀ぇ灏忋�傞粯璁わ細40
+ properties.setProperty("kaptcha.textproducer.font.size", "35");
+ // KAPTCHA_SESSION_KEY
+ properties.setProperty("kaptcha.session.key", "kaptchaCodeMath");
+ // 楠岃瘉鐮佹枃鏈敓鎴愬櫒
+ properties.setProperty("kaptcha.textproducer.impl", textImpl);
+ // 楠岃瘉鐮佹枃鏈瓧绗﹂棿璺濄�傞粯璁わ細2
+ properties.setProperty("kaptcha.textproducer.char.space", "6");
+ // 楠岃瘉鐮佹枃鏈瓧绗﹂暱搴︺�傞粯璁わ細5
+ properties.setProperty("kaptcha.textproducer.char.length", "6");
+ // 楠岃瘉鐮佹枃鏈瓧浣撴牱寮忋�傞粯璁わ細new Font("Arial", 1, fontSize), new Font("Courier", 1, fontSize)
+ properties.setProperty("kaptcha.textproducer.font.names", "Arial,Courier");
+ // 楠岃瘉鐮佸櫔鐐归鑹层�傞粯璁わ細Color.BLACK
+ properties.setProperty("kaptcha.noise.color", "white");
+ // 骞叉壈瀹炵幇绫�
+ properties.setProperty("kaptcha.noise.impl", "com.google.code.kaptcha.impl.NoNoise");
+ // 鍥剧墖鏍峰紡銆�
+ // 姘寸汗锛歝om.google.code.kaptcha.impl.WaterRipple
+ // 楸肩溂锛歝om.google.code.kaptcha.impl.FishEyeGimpy
+ // 闃村奖锛歝om.google.code.kaptcha.impl.ShadowGimpy
+ properties.setProperty("kaptcha.obscurificator.impl", "com.google.code.kaptcha.impl.WaterRipple");
+ // 杩斿洖鐢熸垚鐨勯厤缃被
+ return properties;
+ }
+}
--
Gitblit v1.8.0