国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于HTML5的移動(dòng)檢測(cè)流程管理系統(tǒng)研究與設(shè)計(jì)

2022-05-30 08:50鄧展鵬李妮妮杜冠廷
汽車(chē)零部件 2022年5期
關(guān)鍵詞:試驗(yàn)室功能模塊模塊

鄧展鵬,李妮妮,杜冠廷

1.廣州機(jī)械科學(xué)研究院有限公司,廣東廣州 510530;2.中汽檢測(cè)技術(shù)有限公司,廣東廣州 510530

0 引言

隨著汽車(chē)零部件檢測(cè)行業(yè)競(jìng)爭(zhēng)日趨激烈,智能化、信息化、數(shù)字化、辦公便捷化等特征已經(jīng)影響著檢測(cè)試驗(yàn)室業(yè)務(wù)的快速增長(zhǎng),并且檢測(cè)中產(chǎn)生大量試驗(yàn)數(shù)據(jù)對(duì)其進(jìn)行人工管理和應(yīng)用分析提出了極高的成本和苛刻的時(shí)間需求,為了減少人力記錄、處理數(shù)據(jù)的成本和誤差率,試驗(yàn)室信息管理系統(tǒng)(laboratory information management system,LIMS)被越來(lái)越多的汽車(chē)檢測(cè)行業(yè)所認(rèn)可,并充分應(yīng)用到試驗(yàn)室的各個(gè)管理環(huán)節(jié)。在大規(guī)律分散性的原始數(shù)據(jù)采集與應(yīng)用環(huán)境中,更好、更便捷的信息化能帶給檢測(cè)機(jī)構(gòu)更大的優(yōu)勢(shì),更低的人為誤差率和更高的辦公效率。

基于 Windows 平臺(tái)C/S 架構(gòu)的傳統(tǒng)LIMS,從20世紀(jì)90年代初發(fā)展至今,架構(gòu)與模式已經(jīng)相當(dāng)成熟,而且得到了廣泛的應(yīng)用,其PC端可以在計(jì)算機(jī)上較好、較快地處理各種復(fù)雜結(jié)構(gòu)的數(shù)據(jù),以及運(yùn)行各類(lèi)辦公文件。但仍然存在一些普遍而又緊急的場(chǎng)景響應(yīng)短板,例如:企業(yè)管理者、市場(chǎng)業(yè)務(wù)員異地出差,或開(kāi)會(huì)途中的移動(dòng)辦公便捷性低,對(duì)檢測(cè)合同進(jìn)行審閱、查看、歷史工作流溯源時(shí)效性差;還有大量的現(xiàn)場(chǎng)檢測(cè)工作執(zhí)行、檢測(cè)工程師或試驗(yàn)員定時(shí)跟進(jìn)檢測(cè)任務(wù)以及審批檢測(cè)流程管理規(guī)范化弱。針對(duì)這些場(chǎng)景下,對(duì)檢測(cè)業(yè)務(wù)流程進(jìn)行協(xié)同辦公高效簡(jiǎn)約化、功能提升數(shù)字化、終端交互響應(yīng)移動(dòng)便捷化是試驗(yàn)室信息管理的重點(diǎn)工作,也是困擾試驗(yàn)室檢測(cè)效能提升和數(shù)據(jù)管理規(guī)劃的技術(shù)短板。與此同時(shí),隨著移動(dòng)信息通信技術(shù)與手機(jī)、PDA(personal digital assistant)等智能終端的快速發(fā)展,使檢測(cè)企業(yè)的移動(dòng)信息化需求越來(lái)越迫切,甚至已成為眾多企業(yè)信息化必備功能之一。移動(dòng)辦公可以更好規(guī)劃和利用碎片化時(shí)間,能夠?qū)鹘y(tǒng)信息系統(tǒng)的時(shí)效性不足加以彌補(bǔ),對(duì)檢測(cè)任務(wù)信息實(shí)現(xiàn)即時(shí)響應(yīng)、流程審批全時(shí)空覆蓋處理。將LIMS與移動(dòng)平臺(tái)的這些特性相結(jié)合,能夠很好地提高檢測(cè)行業(yè)工作效率,也符合國(guó)家科技創(chuàng)新戰(zhàn)略中明確支持的數(shù)字賦能產(chǎn)業(yè)發(fā)展要求。

