周全興 李秋賢
摘? 要:疫情常態(tài)防控下,高校日常管理工作面臨晨午晚體溫檢測、進出校門審核管理等頻繁的重復(fù)性工作。微信小程序有使用便捷、無須下載客戶端和開發(fā)成本低等優(yōu)點,被廣泛推薦使用。開發(fā)基于微信小程序的疫情健康監(jiān)測系統(tǒng),對解決疫情常態(tài)防控下高校日常管理中頻繁的重復(fù)性事務(wù)具有較大幫助,在提高工作效率的同時,加強高校疫情防控工作。
關(guān)鍵詞:新冠肺炎;疫情防控;健康監(jiān)測;程序設(shè)計;微信小程序
中圖分類號:TP311.56? ? ? ?文獻標(biāo)識碼:A 文章編號:2096-4706(2020)22-0110-03
Design and Implementation of Epidemic Health Monitoring System Based on WeChat Applet
ZHOU Quanxing,LI Qiuxian
(Kaili University,Kaili? 556011,China)
Abstract:Under the normal situation of epidemic prevention and control,the daily management of colleges and universities is faced with frequent repetitive work,such as body temperature detection in the morning,afternoon and evening,in and out of school audit management. WeChat applet has the advantages of easy to use,no need to download the client and low development cost,so it is widely recommended for use. The development of the epidemic health monitoring system based on WeChat applet is of great help to solve the frequent repetitive affairs in the daily management of colleges and universities under the normal epidemic prevention and control,and strengthen the epidemic prevention and control work in colleges and universities while improving the work efficiency.
Keywords:COVID-19;epidemic prevention and control;health monitoring;program design;WeChat applet
0? 引? 言
疫情暴發(fā)以來,全國各地區(qū)采取各種措施進行隔離,使得疫情得到有效控制。隨著疫情防控形勢的逐步好轉(zhuǎn),全國各省市開始復(fù)工復(fù)產(chǎn)、學(xué)生分批次返校復(fù)學(xué)。學(xué)校作為學(xué)生學(xué)習(xí)和生活的場所,人群集中,傳染速度快,尤其是高等學(xué)校,具有生源分布廣、跨區(qū)域人數(shù)多、人員密集程度高等特點,為學(xué)校復(fù)學(xué)、校園疫情防控乃至整個社會疫情防控工作帶來更大的挑戰(zhàn)和困難[1]。疫情防控工作由應(yīng)急式向常態(tài)化轉(zhuǎn)變,高校的新冠肺炎疫情防控日常工作變得頻繁、復(fù)雜,其中很多是重復(fù)性的工作,給工作者和管理者帶來了一定的困難。通過信息技術(shù)研發(fā)相應(yīng)的系統(tǒng)能夠有效解決上述問題。
微信具有龐大的用戶量。微信小程序依附于微信存在,它提供了完整的微信小程序端和后臺服務(wù)器端的API應(yīng)用[2],具有開發(fā)成本低、開發(fā)維護快捷、使用便捷等特點。用戶不需要下載安裝軟件,可直接通過掃一掃或者搜索打開應(yīng)用,用完退出頁面即可,需要再次訪問可以通過搜索或“添加到我的小程序”的方式實現(xiàn)便捷使用[3]。基于微信小程序開發(fā)疫情健康監(jiān)測系統(tǒng),完全滿足用戶使用需求和系統(tǒng)開發(fā)設(shè)計。為提高常態(tài)化疫情防控下,我校日常管理和疫情防控工作效率,避免采用在線表格填寫晨午晚體溫、QQ群作業(yè)提交健康碼和人工處理進出校門審批等情況,促進我校疫情防控精準(zhǔn)施策。
1? 總體設(shè)計
系統(tǒng)分為微信小程序端和后臺管理系統(tǒng)兩部分,微信小程序端主要實現(xiàn)用戶的登錄、身份驗證、體溫數(shù)據(jù)提交、查詢和進出校門申請等功能;后臺管理系統(tǒng)主要實現(xiàn)健康監(jiān)測數(shù)據(jù)的匯總導(dǎo)出、用戶數(shù)據(jù)添加導(dǎo)入、角色管理、部門院系管理、疫情監(jiān)測預(yù)警等功能。
1.1? 開發(fā)工具與語言
微信小程序提供的標(biāo)簽語言WXML與HTML5非常相
似,腳本語言使用當(dāng)下流行的Vue框架。開發(fā)環(huán)境是Windows 10,程序前端開發(fā)使用微信開發(fā)者工具Stable,后臺開發(fā)語言是Java,其中選擇輕量級的Spring Boot快速開發(fā)平臺renren-fast,它能快速開發(fā)項目并交付完善的XSS防范及腳本過濾,杜絕XSS攻擊,實現(xiàn)前后端分離,通過token進行數(shù)據(jù)交互[4],數(shù)據(jù)庫選擇的是MySQL,可視化工具使用Navicat for MySQL。
1.2? 功能模塊設(shè)計
系統(tǒng)由微信小程序端和后臺管理系統(tǒng)組成,如圖1所示。微信小程序端設(shè)計4個主要頁面:首頁、健康管理、進出管理、我的。后臺管理系統(tǒng)主要是對健康監(jiān)測數(shù)據(jù)的收集、統(tǒng)計、分析和使用。系統(tǒng)中設(shè)置有系統(tǒng)管理員、校級管理員、分院級管理員和普通用戶4類權(quán)限用戶,其中普通用戶包括教職員工和學(xué)生,不同類型的用戶具有不同的權(quán)限,用戶歸屬于不同的院系部門、甚至班級。根據(jù)用戶提交的健康監(jiān)測數(shù)據(jù)、異常情況數(shù)據(jù)、定位運動數(shù)據(jù)等,進行大數(shù)據(jù)分析,形成大數(shù)據(jù)可視化的疫情健康監(jiān)測大屏,可應(yīng)用于批量學(xué)生返校入學(xué)、疫情情況排查隔離等。
2? 系統(tǒng)詳細設(shè)計與實現(xiàn)
2.1? 微信小程序端
健康數(shù)據(jù)提交和管理員查詢記錄如圖2、圖3所示。
小程序頁面中,禁止用戶注冊,所有用戶均由后臺管理添加完成。用戶輸入學(xué)(工)號、密碼和驗證碼,勾選獲取用戶定位信息和同意遵守相關(guān)疫情防控規(guī)章制度,驗證其OpenID方可登錄。登錄用戶進行健康監(jiān)測數(shù)據(jù)申報、異常情況申報、進出校門管理、近14天的數(shù)據(jù)查詢及應(yīng)用、個人信息管理,個人信息管理包括微信號綁定、手機號綁定等,確保本人使用。
2.2? 后臺管理系統(tǒng)
后臺管理系統(tǒng)中,只允許管理員登錄。在用戶管理中,可以通過Excel表格批量導(dǎo)入用戶數(shù)據(jù)。健康監(jiān)測數(shù)據(jù)管理主要有數(shù)據(jù)導(dǎo)出、用戶運動軌跡生成、異常健康數(shù)據(jù)及對應(yīng)用戶生成,根據(jù)生成的異常健康數(shù)據(jù)和用戶管理,發(fā)送提示消息給用戶進行相應(yīng)的處理。進出校門審批管理主要是對學(xué)生的申請進行審批,其中可以查詢其申請的記錄、出校門后的運動軌跡、返校時間等,根據(jù)歷史記錄從而給出審批及理由。對在規(guī)定時間范圍內(nèi)未提交健康監(jiān)測數(shù)據(jù)的用戶進行提醒,發(fā)布防疫通知等。用戶在登錄時必須勾選自動獲取定位地址,實現(xiàn)對用戶定位信息的把控,在進行進出校門管理和疫情發(fā)生時,及時排查隔離。在學(xué)生返校時,通過大數(shù)據(jù)可視化,顯示其運動軌跡,大數(shù)據(jù)分析其是否存在風(fēng)險隱患。
2.3? 大數(shù)據(jù)可視化
大數(shù)據(jù)可視化設(shè)計為后臺管理系統(tǒng)中的一個功能模塊,數(shù)據(jù)來源主要是用戶每日提交的健康監(jiān)測數(shù)據(jù)、定位數(shù)據(jù)信息和異常情況數(shù)據(jù),通過導(dǎo)入ECharts實現(xiàn)大數(shù)據(jù)可視化呈現(xiàn)及大屏展示。ECharts是百度的一個開源項目,基于Canvas的、純JavaScript的圖表庫,底層依賴矢量圖形庫ZRender,提供直觀、生動、可交互、可個性化定制的數(shù)據(jù)可視化圖表,賦予了用戶對數(shù)據(jù)進行挖掘、整合的能力[5];使用ECharts的主題vintage框架[6],實現(xiàn)大數(shù)據(jù)可視化的大屏呈現(xiàn)。
嵌入ECharts的代碼為:
import * as echarts from 'echarts/lib/echarts';? // 引入 echarts 主模塊
import 'echarts/lib/chart/line';? // 引入折線圖
// 引入提示框組件、標(biāo)題組件、工具箱組件
import 'echarts/lib/component/tooltip';
import 'echarts/lib/component/title';
import 'echarts/lib/component/toolbox';
// 初始化 echarts 實例并繪制圖表。
echarts.init(document.getElementById('main')).setOption({
title: {text: 'Line Chart'},
tooltip: {},
toolbox: {
feature: {
dataView: {},
saveAsImage: {? pixelRatio: 2? },
restore: {}? ?}
},
xAxis: {},
yAxis: {},
series: [{
type: 'line',
smooth: true,
data: [[12, 5], [24, 20], [36, 36], [48, 10], [60, 10], [72, 20]]
}]
});
可視化大屏vintage核心代碼為:
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['exports', 'echarts'], factory);
} else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
// CommonJS
factory(exports, require('echarts'));
} else {
// Browser globals
factory({}, root.echarts);
}
}(this, function (exports, echarts) {
var log = function (msg) {
if (typeof console !== 'undefined') {
console && console.error && console.error(msg);? ?}
};
if (!echarts) {? log('ECharts is not Loaded'); return;? }
var colorPalette = ['#d87c7b','#919e8c', '#d7ac72',? '#6e6064','#61b0b8','#eeb18e', '#787474', '#cc6e63', '#824e68', '#6b565b'];
echarts.registerTheme('vintage', {
color: colorPalette,
backgroundColor: '#fef8ef',
graph: { color: colorPalette }
});
}));
2.4? 部分主要數(shù)據(jù)庫表設(shè)計
微信小程序通過相應(yīng)的wx.request請求頁面與MySQL數(shù)據(jù)庫進行數(shù)據(jù)交互。系統(tǒng)中的信息表有:用戶基本信息表epi_user_base_info、健康記錄數(shù)據(jù)表epi_health_info、部門機構(gòu)表epi_dept、用戶部門表epi_user_dept、運動記錄表epi_motion_info等15個基本數(shù)據(jù)庫表。數(shù)據(jù)庫中表的詳細設(shè)計結(jié)構(gòu)舉例如表1、表2、表3所示。
字段 類型 名稱 備注
id bigint 用戶id 主鍵
user_id bigint 用戶 外鍵
no varchar 學(xué)工號 學(xué)生學(xué)號,教師工號,其他
name varchar 真實姓名 —
id_card varchar 身份證號 —
type tinyint 類型 0:學(xué)生,1:教師,2:其他
sex tinyint 性別 0:女,1:男
remark varchar 備注 —
4? 結(jié)? 論
本文介紹了基于微信小程序的疫情健康監(jiān)測系統(tǒng)的設(shè)計思路與實現(xiàn)過程,對需要開發(fā)此類系統(tǒng)的讀者具有一定參考價值,系統(tǒng)的應(yīng)用簡化了部分工作流程和工作事務(wù),提高了工作效率,提出的通過數(shù)據(jù)可視化大屏的方式,對高校疫情防控的日常數(shù)據(jù)、運動軌跡進行監(jiān)控和分析,提高了常態(tài)化疫情防控工作效果和質(zhì)量,對高校日常管理工作的提升具有較大幫助,以信息技術(shù)、大數(shù)據(jù)助力高校疫情防控工作。
參考文獻:
[1] 徐新艷,王娟娟,岳衛(wèi)華,等.信息化助力高校疫情防控精準(zhǔn)施策 [J].信息技術(shù)與信息化,2020(6):28-34.
[2] 孫騰雷,畢昕宇,孫倩倩,等.基于微信小程序的疫情防控平臺的設(shè)計與實現(xiàn) [J].電子測試,2020(13):77-79.
[3] 拉丁風(fēng)情Salsabachata.1月9日零點開始,微信小程序正式上線 [EB/OL].(2017-01-09).https://www.sohu.com/a/ 123853393_571244.
[4] 人人社區(qū).renren-fastv3.0 [EB/OL].(2019-03-04).https://www.renren.io/guide.
[5] ECharts.特性 [EB/OL].[2020-10-10].https://echarts.apache.org/zh/feature.html.
[6] 吳莉莉,王健慶,杜宇翔,等.基于百度AI的校園服務(wù)小程序的設(shè)計與實現(xiàn) [J].現(xiàn)代信息科技,2019,3(18):8-10.
作者簡介:周全興(1986-),男,漢族,貴州遵義人,講師,學(xué)士學(xué)位,研究方向:計算機應(yīng)用、網(wǎng)絡(luò)信息安全、區(qū)塊鏈技術(shù);李秋賢(1992-),女,漢族,河南焦作人,中級職稱,碩士,研究方向:密碼學(xué)、博弈論。