亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于微服務(wù)架構(gòu)的大氣環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)

        2021-07-25 02:30:52杜春艷成卓
        關(guān)鍵詞:微服務(wù)功能模塊

        杜春艷 成卓

        摘要:大氣環(huán)境問(wèn)題日益嚴(yán)重,為了實(shí)時(shí)監(jiān)測(cè)大氣環(huán)境數(shù)據(jù),利用微服務(wù)架構(gòu)搭建前后端模塊,設(shè)計(jì)了大氣環(huán)境監(jiān)測(cè)系統(tǒng)。系統(tǒng)包含七大功能模塊:大氣環(huán)境監(jiān)測(cè)模塊、天氣查詢模塊、疫情防控模塊、定位模塊、用戶管理模塊、實(shí)時(shí)光照強(qiáng)度監(jiān)測(cè)模塊以及圖像采集模塊,對(duì)這些模塊分別進(jìn)行了設(shè)計(jì)和實(shí)現(xiàn)。測(cè)試結(jié)果表明,該系統(tǒng)能夠很好地監(jiān)測(cè)大氣環(huán)境數(shù)據(jù)。

        關(guān)鍵詞:微服務(wù);大氣環(huán)境監(jiān)測(cè);功能模塊

        中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1008-1739(2021)11-68-6

        0引言

        工業(yè)飛速發(fā)展使得人們生活水平日益提高,也使得環(huán)境污染日益加劇,尤其是大氣污染,污染源增加、污染范圍不斷擴(kuò)大,嚴(yán)重影響了人們的身體健康和國(guó)家的長(zhǎng)遠(yuǎn)發(fā)展。根據(jù)2020年2月11日聯(lián)合國(guó)環(huán)境規(guī)劃署、聯(lián)合國(guó)人居署及瑞士空氣質(zhì)量技術(shù)公司IQAir共同發(fā)布的全球最大的空氣質(zhì)量數(shù)據(jù),匯集4 000多個(gè)貢獻(xiàn)者提供的實(shí)時(shí)空氣污染數(shù)據(jù),觸達(dá)用戶超過(guò)1500萬(wàn)人,覆蓋全球7000多個(gè)城市。全球每年有700萬(wàn)人死于空氣污染,其中65萬(wàn)是兒童。

        建立健全高效的大氣環(huán)境監(jiān)測(cè)系統(tǒng),可以實(shí)時(shí)檢測(cè)整個(gè)區(qū)域,分析區(qū)域空氣質(zhì)量整體狀況和變化趨勢(shì)、實(shí)時(shí)發(fā)布整個(gè)區(qū)域的空氣質(zhì)量。而且隨著監(jiān)測(cè)數(shù)據(jù)的積累,可以進(jìn)一步開(kāi)展大數(shù)據(jù)分析和深度挖掘,或者污染起源解析、聚類(lèi)分析等科研應(yīng)用。從而實(shí)現(xiàn)城市區(qū)域大氣污染濃度的時(shí)空動(dòng)態(tài)變化趨勢(shì)分析,對(duì)污染源起到最大程度的監(jiān)管作用,為環(huán)境執(zhí)法的決策提供直接依據(jù),所以建立此系統(tǒng)是非常必要的。

        1關(guān)鍵技術(shù)

        1.1 Spring Cloud

        Spring Cloud是一個(gè)基于Spring Boot實(shí)現(xiàn)的服務(wù)治理工具包,在微服務(wù)架構(gòu)中用于管理和協(xié)調(diào)服務(wù),是一系列框架的有序集合,利用Spring Boot的開(kāi)發(fā)和便利性巧妙地簡(jiǎn)化了分布式系統(tǒng)基礎(chǔ)設(shè)施的開(kāi)發(fā),如配置中心、消息總線、負(fù)載均衡等,都可以用Spring Boot的開(kāi)發(fā)風(fēng)格做到一鍵啟動(dòng)和部署。

        Spring Cloud將目前各家公司開(kāi)發(fā)的比較成熟、經(jīng)得起實(shí)際考驗(yàn)的服務(wù)框架組合起來(lái),通過(guò)Spring Boot風(fēng)格進(jìn)行再封裝,屏蔽復(fù)雜的配置和實(shí)現(xiàn)原理,最終給開(kāi)發(fā)者留出一套簡(jiǎn)單易懂、易部署和易維護(hù)的分布式系統(tǒng)開(kāi)發(fā)工具包。

        1.2 Spring Boot

        Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開(kāi)發(fā)人員不再需要定義樣板化的配置,就能創(chuàng)建一個(gè)獨(dú)立的、產(chǎn)品級(jí)別的Spring應(yīng)用。SpringBoot的核心思想就是約定大于配置,多數(shù)Spring Boot應(yīng)用只需要很少的Spring配置。采用Spring Boot可以大大簡(jiǎn)化開(kāi)發(fā)模式,所有需要集成的常用框架,Spring Boot都有對(duì)應(yīng)的組件支持。

        1.3 layui與EChalns

        layui是一款采用自身模塊規(guī)范編寫(xiě)的前端uI框架,遵循原生HTML/CSS/JS的書(shū)寫(xiě)與組織形式,對(duì)使用者的能力要求比較低。layui的外在極簡(jiǎn)卻功能豐富,從核心代碼到API都經(jīng)過(guò)精心打磨,無(wú)需各種前端工具的復(fù)雜配置,非常適合頁(yè)面的快速開(kāi)發(fā)。

        ECharts是一個(gè)使用JavaScript實(shí)現(xiàn)的開(kāi)源可視化庫(kù),可以流暢運(yùn)行在PC和移動(dòng)設(shè)備上,兼容當(dāng)前大部分瀏覽器,可以提供直觀、交互豐富的數(shù)據(jù)可視化圖表。

        2系統(tǒng)功能與設(shè)計(jì)

        大氣環(huán)境監(jiān)測(cè)系統(tǒng)主要有七大功能模塊,分別是定位模塊、大氣環(huán)境監(jiān)測(cè)模塊、天氣模塊、疫情防控模塊、用戶模塊、實(shí)時(shí)光照強(qiáng)度監(jiān)測(cè)模塊和圖像采集模塊,每個(gè)模塊分為前端與后端2個(gè)部分,整個(gè)系統(tǒng)的功能模塊結(jié)構(gòu)如圖1所示。

        2.1定位模塊功能設(shè)計(jì)

        2.1.1前端功能設(shè)計(jì)

        在頁(yè)面中使用HTML5中地理定位API獲取當(dāng)前所在位置的經(jīng)緯度,傳遞給后端。

        2.1.2定位模塊后端功能設(shè)計(jì)

        為了提供更準(zhǔn)確的服務(wù),很多網(wǎng)站都會(huì)獲取用戶當(dāng)前所在的地理位置。該系統(tǒng)的核心功能之一就是獲取當(dāng)前所在地理位置,確定所在城市。

        目前比較常用的獲取地理位置的方法有2種:一種是通過(guò)本機(jī)IP地址獲取,利用IP地址去查詢特定數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)是經(jīng)過(guò)長(zhǎng)時(shí)間的數(shù)據(jù)累積而成,經(jīng)過(guò)比較之后可以從數(shù)據(jù)庫(kù)中提取相應(yīng)的地理位置信息;另一種方法是使用HTML5中地理定位API獲取當(dāng)前所在位置的經(jīng)緯度,然后將抽象的經(jīng)緯度轉(zhuǎn)換成可讀的有意義的真正的用戶地理位置信息,系統(tǒng)采用的是第2種HTML5方法。

        2.2大氣環(huán)境監(jiān)測(cè)模塊功能設(shè)計(jì)

        2.2.1前端功能設(shè)計(jì)

        用戶登錄成功后進(jìn)入大氣環(huán)境查詢平臺(tái)的大氣環(huán)境監(jiān)測(cè)頁(yè)面,導(dǎo)航欄中向用戶展示了城市大氣環(huán)境監(jiān)測(cè)的簡(jiǎn)要信息,包括日期、星期、城市以及空氣質(zhì)量指數(shù)(AQI)。

        頁(yè)面初始化地理位置為北京市,用戶可點(diǎn)擊定位按鈕更改地理位置,獲取當(dāng)前所在城市大氣環(huán)境監(jiān)測(cè)各項(xiàng)數(shù)據(jù),也可通過(guò)在搜索框中搜索,得到所需城市的大氣環(huán)境監(jiān)測(cè)數(shù)據(jù)。由于大氣環(huán)境監(jiān)測(cè)站點(diǎn)并不是在所有城市都有分布,所以在搜索框中輸入關(guān)鍵字時(shí)會(huì)出現(xiàn)城市提示,只能輸入在搜索框下?lián)碛刑崾镜某鞘小?/p>

        在頁(yè)面的主體部分用表格展示了城市大氣環(huán)境中6種污染物在大氣環(huán)境中的濃度、當(dāng)前大氣中的主要污染物以及AQI。為了方便觀察各污染物濃度變化,在頁(yè)面中以折線圖的方式將近15天SO2、NO2、CO、O3、PM2.5、PM10、PM2.5、PM10和空氣質(zhì)量指數(shù)濃度變化予以展示。

        2.2.2后端功能設(shè)計(jì)

        本系統(tǒng)的核心數(shù)據(jù)管理之一是大氣環(huán)境監(jiān)測(cè)數(shù)據(jù)信息管理,用戶能在前端看到城市的大氣環(huán)境監(jiān)測(cè)數(shù)據(jù)。用戶發(fā)送大氣環(huán)境監(jiān)測(cè)請(qǐng)求之后,大氣環(huán)境監(jiān)測(cè)功能開(kāi)始運(yùn)作。系統(tǒng)獲取當(dāng)日大氣環(huán)境監(jiān)測(cè)數(shù)據(jù)以及近15天大氣環(huán)境監(jiān)測(cè)數(shù)據(jù)。成功獲取大氣環(huán)境監(jiān)測(cè)數(shù)據(jù)之后將數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù),當(dāng)用戶再次發(fā)送大氣環(huán)境監(jiān)測(cè)請(qǐng)求時(shí),不需要重新獲取大氣數(shù)據(jù)。

        用戶執(zhí)行定位功能,系統(tǒng)重新獲取當(dāng)前所在城市的大氣環(huán)境監(jiān)測(cè)數(shù)據(jù)以及當(dāng)前城市近15天大氣環(huán)境監(jiān)測(cè)數(shù)據(jù)。成功獲取大氣環(huán)境監(jiān)測(cè)數(shù)據(jù)之后將數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù),當(dāng)用戶重新發(fā)送定位請(qǐng)求時(shí),不需要重新獲取大氣數(shù)據(jù)。如果當(dāng)前定位城市未建立大氣環(huán)境監(jiān)測(cè)站點(diǎn),則會(huì)將城市修改為當(dāng)前城市所在地的省會(huì)城市。

        用戶在輸入框中輸入所需要的城市時(shí),由于并不是所有城市都建立了大氣環(huán)境監(jiān)測(cè)站點(diǎn),所以查詢的城市是有限制的。在用戶輸入時(shí)會(huì)出現(xiàn)提示,防止用戶輸入的城市沒(méi)有大氣環(huán)境監(jiān)測(cè)站點(diǎn),無(wú)法獲取大氣環(huán)境監(jiān)測(cè)數(shù)據(jù)。輸入合法城市之后,系統(tǒng)會(huì)獲取當(dāng)前所查找城市的大氣環(huán)境監(jiān)測(cè)數(shù)據(jù)以及當(dāng)前查找城市近15天大氣環(huán)境監(jiān)測(cè)數(shù)據(jù),成功獲取大氣環(huán)境監(jiān)測(cè)數(shù)據(jù)之后將數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù),當(dāng)用戶再次查詢?cè)摮鞘袝r(shí),不需要重新獲取大氣數(shù)據(jù)。

        2.3天氣模塊功能設(shè)計(jì)

        2.3.1前端功能設(shè)計(jì)

        點(diǎn)擊天氣查詢后進(jìn)入大氣環(huán)境查詢平臺(tái)的天氣信息查詢頁(yè)面,導(dǎo)航欄中向用戶展示了城市天氣的簡(jiǎn)要信息,包括城市、天氣、最高氣溫、最低氣溫以及空氣質(zhì)量等級(jí)。獲取當(dāng)前所在城市天氣情況的各項(xiàng)數(shù)據(jù),也可通過(guò)在搜索框中搜索,以得到所查詢的城市的天氣情況。

        在頁(yè)面的主體部分用表格展示了城市實(shí)時(shí)氣溫、天氣、日溫、夜溫、風(fēng)向、風(fēng)力等級(jí)、風(fēng)速、空氣濕度、空氣質(zhì)量以及出行建議。為了方便觀察,了解氣溫變化,在頁(yè)面中以折線圖的方式將近15天每天最高氣溫與最低氣溫,空氣濕度變化予以展示。

        2.3.2后端功能設(shè)計(jì)

        天氣數(shù)據(jù)信息管理也是本系統(tǒng)的核心數(shù)據(jù)管理之一,系統(tǒng)后端實(shí)時(shí)獲取天氣數(shù)據(jù),然后進(jìn)行相關(guān)處理之后存入數(shù)據(jù)庫(kù),前端頁(yè)面才有數(shù)據(jù)可以展示。

        用戶發(fā)送天氣查詢請(qǐng)求之后,天氣功能開(kāi)始運(yùn)作。成功獲取天氣數(shù)據(jù)之后將數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù),當(dāng)用戶再次發(fā)送天氣查詢請(qǐng)求時(shí),不需要重新獲取天氣數(shù)據(jù)。

        用戶點(diǎn)擊定位按鈕,執(zhí)行定位功能成功之后系統(tǒng)獲取到當(dāng)前所在城市,系統(tǒng)重新獲取當(dāng)前所在城市的天氣數(shù)據(jù)以及當(dāng)前城市近15天的天氣數(shù)據(jù)。成功獲取天氣數(shù)據(jù)之后將數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù),當(dāng)用戶重新發(fā)送定位請(qǐng)求時(shí),不需要重新獲取天氣數(shù)據(jù)。

        2.4疫情防控模塊功能設(shè)計(jì)

        2.4.1前端功能設(shè)計(jì)

        點(diǎn)擊“全民戰(zhàn)‘疫”后進(jìn)入最新疫情信息顯示頁(yè)面,向用戶展示最新的疫情資訊報(bào)道,國(guó)內(nèi)外最新的詳細(xì)疫情信息,包括現(xiàn)存確診人數(shù)、累計(jì)確診人數(shù)、現(xiàn)存疑似人數(shù)、累計(jì)治愈人數(shù)、累計(jì)死亡人數(shù)、現(xiàn)存重癥人數(shù)、新增疑似人數(shù)、相比昨天現(xiàn)存確診人數(shù)、相比昨天累計(jì)確診人數(shù)、相比昨天新增治愈人數(shù)、相比昨天新增死亡人數(shù)以及相比昨天現(xiàn)存的重癥人數(shù)。

        2.4.2后端功能設(shè)計(jì)

        疫情信息管理是本系統(tǒng)的數(shù)據(jù)管理之一,系統(tǒng)后端獲取到了當(dāng)天疫情數(shù)據(jù),數(shù)據(jù)包括疫情資訊以及國(guó)內(nèi)外疫情數(shù)據(jù),然后存入數(shù)據(jù)庫(kù),前端頁(yè)面才有數(shù)據(jù)可以展示。

        3功能實(shí)現(xiàn)

        3.1用戶模塊前端登錄頁(yè)面、注冊(cè)頁(yè)面實(shí)現(xiàn)

        3.1.1頁(yè)面分析

        頁(yè)面基于前端框架layui,配合HTML5、CSS、JavaScript共同設(shè)計(jì)完成的,追求簡(jiǎn)單、直觀實(shí)用。登錄頁(yè)面是平臺(tái)啟動(dòng)打開(kāi)的初始頁(yè)面,用來(lái)輸入用戶名與密碼。若用戶未使用過(guò)平臺(tái),則需要進(jìn)入注冊(cè)頁(yè)面進(jìn)行新用戶注冊(cè)。用戶可在注冊(cè)頁(yè)面自定義用戶名,輸入密碼以及確認(rèn)密碼。頁(yè)面效果如圖2和圖3所示。

        3.1.2頁(yè)面實(shí)現(xiàn)

        登錄頁(yè)面的主要功能是將用戶名與密碼提交給后端。頁(yè)面使用input標(biāo)簽接收用戶輸入的用戶名與密碼,使用form表單封裝數(shù)據(jù)。為form添加action="/userLogin"響應(yīng),點(diǎn)擊登錄button之后,表單將以post的方式帶著表單中的數(shù)據(jù)一起發(fā)起請(qǐng)求。

        注冊(cè)頁(yè)面的主要功能是將新用戶的注冊(cè)信息提交給后端。頁(yè)面使用input標(biāo)簽接收用戶輸入的用戶名、密碼以及確認(rèn)密碼,編寫(xiě)js代碼,使用layui的表單校驗(yàn)功能判斷用戶所輸入的用戶名是否符合規(guī)定以及2次輸入的密碼是否一致。使用form表單包裝數(shù)據(jù),為form添加action="/userRegister"響應(yīng),點(diǎn)擊立即提交button之后,表單將以post的方式帶著表單中的數(shù)據(jù)一起發(fā)起請(qǐng)求。

        3.2大氣環(huán)境監(jiān)測(cè)模塊前端頁(yè)面實(shí)現(xiàn)

        3.2.1頁(yè)面分析

        用戶登陸成功之后,第一個(gè)頁(yè)面是大氣環(huán)境監(jiān)測(cè)頁(yè)面,主要展示城市大氣環(huán)境監(jiān)測(cè)數(shù)據(jù),近15天空氣中6種污染物在大氣中的濃度變化以折線圖形式展示,頁(yè)面效果如圖4所示。

        3.2.2頁(yè)面實(shí)現(xiàn)

        由于用戶登錄信息保存在cookie中,編寫(xiě)js代碼從cookie中獲取用戶登錄信息。若cookie中存在登錄信息,修改頁(yè)面標(biāo)簽將請(qǐng)登錄修改為該用戶的用戶名。后端定義首次訪問(wèn)城市為首都北京,由于頁(yè)面使用Thymeleaf模板引擎,可以使用${}獲取request域中的大氣環(huán)境監(jiān)測(cè)數(shù)據(jù)并在相應(yīng)位置顯示,使用layui表格組件,展示完整大氣環(huán)境監(jiān)測(cè)數(shù)據(jù)。

        使用隱藏input標(biāo)簽接收6種大氣污染物歷史含量列表,編寫(xiě)js文件使用echags將數(shù)據(jù)列表轉(zhuǎn)換為圖表。

        用戶點(diǎn)擊定位按鈕,頁(yè)面利用HTML5地理位置屬性,獲取當(dāng)前地理位置經(jīng)緯度,攜帶經(jīng)緯度信息發(fā)送ajax請(qǐng)求給后端。在ajax執(zhí)行成功之后的回調(diào)函數(shù)中,大氣環(huán)境監(jiān)測(cè)數(shù)據(jù)已經(jīng)更新。通過(guò)ID獲取指定標(biāo)簽,修改其內(nèi)容,完成頁(yè)面重新渲染。

        用戶在查詢框中輸入城市名,由于大氣環(huán)境監(jiān)測(cè)站點(diǎn)有地區(qū)限制,需要提醒用戶所輸入的城市是否存在站點(diǎn),并給出城市提示。當(dāng)用戶在input中輸入時(shí),監(jiān)聽(tīng)用戶所輸入的內(nèi)容,攜帶此內(nèi)容發(fā)送ajax請(qǐng)求到后端,在ajax執(zhí)行成功之后的回調(diào)函數(shù)中遍歷后端返回?cái)?shù)據(jù),不為空則緊貼輸入框下動(dòng)態(tài)添加標(biāo)簽顯示城市提示信息,輸入框失去焦點(diǎn)后,刪除所有提示標(biāo)簽。為搜索按鈕綁定onclick事件,用戶輸入合法城市后點(diǎn)擊搜索按鈕會(huì)發(fā)起攜帶搜索信息的ajax請(qǐng)求,在ajax執(zhí)行成功之后的回調(diào)函數(shù)中,大氣環(huán)境監(jiān)測(cè)數(shù)據(jù)已經(jīng)更新。通過(guò)ID獲取指定標(biāo)簽,修改其內(nèi)容,完成頁(yè)面重新渲染。

        3.3天氣模塊前端頁(yè)面實(shí)現(xiàn)

        3.3.1頁(yè)面分析

        天氣頁(yè)面實(shí)時(shí)展示城市天氣數(shù)據(jù),未來(lái)7天的天氣預(yù)報(bào)以及將近15天的最高氣溫、最低氣溫和空氣濕度變化以折線圖形式展示,頁(yè)面效果如圖5所示。

        3.3.2頁(yè)面實(shí)現(xiàn)

        用戶點(diǎn)擊左側(cè)天氣標(biāo)簽之后,頁(yè)面跳轉(zhuǎn)至天氣頁(yè)面。由于用戶登錄信息保存在cookie中,編寫(xiě)js代碼從cookie中獲取用戶登錄信息,若cookie中存在登錄信息,修改頁(yè)面標(biāo)簽將請(qǐng)登錄修改為該用戶的用戶名。后端定義首次訪問(wèn)城市為首都北京,由于頁(yè)面使用Thymeleaf模板引擎,可以使用${}獲取request域中的天氣數(shù)據(jù)并在相應(yīng)位置顯示,使用layui表格組件,展示詳細(xì)天氣數(shù)據(jù)。編寫(xiě)js文件遍歷七日天氣預(yù)報(bào)信息列表,動(dòng)態(tài)添加li標(biāo)簽展示天氣預(yù)報(bào)信息。將此部分的display屬性設(shè)置為影藏,點(diǎn)擊7目標(biāo)簽選項(xiàng),將今日詳細(xì)天氣數(shù)據(jù)列表display屬性修改為行藏,將天氣預(yù)報(bào)模塊display屬性修改為展示。點(diǎn)擊今日標(biāo)簽選項(xiàng),將今日詳細(xì)天氣數(shù)據(jù)列表display屬性修改為顯示,將天氣預(yù)報(bào)模塊display屬性修改為隱藏。

        使用隱藏input標(biāo)簽接收歷史最高氣溫、最低氣溫和空氣濕度數(shù)據(jù)列表,編寫(xiě)js文件使用echarts將數(shù)據(jù)列表轉(zhuǎn)換為圖表。

        用戶點(diǎn)擊定位按鈕,頁(yè)面利用HTML5地理位置屬性,獲取當(dāng)前地理位置經(jīng)緯度,攜帶經(jīng)緯度信息發(fā)送ajax請(qǐng)求給后端。在ajax執(zhí)行成功之后的回調(diào)函數(shù)中,天氣數(shù)據(jù)已經(jīng)更新。通過(guò)ID獲取指定標(biāo)簽,修改其內(nèi)容,完成頁(yè)面重新渲染。

        用戶在查詢框中輸入城市名,為搜索按鈕綁定onclick事件,用戶輸入城市后點(diǎn)擊搜索按鈕會(huì)發(fā)起攜帶搜索信息的ajax請(qǐng)求,在ajax執(zhí)行成功之后的回調(diào)函數(shù)中,大氣環(huán)境監(jiān)測(cè)數(shù)據(jù)已經(jīng)更新。通過(guò)ID獲取指定標(biāo)簽,修改其內(nèi)容,完成頁(yè)面重新渲染。

        3.4用戶模塊前端個(gè)人信息頁(yè)面實(shí)現(xiàn)

        3.4.1頁(yè)面分析

        用戶在信息管理頁(yè)面可以補(bǔ)全用戶信息以及修改密碼等除用戶名外的所有信息。頁(yè)面效果如圖6所示。

        3.4.2頁(yè)面實(shí)現(xiàn)

        用戶在注冊(cè)時(shí)只定義了用戶名與密碼,用戶在登錄成功之后可以進(jìn)一步完善用戶信息。使用input標(biāo)簽接收用戶輸入,編寫(xiě)js代碼使用layui表單校驗(yàn)組件,校驗(yàn)用戶所輸入的各項(xiàng)數(shù)據(jù)是否符合規(guī)定。使用form表單封裝所有數(shù)據(jù),為表單綁定action響應(yīng)函數(shù),用于點(diǎn)擊提交按鈕,表單以post方式提交數(shù)據(jù)。

        用戶信息修改,若用戶已補(bǔ)全用戶信息,再次訪問(wèn)此頁(yè)面是會(huì)顯示全部用戶信息。用戶修改完數(shù)據(jù)之后。使用form表單封裝所有數(shù)據(jù),為表單綁定action響應(yīng)函數(shù),用于點(diǎn)擊提交按鈕,表單以post方式提交修改后的數(shù)據(jù)。

        3.5疫情防控模塊前端頁(yè)面實(shí)現(xiàn)

        3.5.1頁(yè)面分析

        全民戰(zhàn)“疫”頁(yè)面主要展示最新疫情相關(guān)新聞報(bào)道、國(guó)內(nèi)最新疫情數(shù)據(jù)信息以及國(guó)外疫情數(shù)據(jù)信息,頁(yè)面效果如圖7所示。

        3.5.2頁(yè)面實(shí)現(xiàn)

        后端已經(jīng)將疫情新聞列表存放在request域中,在頁(yè)面js代碼中通過(guò)[[${}]]獲取疫情新聞列表,遍歷列表動(dòng)態(tài)添加lib標(biāo)簽,展示新聞信息。編寫(xiě)js代碼使用layui表格組件,展示我國(guó)詳細(xì)疫情數(shù)據(jù)和國(guó)外詳細(xì)疫情數(shù)據(jù)。

        3.6后端圖像采集微服務(wù)實(shí)現(xiàn)

        本模塊將圖像采集系統(tǒng)服務(wù)器端作為一個(gè)微服務(wù)注冊(cè)到注冊(cè)中心。圖像采集服務(wù)器端利用Socket技術(shù)接收客戶端的圖像數(shù)據(jù)。將服務(wù)器集成到微服務(wù)架構(gòu)中時(shí),使用Spring Boot改寫(xiě)系統(tǒng),讓系統(tǒng)輕便簡(jiǎn)潔。

        新建一個(gè)maven module項(xiàng)目,添加注冊(cè)啟動(dòng)類(lèi)后在其pom文件中添加Spring Boot配置,編寫(xiě)application.yml文件將服務(wù)指向注冊(cè)中心。因?yàn)樵摲?wù)器端邏輯功能已經(jīng)實(shí)現(xiàn),現(xiàn)在只需要將系統(tǒng)邏輯移植在本Spring Boot項(xiàng)目中。

        3.6.1功能分析

        圖像采集服務(wù)器端由3個(gè)主要功能組成:圖像獲取、圖像顯示以及圖像保存。系統(tǒng)安卓端與服務(wù)器端通過(guò)Socket進(jìn)行數(shù)據(jù)傳遞。安卓端設(shè)有一個(gè)圖像數(shù)據(jù)緩沖區(qū),在緩沖區(qū)滿后將緩沖區(qū)中的數(shù)據(jù)發(fā)送至服務(wù)器端。服務(wù)器端判斷接收的數(shù)據(jù)是否為一幀完整的圖片,若是則通過(guò)繪圖組件在顯示窗口進(jìn)行繪制,若不是則繼續(xù)接收。在圖像顯示過(guò)程中若有符合條件的圖像可點(diǎn)擊拍照按鈕,將該圖片保存。服務(wù)器端提供查詢功能,可按圖像名或拍照日期進(jìn)行搜索,若存在符合條件的圖像則在頁(yè)面進(jìn)行展示。

        3.6.2功能實(shí)現(xiàn)

        在用戶點(diǎn)擊拍照按鈕后,圖像保存功能開(kāi)始運(yùn)轉(zhuǎn),圖像保存在用戶選定保存路徑,使用JFileChooser.getSelectedFile().getPath()獲取用戶選擇的路徑,使用字符串分割獲取圖像名,將相關(guān)信息封裝成實(shí)體類(lèi),直接調(diào)用mapper層方法將圖像信息保存至數(shù)據(jù)庫(kù)。

        在非Controller層、Service層使用@Autowired注解需要進(jìn)行相關(guān)配置才能正常使用。首先使用@Component注解標(biāo)記工具類(lèi)StatisticsUtils,然后使用@Autowired注入需要的bean,最后在工具類(lèi)中編寫(xiě)init()函數(shù),并使用@PostConstruct注解標(biāo)記工具類(lèi),初始化Bean。

        3.7定位模塊實(shí)現(xiàn)

        3.7.1功能分析

        系統(tǒng)地理位置確定模塊先使用HTML5中地理定位API獲取當(dāng)前位置的經(jīng)緯度,再調(diào)用百度地圖API全球逆地理編碼,通過(guò)經(jīng)緯度確定所在城市。

        地理定位是HTML5中新增的API特性,得到用戶允許后,使用JavaScript程序向?yàn)g覽器詢問(wèn)用戶真實(shí)的地理位置。

        全球逆地理編碼服務(wù)是一類(lèi)Web API接口服務(wù),逆地理編碼服務(wù)提供將坐標(biāo)點(diǎn)(經(jīng)緯度)轉(zhuǎn)換為對(duì)應(yīng)位置信息功能。

        3.7.2功能實(shí)現(xiàn)

        地理位置模塊屬于大氣環(huán)境監(jiān)測(cè)模塊與天氣模塊的一個(gè)功能,用來(lái)獲取用戶當(dāng)前所在城市。用戶點(diǎn)擊定位按鈕后,頁(yè)面詢問(wèn)用戶是否允許當(dāng)前應(yīng)用獲取位置信息,經(jīng)過(guò)用戶批準(zhǔn)后,頁(yè)面獲取用戶當(dāng)前位置信息(經(jīng)緯度)發(fā)送請(qǐng)求,后端攔截該請(qǐng)求之后調(diào)用全球逆地理編碼服務(wù)API獲取用戶當(dāng)前位置信息,截取其中的城市信息并返回。

        4結(jié)束語(yǔ)

        針對(duì)日益嚴(yán)重的大氣環(huán)境污染問(wèn)題,利用微服務(wù)架構(gòu),設(shè)計(jì)了一個(gè)大氣環(huán)境監(jiān)測(cè)系統(tǒng),其前端展示數(shù)據(jù),后端處理存儲(chǔ)數(shù)據(jù)。實(shí)現(xiàn)了對(duì)大氣環(huán)境的實(shí)時(shí)監(jiān)測(cè)與結(jié)果展示,不足的是收集數(shù)據(jù)少,為了更好地監(jiān)測(cè)大氣數(shù)據(jù),下一步需要收集更多的數(shù)據(jù),完善系統(tǒng)。

        猜你喜歡
        微服務(wù)功能模塊
        基于供給側(cè)改革理論的圖書(shū)館社交網(wǎng)絡(luò)微服務(wù)研究
        微信公眾平臺(tái)在醫(yī)院圖書(shū)館的應(yīng)用現(xiàn)狀調(diào)查
        商業(yè)模式是新媒體的核心
        基于微信企業(yè)號(hào)的校園移動(dòng)服務(wù)
        微服務(wù)視角下高職圖書(shū)館數(shù)字資源使用分析
        中文信息(2016年10期)2016-12-12 10:09:57
        從單一模式系統(tǒng)架構(gòu)往微服務(wù)架構(gòu)遷移轉(zhuǎn)化技術(shù)研究
        基于ASP.NET標(biāo)準(zhǔn)的采購(gòu)管理系統(tǒng)研究
        基于微信公眾平臺(tái)的高校圖書(shū)館微服務(wù)現(xiàn)狀及對(duì)策
        風(fēng)景區(qū)潮汐性人流與可移動(dòng)建筑設(shè)計(jì)研究
        科技視界(2016年11期)2016-05-23 12:04:33
        輸電線路附著物測(cè)算系統(tǒng)測(cè)算功能模塊的研究
        一二区视频免费在线观看| 亚洲色欲色欲欲www在线| 制服无码在线第一页| 蜜桃av噜噜一区二区三区香| 日韩性感av一区二区三区| 国产一区二区三区免费av| aa视频在线观看播放免费| 亚洲av自偷自拍亚洲一区| 亚洲一区二区三区高清在线| 欧美激情综合色综合啪啪五月| 色欲av蜜桃一区二区三| 色老头在线一区二区三区| 国产精品二区在线观看| 伊人亚洲综合网色AV另类| 女人被躁到高潮嗷嗷叫免费软| 国产精品久久国产精麻豆| 成人免费av色资源日日| 免费观看成人欧美www色| 97精品超碰一区二区三区| 国产乱妇乱子在线视频| 亚洲男人的天堂精品一区二区| 国产精品亚洲av网站| 久久影院最新国产精品| 国产黑色丝袜在线看片| 免费无码精品黄av电影| 中文字字幕在线精品乱码| 欧美丰满熟妇bbbbbb百度| 99成人无码精品视频| 超级少妇一区二区三区| 亚洲国产系列一区二区| 精品国产综合区久久久久久| 国产嫖妓一区二区三区无码| 国产精品无码久久久一区蜜臀| 狼人av在线免费观看| 国产精品毛片极品久久| 欧美老妇交乱视频在线观看| 亚洲国产精品va在线播放| 伊人网视频在线观看| 国产美女亚洲精品一区| 日本伊人精品一区二区三区| 国产福利视频一区二区|