綜上,本文擬采用目前流行的HTML5架構(gòu)開(kāi)發(fā)相關(guān)的移動(dòng)應(yīng)用技術(shù),針對(duì)LIMS系統(tǒng)的檢測(cè)流程審批業(yè)務(wù)設(shè)計(jì)一套C/S架構(gòu)的移動(dòng)檢測(cè)流程管理系統(tǒng)。此系統(tǒng)整體架構(gòu)由5個(gè)功能模塊組成,分別是檢測(cè)報(bào)告管理模塊、合同管理模塊、檢測(cè)進(jìn)度管理模塊、輔助模塊、信息通知模塊。通過(guò)對(duì)不同的檢測(cè)角色移動(dòng)辦公的需求設(shè)計(jì)出以上功能模塊,使用戶合理利用碎片化時(shí)間,隨時(shí)隨地對(duì)檢測(cè)任務(wù)進(jìn)行審批處理,即時(shí)響應(yīng)檢測(cè)任務(wù),提高工作效率。該系統(tǒng)是使用Python的Web框架Flask開(kāi)發(fā)Restful API后端實(shí)現(xiàn)數(shù)據(jù)交互,HTML5技術(shù)與漸進(jìn)式JavaScript框架Vue.js技術(shù)以及Uni APP開(kāi)發(fā)技術(shù)相結(jié)合,為Android客戶端構(gòu)建一套操作簡(jiǎn)易、交互性強(qiáng)的用戶界面,而數(shù)據(jù)庫(kù)則采用SQL Server技術(shù)進(jìn)行數(shù)據(jù)管理與應(yīng)用。

1 相關(guān)技術(shù)概述

1.1 HTML5 與Vue.js簡(jiǎn)介

HTML5是HTML最新的修訂版本,由萬(wàn)維網(wǎng)聯(lián)盟(W3C)于2014年10月完成標(biāo)準(zhǔn)制定。廣義論及HTML5時(shí),實(shí)際指的是包括HTML、CSS和JavaScript在內(nèi)的一套技術(shù)組合。相對(duì)于HTML4,HTML5提高了交互體驗(yàn),加強(qiáng)了視覺(jué)感受,并且增加了很多非常實(shí)用的新功能和新特性。HTML5提供了豐富的音視頻新技術(shù)支持,解決了移動(dòng)端的蘋(píng)果或安卓系統(tǒng)與Flash的兼容問(wèn)題。文中所研究的移動(dòng)檢測(cè)流程管理系統(tǒng)通過(guò)使用H5+技術(shù)Video標(biāo)簽,使應(yīng)用程序支持在線實(shí)時(shí)監(jiān)控視頻流。HTML5技術(shù)作用在移動(dòng)平臺(tái),使應(yīng)用程序與網(wǎng)頁(yè)功能相輔相成,互補(bǔ)兩者的不足,增加了APP開(kāi)發(fā)的擴(kuò)展性,該系統(tǒng)的在線查閱檢測(cè)報(bào)告文檔功能即是使用了相關(guān)技術(shù)。

Vue.js是一套構(gòu)建用戶界面的漸進(jìn)式框架。Vue只關(guān)注視圖層,采用自底向上增量開(kāi)發(fā)的設(shè)計(jì)。因此程序的擴(kuò)展性及模塊化設(shè)計(jì)程度高,這對(duì)提高前期開(kāi)發(fā)效率,以及降低后期維護(hù)難度有良好的效果。該框架擁有負(fù)責(zé)連接視圖層和數(shù)據(jù)層的雙向數(shù)據(jù)綁定庫(kù),保證視圖和數(shù)據(jù)的一致性。

1.2 移動(dòng)APP(應(yīng)用程序)開(kāi)發(fā)方式與Uni APP技術(shù)簡(jiǎn)介

移動(dòng)互聯(lián)網(wǎng)時(shí)代發(fā)展迅猛,前端技術(shù)日新月異。目前為止,移動(dòng)APP開(kāi)發(fā)有3種方式,分別是Native APP、Web APP、Hybrid APP。

(1)Native APP指的是原生程序,一般依托于操作系統(tǒng),有很強(qiáng)的交互,是一個(gè)完整的APP,可拓展性強(qiáng),需要用戶下載安裝使用。原生應(yīng)用程序的功能開(kāi)發(fā)完善,運(yùn)行性能與渲染效果是最佳的。

