From 6a1d45e78da7eb5bbc040cc85d3d8e793bf2e3e4 Mon Sep 17 00:00:00 2001 From: hehongxing Date: Fri, 3 Dec 2021 10:53:31 +0800 Subject: [PATCH 1/7] commit --- .../src/components/DecisionSupport.vue | 4 ++ .../Frontend/src/components/Shared/Header.vue | 50 +++++++++---------- .../src/components/SynergyEvaluation.vue | 9 ++++ .../src/components/SystemManagement.vue | 2 +- 04.系统编码/Frontend/src/index.less | 5 +- 04.系统编码/Frontend/src/uilts/Config.ts | 10 ++-- 6 files changed, 48 insertions(+), 32 deletions(-) diff --git a/04.系统编码/Frontend/src/components/DecisionSupport.vue b/04.系统编码/Frontend/src/components/DecisionSupport.vue index 5f5d283..5f57a23 100644 --- a/04.系统编码/Frontend/src/components/DecisionSupport.vue +++ b/04.系统编码/Frontend/src/components/DecisionSupport.vue @@ -176,6 +176,10 @@ .el-image { height: calc(~"100% - 0.4rem"); margin-top: 0.1rem; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; } } } diff --git a/04.系统编码/Frontend/src/components/Shared/Header.vue b/04.系统编码/Frontend/src/components/Shared/Header.vue index 0003d26..8b9e3d5 100644 --- a/04.系统编码/Frontend/src/components/Shared/Header.vue +++ b/04.系统编码/Frontend/src/components/Shared/Header.vue @@ -5,37 +5,30 @@ 南京生态环境评估决策平台 @@ -72,14 +65,19 @@ text-align: center; cursor: pointer; + a { + height: 100%; + color: #ffffff; + } + &:nth-of-type(3) { width: 2.3rem; - &.active { + .active { background: url("/images/nav-bg-big.png") no-repeat center/cover; } } - &.active { - color: #ffffff; + .active { + color: #23FBFF; background: url("/images/nav-bg.png") no-repeat center/cover; } } diff --git a/04.系统编码/Frontend/src/components/SynergyEvaluation.vue b/04.系统编码/Frontend/src/components/SynergyEvaluation.vue index 4baf6a0..cc637f3 100644 --- a/04.系统编码/Frontend/src/components/SynergyEvaluation.vue +++ b/04.系统编码/Frontend/src/components/SynergyEvaluation.vue @@ -324,6 +324,14 @@ .el-image { height: calc(~"100% - 0.4rem"); margin-top: 0.1rem; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + background-color: #ffffff; + .image-slot { + margin-top: 0; + } } } } @@ -342,6 +350,7 @@ display: flex; align-items: center; flex-direction: column; + justify-content: center; } &:nth-of-type(6n) { diff --git a/04.系统编码/Frontend/src/components/SystemManagement.vue b/04.系统编码/Frontend/src/components/SystemManagement.vue index d2affee..0da68e0 100644 --- a/04.系统编码/Frontend/src/components/SystemManagement.vue +++ b/04.系统编码/Frontend/src/components/SystemManagement.vue @@ -98,7 +98,7 @@ export default { isDisabled:false, title:'', formLabelWidth:"100px", - total:"", + total: "", current:1, size:10, form:{ diff --git a/04.系统编码/Frontend/src/index.less b/04.系统编码/Frontend/src/index.less index 465d9ec..616d408 100644 --- a/04.系统编码/Frontend/src/index.less +++ b/04.系统编码/Frontend/src/index.less @@ -401,6 +401,10 @@ img { .el-image { height: 90%; margin: 0 auto; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; .el-image__inner { width: auto; @@ -418,7 +422,6 @@ img { .image-slot { width: 1.5rem; height: 1.5rem; - margin: 1rem auto 0 auto; text-align: center; display: flex; align-items: center; diff --git a/04.系统编码/Frontend/src/uilts/Config.ts b/04.系统编码/Frontend/src/uilts/Config.ts index 1ae6b7a..6422b3c 100644 --- a/04.系统编码/Frontend/src/uilts/Config.ts +++ b/04.系统编码/Frontend/src/uilts/Config.ts @@ -1,8 +1,8 @@ import { Moment } from "moment"; -import { format } from "../uilts/String"; +import { format } from "./String"; export class Config { - public static parentUrl: string = "http://112.124.40.88:8890/product/picture"; + public static parentUrl: string = "http://112.124.40.88:8002/product/picture"; } export class MicrowaveRadiationConfig { @@ -21,13 +21,15 @@ export class RamanLidarConfig { } export class SynergyEvaluationConfig { + private static url: string = Config.parentUrl + "/images"; public static getUrl(tabName: string, elementName: string, type: string): string { - return format('/images/ecological-environment/{0}/{1}/{2}.tif', tabName, elementName, type) + return format('{3}/ecological-environment/{0}/{1}/{2}.tif', tabName, elementName, type, this.url); } } export class DecisionSupportConfig { + private static url: string = Config.parentUrl + "/images"; public static getUrl(productName: string, imgName: string): string { - return format('/images/decision-support/{0}/{1}.tif', productName, imgName) + return format('{2}/decision-support/{0}/{1}.tif', productName, imgName, this.url); } } \ No newline at end of file From 714df4804ebb5e09aa0a284bb1c478ba76822315 Mon Sep 17 00:00:00 2001 From: xiaowuler Date: Fri, 3 Dec 2021 11:00:29 +0800 Subject: [PATCH 2/7] modify some codes --- .../backend/config/WebMvcConfig.java | 18 ++++++++++++++++++ .../Backend/src/main/resources/application.yml | 2 +- 04.系统编码/Frontend/src/hooks/Config.ts | 8 +++++--- 04.系统编码/Frontend/src/uilts/axios.ts | 2 +- 4 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 04.系统编码/Backend/src/main/java/com/userinformation/backend/config/WebMvcConfig.java diff --git a/04.系统编码/Backend/src/main/java/com/userinformation/backend/config/WebMvcConfig.java b/04.系统编码/Backend/src/main/java/com/userinformation/backend/config/WebMvcConfig.java new file mode 100644 index 0000000..6ee580b --- /dev/null +++ b/04.系统编码/Backend/src/main/java/com/userinformation/backend/config/WebMvcConfig.java @@ -0,0 +1,18 @@ +package com.userinformation.backend.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; + +/** + * @describe: 虚拟目录配置 + * @author: xiaowuler + * @createTime: 2021-12-03 09:33 + */ +@Configuration +public class WebMvcConfig extends WebMvcConfigurerAdapter { + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + registry.addResourceHandler("/product/**").addResourceLocations("file:D:\\Deployments\\LamanRadar\\product\\"); + } +} diff --git a/04.系统编码/Backend/src/main/resources/application.yml b/04.系统编码/Backend/src/main/resources/application.yml index 0680ca7..246ed6f 100644 --- a/04.系统编码/Backend/src/main/resources/application.yml +++ b/04.系统编码/Backend/src/main/resources/application.yml @@ -1,5 +1,5 @@ server: - port: 8001 + port: 8002 spring: datasource: url: jdbc:mysql://112.124.40.88:33306/user_information?useUnicode=true&characteEncoding=utf-8 diff --git a/04.系统编码/Frontend/src/hooks/Config.ts b/04.系统编码/Frontend/src/hooks/Config.ts index 99de69f..6422b3c 100644 --- a/04.系统编码/Frontend/src/hooks/Config.ts +++ b/04.系统编码/Frontend/src/hooks/Config.ts @@ -2,7 +2,7 @@ import { Moment } from "moment"; import { format } from "./String"; export class Config { - public static parentUrl: string = "http://112.124.40.88:8890/product/picture"; + public static parentUrl: string = "http://112.124.40.88:8002/product/picture"; } export class MicrowaveRadiationConfig { @@ -21,13 +21,15 @@ export class RamanLidarConfig { } export class SynergyEvaluationConfig { + private static url: string = Config.parentUrl + "/images"; public static getUrl(tabName: string, elementName: string, type: string): string { - return format('/images/ecological-environment/{0}/{1}/{2}.tif', tabName, elementName, type) + return format('{3}/ecological-environment/{0}/{1}/{2}.tif', tabName, elementName, type, this.url); } } export class DecisionSupportConfig { + private static url: string = Config.parentUrl + "/images"; public static getUrl(productName: string, imgName: string): string { - return format('/images/decision-support/{0}/{1}.tif', productName, imgName) + return format('{2}/decision-support/{0}/{1}.tif', productName, imgName, this.url); } } \ No newline at end of file diff --git a/04.系统编码/Frontend/src/uilts/axios.ts b/04.系统编码/Frontend/src/uilts/axios.ts index a3de2a4..6d600b5 100644 --- a/04.系统编码/Frontend/src/uilts/axios.ts +++ b/04.系统编码/Frontend/src/uilts/axios.ts @@ -5,7 +5,7 @@ import { ElLoading } from 'element-plus' let loading = null; const service = axios.create({ - baseURL:"http://localhost:8001", + baseURL:"http://localhost:8002", timeout: 500000 }) From 4faccf7446b028f9738c8dfc28475bd9253937b5 Mon Sep 17 00:00:00 2001 From: hehongxing Date: Fri, 3 Dec 2021 11:31:14 +0800 Subject: [PATCH 3/7] commit --- .../Frontend/src/components/DecisionSupport.vue | 12 ++++++------ .../Frontend/src/components/MicrowaveRadiation.vue | 2 +- .../Frontend/src/components/RamanLidar.vue | 2 +- .../Frontend/src/components/SynergyEvaluation.vue | 2 +- 04.系统编码/Frontend/src/uilts/Config.ts | 1 + 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/04.系统编码/Frontend/src/components/DecisionSupport.vue b/04.系统编码/Frontend/src/components/DecisionSupport.vue index 5f57a23..4c821d4 100644 --- a/04.系统编码/Frontend/src/components/DecisionSupport.vue +++ b/04.系统编码/Frontend/src/components/DecisionSupport.vue @@ -73,32 +73,32 @@ items: [{ title: '比湿', imgName: 'TFLD_Q2', - imgUrl: '', + imgUrl: '/images/null-picture.png', preview: [] }, { title: '风速和风向', imgName: 'TFLD_V10', - imgUrl: '', + imgUrl: '/images/null-picture.png', preview: [] }, { title: '降水', imgName: 'TFLD_RAIN', - imgUrl: '', + imgUrl: '/images/null-picture.png', preview: [] }, { title: '平均气温', imgName: 'TFLD_T2', - imgUrl: '', + imgUrl: '/images/null-picture.png', preview: [] }, { title: '最低温度', imgName: 'TFLD_TN', - imgUrl: '', + imgUrl: '/images/null-picture.png', preview: [] }, { title: '最高温度', imgName: 'TFLD_TX', - imgUrl: '', + imgUrl: '/images/null-picture.png', preview: [] }], indicatorImg: '/images/decision-support/pollution-indicator/pollution-indicator.png', diff --git a/04.系统编码/Frontend/src/components/MicrowaveRadiation.vue b/04.系统编码/Frontend/src/components/MicrowaveRadiation.vue index 887d0c3..dfc361a 100644 --- a/04.系统编码/Frontend/src/components/MicrowaveRadiation.vue +++ b/04.系统编码/Frontend/src/components/MicrowaveRadiation.vue @@ -118,7 +118,7 @@ hours: [], times: [], currentTime: null, - imgUrl: null, + imgUrl: '/images/null-picture.png', srcList: [], isPlay: false, title: null, diff --git a/04.系统编码/Frontend/src/components/RamanLidar.vue b/04.系统编码/Frontend/src/components/RamanLidar.vue index 2df742e..3ebdd1b 100644 --- a/04.系统编码/Frontend/src/components/RamanLidar.vue +++ b/04.系统编码/Frontend/src/components/RamanLidar.vue @@ -97,7 +97,7 @@ hours: [], times: [], currentTime: null, - imgUrl: null, + imgUrl: '/images/null-picture.png', srcList: [], isPlay: false, title: null, diff --git a/04.系统编码/Frontend/src/components/SynergyEvaluation.vue b/04.系统编码/Frontend/src/components/SynergyEvaluation.vue index cc637f3..036843f 100644 --- a/04.系统编码/Frontend/src/components/SynergyEvaluation.vue +++ b/04.系统编码/Frontend/src/components/SynergyEvaluation.vue @@ -143,7 +143,7 @@ currentYear: '2000', currentSurfaceTemperatureTime: 'time0130', srcList: [], - imgUrl: null, + imgUrl: '/images/null-picture.png', imgUrls: [], items: [{ title: '地表温度(01:30)', diff --git a/04.系统编码/Frontend/src/uilts/Config.ts b/04.系统编码/Frontend/src/uilts/Config.ts index 6422b3c..7f33d8a 100644 --- a/04.系统编码/Frontend/src/uilts/Config.ts +++ b/04.系统编码/Frontend/src/uilts/Config.ts @@ -8,6 +8,7 @@ export class Config { export class MicrowaveRadiationConfig { private static url: string = Config.parentUrl + "/weibo"; public static getUrl(station: string, type: string, time: Moment): string { + console.log(this.url+ '/' + station + '/' + type + '/' + time.format("YYYY/YYYYMM/YYYYMMDD/YYYYMMDDHHmmss.png")) return this.url+ '/' + station + '/' + type + '/' + time.format("YYYY/YYYYMM/YYYYMMDD/YYYYMMDDHHmmss.png"); } } From 830e9c15a3a4bfc2c0fb6862edc902dd94f19850 Mon Sep 17 00:00:00 2001 From: xiaowuler Date: Fri, 3 Dec 2021 11:32:27 +0800 Subject: [PATCH 4/7] modify some codes --- .../java/com/userinformation/backend/config/WebMvcConfig.java | 1 + 04.系统编码/Frontend/src/components/DecisionSupport.vue | 4 ++-- 04.系统编码/Frontend/src/uilts/axios.ts | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/04.系统编码/Backend/src/main/java/com/userinformation/backend/config/WebMvcConfig.java b/04.系统编码/Backend/src/main/java/com/userinformation/backend/config/WebMvcConfig.java index 6ee580b..edc3787 100644 --- a/04.系统编码/Backend/src/main/java/com/userinformation/backend/config/WebMvcConfig.java +++ b/04.系统编码/Backend/src/main/java/com/userinformation/backend/config/WebMvcConfig.java @@ -2,6 +2,7 @@ package com.userinformation.backend.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; /** diff --git a/04.系统编码/Frontend/src/components/DecisionSupport.vue b/04.系统编码/Frontend/src/components/DecisionSupport.vue index 5f57a23..15cc658 100644 --- a/04.系统编码/Frontend/src/components/DecisionSupport.vue +++ b/04.系统编码/Frontend/src/components/DecisionSupport.vue @@ -101,8 +101,8 @@ imgUrl: '', preview: [] }], - indicatorImg: '/images/decision-support/pollution-indicator/pollution-indicator.png', - indicatorPreview: ['/images/decision-support/pollution-indicator/pollution-indicator.png'] + indicatorImg: '/product/picture/images/decision-support/pollution-indicator/pollution-indicator.png', + indicatorPreview: ['/product/picture/images/decision-support/pollution-indicator/pollution-indicator.png'] }) onMounted(() => { diff --git a/04.系统编码/Frontend/src/uilts/axios.ts b/04.系统编码/Frontend/src/uilts/axios.ts index 6d600b5..7db59eb 100644 --- a/04.系统编码/Frontend/src/uilts/axios.ts +++ b/04.系统编码/Frontend/src/uilts/axios.ts @@ -5,7 +5,8 @@ import { ElLoading } from 'element-plus' let loading = null; const service = axios.create({ - baseURL:"http://localhost:8002", + // baseURL:"http://localhost:8002", + baseURL:"", timeout: 500000 }) From 2ec1aba1b347cb054de9588181222f6861ef4cb7 Mon Sep 17 00:00:00 2001 From: hehongxing Date: Fri, 3 Dec 2021 13:47:06 +0800 Subject: [PATCH 5/7] commit --- .../src/components/DecisionSupport.vue | 22 +++++++++---------- .../src/components/SynergyEvaluation.vue | 22 +++++++++---------- 04.系统编码/Frontend/src/uilts/Config.ts | 1 - 04.系统编码/Frontend/src/uilts/axios.ts | 2 +- 4 files changed, 21 insertions(+), 26 deletions(-) diff --git a/04.系统编码/Frontend/src/components/DecisionSupport.vue b/04.系统编码/Frontend/src/components/DecisionSupport.vue index 4c821d4..ba480ae 100644 --- a/04.系统编码/Frontend/src/components/DecisionSupport.vue +++ b/04.系统编码/Frontend/src/components/DecisionSupport.vue @@ -63,6 +63,7 @@ import { onMounted, reactive, toRefs } from 'vue'; import * as Tiff from 'browser-tiff.js'; import { DecisionSupportConfig } from '../uilts/Config'; +import { post } from '../uilts/axios'; export default { name: 'DecisionSupport', @@ -128,18 +129,15 @@ } const initImage = (type, imgName, index) => { - var xhr = new XMLHttpRequest(); - xhr.responseType = 'arraybuffer'; - xhr.open('GET', DecisionSupportConfig.getUrl(type, imgName)); - xhr.onload = function (e) { - let tiff = new Tiff({buffer: xhr.response}); - let canvas = tiff.toCanvas(); - let image = new Image(); - image.src = canvas.toDataURL("image/png"); - options.items[index].imgUrl = image.src; - options.items[index].preview = [image.src]; - }; - xhr.send(); + post("/image/convert", {url: DecisionSupportConfig.getUrl(type, imgName)}).then((response: any) => { + if (response.error != 0){ + console.log("发生错误") + return; + } + + options.items[index].imgUrl = response.data; + options.items[index].preview = [response.data]; + }) } return { diff --git a/04.系统编码/Frontend/src/components/SynergyEvaluation.vue b/04.系统编码/Frontend/src/components/SynergyEvaluation.vue index 036843f..f4252b2 100644 --- a/04.系统编码/Frontend/src/components/SynergyEvaluation.vue +++ b/04.系统编码/Frontend/src/components/SynergyEvaluation.vue @@ -131,6 +131,7 @@ import { format } from '../uilts/String'; import * as Tiff from 'browser-tiff.js'; import { SynergyEvaluationConfig } from '../uilts/Config'; +import { post } from '../uilts/axios'; export default { name: 'SynergyEvaluation', @@ -238,18 +239,15 @@ } const initImage = (tabName, elementName, type, index, values) => { - var xhr = new XMLHttpRequest(); - xhr.responseType = 'arraybuffer'; - xhr.open('GET', SynergyEvaluationConfig.getUrl(tabName, elementName, type)); - xhr.onload = function (e) { - let tiff = new Tiff({buffer: xhr.response}); - let canvas = tiff.toCanvas(); - let image = new Image(); - image.src = canvas.toDataURL("image/png"); - values[index].imgUrl = image.src; - values[index].preview = [image.src]; - }; - xhr.send(); + post("/image/convert", {url: SynergyEvaluationConfig.getUrl(tabName, elementName, type)}).then((response: any) => { + if (response.error != 0){ + console.log("发生错误") + return; + } + + values[index].imgUrl = response.data; + values[index].preview = [response.data]; + }) } const onTabClick = (name) => { diff --git a/04.系统编码/Frontend/src/uilts/Config.ts b/04.系统编码/Frontend/src/uilts/Config.ts index 7f33d8a..6422b3c 100644 --- a/04.系统编码/Frontend/src/uilts/Config.ts +++ b/04.系统编码/Frontend/src/uilts/Config.ts @@ -8,7 +8,6 @@ export class Config { export class MicrowaveRadiationConfig { private static url: string = Config.parentUrl + "/weibo"; public static getUrl(station: string, type: string, time: Moment): string { - console.log(this.url+ '/' + station + '/' + type + '/' + time.format("YYYY/YYYYMM/YYYYMMDD/YYYYMMDDHHmmss.png")) return this.url+ '/' + station + '/' + type + '/' + time.format("YYYY/YYYYMM/YYYYMMDD/YYYYMMDDHHmmss.png"); } } diff --git a/04.系统编码/Frontend/src/uilts/axios.ts b/04.系统编码/Frontend/src/uilts/axios.ts index a3de2a4..06a683a 100644 --- a/04.系统编码/Frontend/src/uilts/axios.ts +++ b/04.系统编码/Frontend/src/uilts/axios.ts @@ -5,7 +5,7 @@ import { ElLoading } from 'element-plus' let loading = null; const service = axios.create({ - baseURL:"http://localhost:8001", + baseURL:"http://112.124.40.88:8002", timeout: 500000 }) From 5a2322d3b8abadf1f98ee59ed3fb366132492b6b Mon Sep 17 00:00:00 2001 From: xiaowuler Date: Fri, 3 Dec 2021 13:48:47 +0800 Subject: [PATCH 6/7] modify some codes --- 04.系统编码/Backend/pom.xml | 1 + .../backend/config/WebMvcConfig.java | 7 ++- .../backend/controller/ImageController.java | 29 +++++++++++++ .../backend/service/ImageService.java | 43 +++++++++++++++++++ .../src/main/resources/application.yml | 4 ++ .../UserInformationApplicationTests.java | 12 +++++- .../src/components/DecisionSupport.vue | 25 ++++++++--- 04.系统编码/Frontend/src/uilts/axios.ts | 4 +- 8 files changed, 114 insertions(+), 11 deletions(-) create mode 100644 04.系统编码/Backend/src/main/java/com/userinformation/backend/controller/ImageController.java create mode 100644 04.系统编码/Backend/src/main/java/com/userinformation/backend/service/ImageService.java diff --git a/04.系统编码/Backend/pom.xml b/04.系统编码/Backend/pom.xml index 22bce2b..992203d 100644 --- a/04.系统编码/Backend/pom.xml +++ b/04.系统编码/Backend/pom.xml @@ -51,6 +51,7 @@ 1.0.29 + diff --git a/04.系统编码/Backend/src/main/java/com/userinformation/backend/config/WebMvcConfig.java b/04.系统编码/Backend/src/main/java/com/userinformation/backend/config/WebMvcConfig.java index edc3787..2debb5a 100644 --- a/04.系统编码/Backend/src/main/java/com/userinformation/backend/config/WebMvcConfig.java +++ b/04.系统编码/Backend/src/main/java/com/userinformation/backend/config/WebMvcConfig.java @@ -1,5 +1,6 @@ package com.userinformation.backend.config; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; @@ -12,8 +13,12 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter */ @Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter { + + @Value("${custom.image.path}") + private String path; + @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { - registry.addResourceHandler("/product/**").addResourceLocations("file:D:\\Deployments\\LamanRadar\\product\\"); + registry.addResourceHandler("/product/**").addResourceLocations("file:" + path + "/"); } } diff --git a/04.系统编码/Backend/src/main/java/com/userinformation/backend/controller/ImageController.java b/04.系统编码/Backend/src/main/java/com/userinformation/backend/controller/ImageController.java new file mode 100644 index 0000000..18bd322 --- /dev/null +++ b/04.系统编码/Backend/src/main/java/com/userinformation/backend/controller/ImageController.java @@ -0,0 +1,29 @@ +package com.userinformation.backend.controller; + +import java.io.IOException; + +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.userinformation.backend.service.ImageService; +import com.userinformation.backend.util.RequestResult; + +/** + * @describe: 图片处理控制层 + * @author: xiaowuler + * @createTime: 2021-12-03 13:10 + */ +@RestController +@RequestMapping("image") +public class ImageController { + + private final ImageService imageService; + public ImageController(ImageService imageService){ + this.imageService = imageService; + } + + @PostMapping("convert") + public RequestResult convert(String url) throws IOException { + return RequestResult.success(imageService.convert(url)); + } +} diff --git a/04.系统编码/Backend/src/main/java/com/userinformation/backend/service/ImageService.java b/04.系统编码/Backend/src/main/java/com/userinformation/backend/service/ImageService.java new file mode 100644 index 0000000..3b979fa --- /dev/null +++ b/04.系统编码/Backend/src/main/java/com/userinformation/backend/service/ImageService.java @@ -0,0 +1,43 @@ +package com.userinformation.backend.service; + +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import java.util.Locale; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.util.Assert; + +/** + * @describe: 图片处理 逻辑层 + * @author: xiaowuler + * @createTime: 2021-12-03 13:12 + */ +@Service +public class ImageService { + + @Value("${custom.image.path}") + private String imagePath; + + @Value("${custom.image.url}") + private String imageUrl; + + private final static String TIF_FILE_SUFFIX = ".tif"; + private final static String PNG_FILE_SUFFIX = ".png"; + + public String convert(String url) throws IOException { + String filepath = url.replace(imageUrl, imagePath); + File sourceFile = new File(filepath); + Assert.isTrue(sourceFile.exists(), "文件不存在"); + Assert.isTrue(filepath.toLowerCase(Locale.ROOT).endsWith(TIF_FILE_SUFFIX), "文件格式不正确"); + String targetFilePath = filepath.replace(TIF_FILE_SUFFIX, PNG_FILE_SUFFIX); + File targetFile = new File(targetFilePath); + if (!targetFile.exists()){ + BufferedImage image = ImageIO.read(sourceFile); + ImageIO.write(image, "png", targetFile); + } + return targetFilePath.replace(imagePath, imageUrl); + } +} diff --git a/04.系统编码/Backend/src/main/resources/application.yml b/04.系统编码/Backend/src/main/resources/application.yml index 246ed6f..69c8ccb 100644 --- a/04.系统编码/Backend/src/main/resources/application.yml +++ b/04.系统编码/Backend/src/main/resources/application.yml @@ -6,3 +6,7 @@ spring: username: root password: 3cqscbr@only1 driver-class-name: com.mysql.cj.jdbc.Driver +custom: + image: + url: http://112.124.40.88:8002/product + path: D:/Deployments/LamanRadar/product diff --git a/04.系统编码/Backend/src/test/java/com/userinformation/backend/UserInformationApplicationTests.java b/04.系统编码/Backend/src/test/java/com/userinformation/backend/UserInformationApplicationTests.java index e184ec9..6d25383 100644 --- a/04.系统编码/Backend/src/test/java/com/userinformation/backend/UserInformationApplicationTests.java +++ b/04.系统编码/Backend/src/test/java/com/userinformation/backend/UserInformationApplicationTests.java @@ -1,5 +1,11 @@ package com.userinformation.backend; +import javax.imageio.ImageIO; + +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; + import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @@ -7,7 +13,11 @@ import org.springframework.boot.test.context.SpringBootTest; class UserInformationApplicationTests { @Test - void contextLoads() { + void contextLoads() throws IOException { + File inputFile = new File("C:\\Users\\xiaowuler\\Desktop\\images\\decision-support\\plan-advice\\control-experiment\\TFLD_Q2.tif"); + File outputFile = new File("C:\\Users\\xiaowuler\\Desktop\\output.png"); + BufferedImage image = ImageIO.read(inputFile); + ImageIO.write(image, "png", outputFile); } } diff --git a/04.系统编码/Frontend/src/components/DecisionSupport.vue b/04.系统编码/Frontend/src/components/DecisionSupport.vue index ab19541..6c85fae 100644 --- a/04.系统编码/Frontend/src/components/DecisionSupport.vue +++ b/04.系统编码/Frontend/src/components/DecisionSupport.vue @@ -63,6 +63,7 @@ import { onMounted, reactive, toRefs } from 'vue'; import * as Tiff from 'browser-tiff.js'; import { DecisionSupportConfig } from '../uilts/Config'; +import { get } from '../uilts/axios'; export default { name: 'DecisionSupport', @@ -128,18 +129,28 @@ } const initImage = (type, imgName, index) => { - var xhr = new XMLHttpRequest(); - xhr.responseType = 'arraybuffer'; - xhr.open('GET', DecisionSupportConfig.getUrl(type, imgName)); - xhr.onload = function (e) { - let tiff = new Tiff({buffer: xhr.response}); + console.log(DecisionSupportConfig.getUrl(type, imgName)) + get(DecisionSupportConfig.getUrl(type, imgName)).then((response: any) => { + console.log(response) + let tiff = new Tiff({buffer: response.data}); let canvas = tiff.toCanvas(); let image = new Image(); image.src = canvas.toDataURL("image/png"); options.items[index].imgUrl = image.src; options.items[index].preview = [image.src]; - }; - xhr.send(); + }) + // var xhr = new XMLHttpRequest(); + // xhr.responseType = 'arraybuffer'; + // xhr.open('GET', DecisionSupportConfig.getUrl(type, imgName)); + // xhr.onload = function (e) { + // let tiff = new Tiff({buffer: xhr.response}); + // let canvas = tiff.toCanvas(); + // let image = new Image(); + // image.src = canvas.toDataURL("image/png"); + // options.items[index].imgUrl = image.src; + // options.items[index].preview = [image.src]; + // }; + // xhr.send(); } return { diff --git a/04.系统编码/Frontend/src/uilts/axios.ts b/04.系统编码/Frontend/src/uilts/axios.ts index 7db59eb..d18d47e 100644 --- a/04.系统编码/Frontend/src/uilts/axios.ts +++ b/04.系统编码/Frontend/src/uilts/axios.ts @@ -5,8 +5,8 @@ import { ElLoading } from 'element-plus' let loading = null; const service = axios.create({ - // baseURL:"http://localhost:8002", - baseURL:"", + baseURL:"http://localhost:8002", + // baseURL:"", timeout: 500000 }) From 9a07c6cac1d595aac7bdb59d3924bc83b0a871c2 Mon Sep 17 00:00:00 2001 From: hehongxing Date: Fri, 3 Dec 2021 14:59:12 +0800 Subject: [PATCH 7/7] 111 --- .../Frontend/src/components/DecisionSupport.vue | 5 ++++- .../Frontend/src/components/MicrowaveRadiation.vue | 5 ++++- 04.系统编码/Frontend/src/components/RamanLidar.vue | 3 +++ .../Frontend/src/components/SynergyEvaluation.vue | 8 +++++++- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/04.系统编码/Frontend/src/components/DecisionSupport.vue b/04.系统编码/Frontend/src/components/DecisionSupport.vue index ba480ae..383a551 100644 --- a/04.系统编码/Frontend/src/components/DecisionSupport.vue +++ b/04.系统编码/Frontend/src/components/DecisionSupport.vue @@ -31,12 +31,15 @@ :initial-index="0" fit="contain" > - + diff --git a/04.系统编码/Frontend/src/components/RamanLidar.vue b/04.系统编码/Frontend/src/components/RamanLidar.vue index 3ebdd1b..a2fd0d8 100644 --- a/04.系统编码/Frontend/src/components/RamanLidar.vue +++ b/04.系统编码/Frontend/src/components/RamanLidar.vue @@ -71,6 +71,9 @@

暂无图片

+ diff --git a/04.系统编码/Frontend/src/components/SynergyEvaluation.vue b/04.系统编码/Frontend/src/components/SynergyEvaluation.vue index f4252b2..7c1bb14 100644 --- a/04.系统编码/Frontend/src/components/SynergyEvaluation.vue +++ b/04.系统编码/Frontend/src/components/SynergyEvaluation.vue @@ -99,6 +99,9 @@

暂无图片

+ @@ -112,12 +115,15 @@ :initial-index="0" fit="contain" > -