(2)Web APP是一種框架型APP開(kāi)發(fā)模式(HTML5 APP框架開(kāi)發(fā)模式)。采用標(biāo)準(zhǔn)的Web技術(shù),使用HTML5、JavaScript和CSS3編寫(xiě)界面,掛載在瀏覽器上,不需要下載安裝程序,但無(wú)法利用會(huì)話管理、安全離線存儲(chǔ)以及訪問(wèn)原生設(shè)備功能。

(3)Hybrid APP指的是半原生半Web的混合類(lèi)APP。混合應(yīng)用程序讓開(kāi)發(fā)人員可以把HTML5應(yīng)用程序嵌入到一個(gè)細(xì)薄的原生容器里面,能夠同時(shí)使用原生應(yīng)用程序的功能以及H5+應(yīng)用的擴(kuò)展。HTML5的特性使得更多的移動(dòng)應(yīng)用在開(kāi)發(fā)過(guò)程中使用混合開(kāi)發(fā)的模式,將原生應(yīng)用和HTML5頁(yè)面結(jié)合,這種開(kāi)發(fā)方式可全由Web開(kāi)發(fā),也可結(jié)合原生開(kāi)發(fā)方式進(jìn)行插件擴(kuò)展。相比Native APP,開(kāi)發(fā)成本更低,一套代碼兼容多平臺(tái),可線下使用;相比Web APP,用戶體驗(yàn)與運(yùn)行性能更接近原生程序。

本文設(shè)計(jì)的移動(dòng)檢測(cè)流程管理系統(tǒng)正是基于Hybrid APP的方式進(jìn)行移動(dòng)應(yīng)用的開(kāi)發(fā)。

Uni APP是一個(gè)使用 Vue.js 開(kāi)發(fā)所有前端應(yīng)用的框架,開(kāi)發(fā)者通過(guò)編寫(xiě)一套代碼,可編譯發(fā)布到iOS、Android、H5以及各種小程序等多個(gè)平臺(tái),帶有圖形化插件控制管理功能,對(duì)Vue以及ES6(JavaScript的新版本標(biāo)準(zhǔn))、CSS3、HTML5等語(yǔ)法校驗(yàn)及編譯優(yōu)化的支持比較完善。使用Uni APP原生的網(wǎng)絡(luò)API(Uni.request)向后端編寫(xiě)的Restful風(fēng)格Web接口發(fā)起請(qǐng)求,獲取處理好的數(shù)據(jù)后渲染在應(yīng)用界面,與用戶進(jìn)行人機(jī)交互。

1.3 Flask技術(shù)及Restful簡(jiǎn)介

Flask是一個(gè)使用Python編寫(xiě)的Web應(yīng)用程序框架。特點(diǎn)小而輕,原生組件僅實(shí)現(xiàn)了最基本的功能,即架構(gòu)自由、編程靈活、可擴(kuò)展性強(qiáng)、第三方庫(kù)資源豐富,也能兼?zhèn)渥盍餍小⒆顝?qiáng)大的Python庫(kù)。

Restful是一種網(wǎng)絡(luò)應(yīng)用程序的設(shè)計(jì)風(fēng)格和開(kāi)發(fā)方式,Restful的Web Services 接口的核心就是“資源”。資源可以用URI來(lái)表示;移動(dòng)端使用 HTTP 協(xié)議定義的方法來(lái)發(fā)送請(qǐng)求到這些 URIs,使用Json格式的數(shù)據(jù)進(jìn)行資源交互。

2 系統(tǒng)功能需求分析及模塊設(shè)計(jì)

2.1 功能需求分析

隨著移動(dòng)通信技術(shù)及智能設(shè)備不斷發(fā)展,企業(yè)移動(dòng)信息化水平日益提高,移動(dòng)應(yīng)用已成為檢測(cè)流程管理系統(tǒng)的載體和必選項(xiàng)。在設(shè)計(jì)和實(shí)現(xiàn)本系統(tǒng)的過(guò)程中,貫徹軟件工程的思想,對(duì)系統(tǒng)進(jìn)行需求分析,面向檢測(cè)業(yè)務(wù)各環(huán)節(jié)的用戶角色進(jìn)行權(quán)限設(shè)計(jì),明確需要開(kāi)發(fā)的功能模塊。

移動(dòng)檢測(cè)流程管理系統(tǒng)的用戶由4種角色構(gòu)成,分別是技術(shù)審核人、業(yè)務(wù)經(jīng)理、檢測(cè)試驗(yàn)員和試驗(yàn)室安全負(fù)責(zé)人。技術(shù)審核人主要負(fù)責(zé)檢測(cè)任務(wù)的技術(shù)審核,使用該系統(tǒng)應(yīng)可以查閱當(dāng)前檢測(cè)任務(wù)的信息以及回溯審閱過(guò)的歷史任務(wù),并能在線查看檢測(cè)報(bào)告的內(nèi)容,技術(shù)審核人最核心的操作應(yīng)該是檢測(cè)任務(wù)的工作流審核;業(yè)務(wù)經(jīng)理對(duì)檢測(cè)合同進(jìn)行信息審核,合同批閱;檢測(cè)試驗(yàn)員使用系統(tǒng)對(duì)檢測(cè)項(xiàng)目進(jìn)度更新,檢測(cè)樣品信息管理;試驗(yàn)室安全負(fù)責(zé)人通過(guò)移動(dòng)應(yīng)用可以把控企業(yè)安防。用戶需求分析如圖1所示。

圖1 用戶需求分析

2.2 系統(tǒng)功能模塊設(shè)計(jì)

基于上述用戶需求分析設(shè)計(jì)了5個(gè)功能模塊,分別是檢測(cè)報(bào)告管理模塊、合同管理模塊、檢測(cè)進(jìn)度管理模塊、輔助模塊、信息通知模塊,如圖2所示。

圖2 功能模塊設(shè)計(jì)

不同用戶角色登錄該系統(tǒng),需要根據(jù)權(quán)限分配不同的功能模塊。各功能模塊詳細(xì)介紹如下:

(1)檢測(cè)任務(wù)管理模塊

技術(shù)審核人通過(guò)該模塊即使處于試驗(yàn)現(xiàn)場(chǎng)或開(kāi)會(huì)途中也能隨時(shí)快速查看最新的檢測(cè)信息,按條件檢索歷史檢測(cè)任務(wù),在線預(yù)覽檢測(cè)報(bào)告文檔流,以及對(duì)檢測(cè)任務(wù)的工作流審批等操作。

(2)合同管理模塊

該模塊主要實(shí)現(xiàn)市場(chǎng)業(yè)務(wù)人員外派出差,參加大型展會(huì)等場(chǎng)景,能隨時(shí)隨地刷新檢測(cè)合同信息,合理利用碎片化時(shí)間,按條件查詢檢測(cè)合同,對(duì)合同的工作流進(jìn)行審批。

(3)檢測(cè)進(jìn)度管理模塊

檢測(cè)試驗(yàn)員在現(xiàn)場(chǎng)進(jìn)行檢測(cè)試驗(yàn)時(shí),可以及時(shí)響應(yīng)檢測(cè)任務(wù),無(wú)須回到辦公計(jì)算機(jī)前對(duì)檢測(cè)任務(wù)的子項(xiàng)目進(jìn)行進(jìn)度更新,查看檢測(cè)項(xiàng)目審批信息。

(4)輔助模塊

該模塊集成了檢測(cè)試驗(yàn)室現(xiàn)場(chǎng)實(shí)時(shí)監(jiān)控供試驗(yàn)室安全負(fù)責(zé)人查看現(xiàn)場(chǎng)監(jiān)控及試驗(yàn)員使用移動(dòng)設(shè)備進(jìn)行掃碼查詢樣品信息,用戶可使用手機(jī)設(shè)備實(shí)行信息管理,需要硬件條件(監(jiān)控?cái)z像頭、移動(dòng)設(shè)備需支持?jǐn)z像頭)支持。

(5)信息通知模塊

該模塊監(jiān)控以上模塊,對(duì)后端服務(wù)器進(jìn)行輪詢,有最新通知第一時(shí)間在終端提醒用戶,實(shí)行快速響應(yīng)檢測(cè)相關(guān)工作。

3 系統(tǒng)開(kāi)發(fā)架構(gòu)及核心功能

3.1 系統(tǒng)架構(gòu)和開(kāi)發(fā)技術(shù)

移動(dòng)檢測(cè)流程管理系統(tǒng)采用了基于移動(dòng)平臺(tái)的C/S架構(gòu),主要分為基于HTML5的混合模式移動(dòng)應(yīng)用客戶端和Python3編寫(xiě)Restful架構(gòu)的Web服務(wù)端程序兩大模塊。該系統(tǒng)使用自下向上的設(shè)計(jì)過(guò)程,分為數(shù)據(jù)庫(kù)、數(shù)據(jù)訪問(wèn)層、服務(wù)層、通信層和表示層5個(gè)層級(jí),從下往上、逐步抽象,如圖3所示。

圖3 系統(tǒng)應(yīng)用架構(gòu)

(1)表示層使用漸進(jìn)式JavaScript框架Vue.js來(lái)編寫(xiě)代碼,配合調(diào)用H5+API擴(kuò)展程序功能,構(gòu)建應(yīng)用界面,結(jié)合DCloud公司的前端框架Uni APP,通過(guò)HTML5的Web開(kāi)發(fā)IDE HBuilderX 來(lái)編譯代碼,開(kāi)發(fā)出Hybrid APP,兼?zhèn)淞薟eb APP(基于Web的系統(tǒng)和應(yīng)用)、Native APP(基于Android、Ios等用原生程式編寫(xiě)的第三方應(yīng)用程序)這兩者之間的優(yōu)勢(shì)。

使用Vue.js編寫(xiě)程序的擴(kuò)展性及模塊化設(shè)計(jì)程度高,提高了前期開(kāi)發(fā)效率,降低后期維護(hù)難度。結(jié)合Uni的技術(shù)棧,將編寫(xiě)的JS,HTML,CSS3代碼打包編譯成可直接在移動(dòng)平臺(tái)上安裝運(yùn)行的高性能應(yīng)用,向后端的Restful風(fēng)格Web接口發(fā)起請(qǐng)求,對(duì)獲取的數(shù)據(jù)進(jìn)行渲染。

(2)通信層由Http協(xié)議、Socket協(xié)議,以及用于實(shí)時(shí)視頻流傳輸?shù)腞TSP協(xié)議組成。后端的Web服務(wù)端程序使用uWSGI服務(wù)器配合Nginx反向代理,用于表示層與服務(wù)器進(jìn)行Http或者Https協(xié)議的數(shù)據(jù)交互通信。

由于信息化的時(shí)代下Web后臺(tái)復(fù)用可用于不同終端,開(kāi)發(fā)者逐漸采用HTML5技術(shù)開(kāi)發(fā)跨平臺(tái)移動(dòng)產(chǎn)品,且大多基于通用的 HTTP 協(xié)議,但在實(shí)時(shí)數(shù)據(jù)推送(如APP通知欄推送)、流媒體、接入文件管理云解決方案進(jìn)行文件傳輸?shù)葢?yīng)用場(chǎng)景下,采用Socket 協(xié)議的長(zhǎng)連接才能保證實(shí)時(shí)通信的質(zhì)量。對(duì)于檢測(cè)企業(yè)各類(lèi)試驗(yàn)工作的開(kāi)展和過(guò)程結(jié)果的管理,出于安全考慮或?qū)?kù)房樣品點(diǎn)檢的考慮,部分檢驗(yàn)檢測(cè)中心對(duì)檢測(cè)現(xiàn)場(chǎng)布置攝像頭進(jìn)行安防監(jiān)控。目前比較主流的攝像頭支持使用Rtsp協(xié)議,通過(guò)開(kāi)啟Uni APP的VideoPlayer模塊配置,可開(kāi)發(fā)流媒體擴(kuò)展進(jìn)行試驗(yàn)室安防在線監(jiān)控,如圖4所示。

圖4 監(jiān)控與消息推送界面

(3)檢測(cè)檢驗(yàn)中心業(yè)務(wù)變化與日俱增,需要程序迭代周期縮短,該系統(tǒng)的后端服務(wù)技術(shù)棧選擇了開(kāi)源的、可移植性靈活(解釋型語(yǔ)言幾乎天生就是跨平臺(tái)的)、開(kāi)發(fā)效率高的Python3及Flask。服務(wù)層使用該技術(shù)棧創(chuàng)建了一套R(shí)estful的Web Service,主要提供了系統(tǒng)各大功能模塊的底層業(yè)務(wù)邏輯的實(shí)現(xiàn),與表示層進(jìn)行數(shù)據(jù)交互,并為表示層提供了三大服務(wù)模塊,分別是手機(jī)推送服務(wù)模塊,AES 128對(duì)稱(chēng)加密模塊和數(shù)據(jù)分析及處理模塊。

手機(jī)推送服務(wù)是指服務(wù)端定向?qū)⑿畔?shí)時(shí)送達(dá)手機(jī)的服務(wù),該系統(tǒng)選擇了第三方推送的Gt_push_sdk進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)前后端消息實(shí)時(shí)推送,通過(guò)利用WebSocket協(xié)議維持TCP連接。為了數(shù)據(jù)傳輸安全,該系統(tǒng)使用了高級(jí)加密標(biāo)準(zhǔn)(advanced encryption standard,AES)對(duì)稱(chēng)算法,它是一種典型的對(duì)稱(chēng)加密算法,與檢查報(bào)文是否被篡改的信息摘要算法不一樣,是一種真正的加密報(bào)文的算法。對(duì)用戶密碼以及一些重要數(shù)據(jù)信息進(jìn)行加密,作為一層安全防護(hù),此系統(tǒng)在開(kāi)發(fā)AES加密功能模塊時(shí)使用了Crypto庫(kù)。考慮到檢測(cè)檢驗(yàn)中心產(chǎn)生的檢測(cè)數(shù)據(jù)有量大、多樣、數(shù)字標(biāo)準(zhǔn)化不一致等特點(diǎn),該系統(tǒng)使用了Python3擴(kuò)展模塊Pandas,Numpy對(duì)數(shù)據(jù)進(jìn)行處理、優(yōu)化、傳輸?shù)角岸恕?/p>

(4)數(shù)據(jù)訪問(wèn)層使用了Python中成熟的ORM框架SQLAlchemy,通過(guò)將編寫(xiě)對(duì)象和數(shù)據(jù)庫(kù)關(guān)系模型建立映射關(guān)系,增強(qiáng)系統(tǒng)的數(shù)據(jù)交互能力。為了系統(tǒng)更靈活地處理數(shù)據(jù),還應(yīng)用Pymssql模塊,使系統(tǒng)能夠應(yīng)用原生Sql語(yǔ)句與數(shù)據(jù)庫(kù)交互。通過(guò)兩種技術(shù)的結(jié)合,使數(shù)據(jù)訪問(wèn)層能實(shí)現(xiàn)數(shù)據(jù)庫(kù)的大部分操作。

(5)數(shù)據(jù)庫(kù)采用了SQL Server,該數(shù)據(jù)庫(kù)具備易用性好、容量適中、應(yīng)用廣泛等優(yōu)點(diǎn)。

此系統(tǒng)通過(guò)Python3、Flask構(gòu)建流行的Restful風(fēng)格的 API接口,用于與前端(表示層)進(jìn)行 Json 格式的數(shù)據(jù)交互,通過(guò)對(duì)稱(chēng)加密技術(shù)保證系統(tǒng)數(shù)據(jù)傳輸?shù)陌踩裕ㄟ^(guò)擴(kuò)展庫(kù)實(shí)現(xiàn)消息推送及數(shù)據(jù)處理。前端使用Uni APP編譯生成運(yùn)行在移動(dòng)平臺(tái)上的APP。Web后端應(yīng)用程序部署在Nginx(為了避免訪問(wèn)量過(guò)大,減少客戶端請(qǐng)求連接的長(zhǎng)時(shí)間等待,由Nginx實(shí)現(xiàn)反向代理)+uWSGI(uWSGI實(shí)現(xiàn)了WSGI協(xié)議的一個(gè)Web服務(wù)器,用于掛載Python3程序)+Sql Server 技術(shù)搭建的服務(wù)器上,提高整個(gè)系統(tǒng)后端服務(wù)的性能。系統(tǒng)部署如圖5所示。

圖5 系統(tǒng)部署

3.2 系統(tǒng)核心功能及代碼

3.2.1 預(yù)覽檢測(cè)報(bào)告PDF文件流

移動(dòng)檢測(cè)流程管理系統(tǒng)主要是以檢測(cè)任務(wù)的工作流程為核心,各個(gè)審核節(jié)點(diǎn)通過(guò)查閱檢測(cè)報(bào)告草稿版進(jìn)行檢測(cè)任務(wù)審批。一般來(lái)說(shuō),在手機(jī)終端預(yù)覽PDF格式文件可以選用兩種方法,一種是基于瀏覽器的模塊來(lái)閱讀在線文檔,另一種是下載文件后通過(guò)第三方應(yīng)用打開(kāi),前者用戶體驗(yàn)更流暢。該系統(tǒng)使用Uni APP框架中的Web瀏覽器組件Web-view來(lái)實(shí)現(xiàn)網(wǎng)頁(yè)承載,在移動(dòng)應(yīng)用中加載本地網(wǎng)頁(yè),通過(guò)JavaScript插件Pdf.js實(shí)現(xiàn)在線預(yù)覽服務(wù)器端的文件路徑,使用內(nèi)嵌網(wǎng)頁(yè)進(jìn)行加載文件流統(tǒng)一了技術(shù)棧,維護(hù)性更好且模塊化程度高,而且代碼簡(jiǎn)潔。

預(yù)覽文件流代碼塊如下:

3.2.2 數(shù)據(jù)傳輸?shù)募用芘c解密模塊

汽車(chē)零部件檢測(cè)行業(yè)的某些數(shù)據(jù)需要保密,為了保證數(shù)據(jù)傳輸安全,此系統(tǒng)使用了對(duì)稱(chēng)加密算法對(duì)關(guān)鍵數(shù)據(jù)進(jìn)行處理,設(shè)計(jì)的思路是后端通過(guò)AES算法使用128位密鑰加密某些數(shù)據(jù)明文,將密文傳輸至移動(dòng)終端后使用相同密鑰解密為明文,需要注意的是如果前后端使用的技術(shù)棧不同,需要統(tǒng)一AES算法的模式,以及處理好密鑰補(bǔ)位。

AES對(duì)稱(chēng)加密功能核心代碼塊如下:

from Crypto.Cipher import AES

import base64

key="xxxxxxxxxxxxxxxx" # 16的倍數(shù)的密鑰

new_aes=AES.new(str.encode(key),AES.MODE_ECB) #初始化AES算法庫(kù)

def pad(length,text):

count=len(text.encode(′utf-8′))

add=length-(count % length)

enStr=text+(chr(add)* add)

return enStr

def encrypt(self,data): #加密函數(shù)

res=new_aes.encrypt(pad(data).encode("utf8"))

miwen=str(base64.b64encode(res),encoding=

"utf8")

return miwen

//前端核心代碼如下:

const crypto=require(′crypto′);

const jami=(data,key)=>{

var iv="";//初始向量

const cipher=crypto.createCipheriv(′aes-128-ecb′,key,iv);

var cipherResult=cipher.update(data,′utf8′,′base64′);

cipherResult+=cipher.final(′base64′); //返回hex編碼的字符串

return cipherResult;

}

const jemi=(encrypted,key)=>{

var iv="";//初始向量

const decipher=crypto.createDecipheriv(′aes-128-ecb′,key,iv);

var decrypted=decipher.update(encrypted,′base64′,

′utf8′);

decrypted +=decipher.final(′utf8′);

return decrypted;

}

module.exports={

jami,

jemi

}

3.2.3 檢測(cè)任務(wù)及檢測(cè)合同的信息檢索

檢測(cè)任務(wù)及檢測(cè)合同的數(shù)據(jù)量大、單表字段多,單次傳輸?shù)臄?shù)據(jù)量多少直接影響到網(wǎng)絡(luò)傳輸?shù)馁|(zhì)量。此系統(tǒng)根據(jù)出差、開(kāi)會(huì)等使用場(chǎng)景可能遇到的網(wǎng)絡(luò)環(huán)境差、移動(dòng)設(shè)備接收和渲染大量數(shù)據(jù)產(chǎn)生卡死現(xiàn)象等問(wèn)題,對(duì)數(shù)據(jù)進(jìn)行分表查詢,降低單次傳輸?shù)臄?shù)據(jù)量,并使用Web服務(wù)器后端對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)處理,并對(duì)查詢結(jié)果進(jìn)行了緩存。前端只需要通過(guò)服務(wù)器端提供的Restful API請(qǐng)求,即可獲取格式處理后的輕量級(jí)的、便于解析、傳輸?shù)腏son格式數(shù)據(jù),加以渲染界面。該系統(tǒng)通過(guò)使用Python的面向?qū)ο笏枷?,利用了ORM框架將數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)化,配合Python3的Pandas庫(kù),將結(jié)構(gòu)化的數(shù)據(jù)對(duì)象放于Pandas的表格容器中,再使用Numpy對(duì)部分需要進(jìn)行科學(xué)計(jì)算處理的數(shù)據(jù)進(jìn)行運(yùn)算,最后將篩選好的檢測(cè)任務(wù)及檢測(cè)合同的結(jié)果傳輸至移動(dòng)前端。用戶界面如圖6所示。

圖6 用戶界面

4 結(jié)論

移動(dòng)檢測(cè)流程管理系統(tǒng)是對(duì)傳統(tǒng)的PC端的試驗(yàn)室管理系統(tǒng)的技術(shù)擴(kuò)展,將檢測(cè)試驗(yàn)室的檢測(cè)業(yè)務(wù)放到移動(dòng)終端上,既可以服務(wù)試驗(yàn)室內(nèi)部檢測(cè)工作者信息更新、審批管理又可以實(shí)現(xiàn)業(yè)務(wù)人員合同評(píng)審等功能。

(1)此系統(tǒng)使用混合模式(Hybrid APP)及模塊化后端設(shè)計(jì)開(kāi)發(fā),可跨平臺(tái),降低開(kāi)發(fā)、維護(hù)成本,服務(wù)器端部署系統(tǒng)使用了Nginx負(fù)責(zé)靜態(tài)內(nèi)容,uWSGI負(fù)責(zé)處理Restful接口的技術(shù),兩者結(jié)合實(shí)現(xiàn)了更高效和負(fù)載均衡的Web服務(wù)。

(2)混合模式(Hybrid APP)的移動(dòng)應(yīng)用雖然用戶體驗(yàn)可與Native App媲美,但涉及調(diào)用設(shè)備底層的功能仍存在不少問(wèn)題,后期需要結(jié)合Uni APP的APP端原生架構(gòu)開(kāi)發(fā)插件,對(duì)應(yīng)用的交互性能和功能多樣化需進(jìn)行優(yōu)化與豐富。后端仍可以對(duì)uWSGI和Nginx兩大Web服務(wù)器進(jìn)行調(diào)試,優(yōu)化服務(wù)器端的性能與并發(fā)。

(3)檢測(cè)檢驗(yàn)業(yè)務(wù)發(fā)展與日俱進(jìn),此系統(tǒng)目前實(shí)現(xiàn)的功能仍比較簡(jiǎn)單,未來(lái)的開(kāi)發(fā)將集成更多的功能模塊,更好地利用移動(dòng)通信技術(shù)進(jìn)一步賦能試驗(yàn)室檢測(cè)業(yè)務(wù)。

猜你喜歡
試驗(yàn)室功能模塊模塊
試驗(yàn)室儀器設(shè)備管理探討
如何加強(qiáng)公路工程試驗(yàn)室管理
Module 2 Highlights of My Senior Year
Module 4 Music Born in America
試驗(yàn)室儀器設(shè)備管理
商業(yè)模式是新媒體的核心
基于ASP.NET標(biāo)準(zhǔn)的采購(gòu)管理系統(tǒng)研究
高校二手交易網(wǎng)絡(luò)平臺(tái)功能及技術(shù)框架分析與設(shè)計(jì)
必修模塊相關(guān)知識(shí)過(guò)關(guān)訓(xùn)練
会理县| 垦利县| 志丹县| 台安县| 金溪县| 黑龙江省| 黄浦区| 琼结县| 进贤县| 砚山县| 定远县| 大兴区| 广饶县| 景洪市| 沈阳市| 东至县| 兴宁市| 越西县| 浦县| 彭州市| 九寨沟县| 清原| 永宁县| 资中县| 汝州市| 大同市| 广安市| 福安市| 河北省| 仪陇县| 郎溪县| 商南县| 武穴市| 澄城县| 杭锦后旗| 黑水县| 亳州市| 常德市| 许昌县| 德庆县| 清新县|