• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于React和Express的接待工作管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    2021-08-03 05:04柳海燕鄭健
    電腦知識(shí)與技術(shù) 2021年17期

    柳海燕 鄭健

    摘要:每年來(lái)學(xué)校參觀交流的院校、企業(yè)等單位眾多,接待工作涉及接待方案確定、領(lǐng)導(dǎo)審批等多個(gè)環(huán)節(jié)。目前該類應(yīng)用開(kāi)發(fā)成本高,且功能不能完全滿足學(xué)校個(gè)性化需求。針對(duì)這些問(wèn)題,自主采用React和Express技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了IVT接待工作管理系統(tǒng)。前端頁(yè)面基于React用Material-UI和Recharts構(gòu)建,有效解決了客戶端多端訪問(wèn)問(wèn)題和刷新頁(yè)面帶來(lái)的性能問(wèn)題。后端采用輕量框架Express進(jìn)行開(kāi)發(fā),極大地提高了開(kāi)發(fā)效率。項(xiàng)目同時(shí)對(duì)接了CAS服務(wù)、企業(yè)微信和阿里云短信服務(wù),在方便用戶登錄的同時(shí),也有效避免了信息孤島問(wèn)題。

    關(guān)鍵詞:React;Recharts;Express;企業(yè)微信

    中圖分類號(hào):TP311.5? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

    文章編號(hào):1009-3044(2021)17-0010-04

    開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):

    1 背景

    React是Facebook于2013年開(kāi)源的Web框架, React將DOM抽象為虛擬DOM的特性,使我們?cè)陂_(kāi)發(fā)接待工作管理系統(tǒng)時(shí),無(wú)須擔(dān)心性能問(wèn)題可以根據(jù)需要隨時(shí)刷新整個(gè)頁(yè)面。張根[1]、秦子實(shí)[2]等用React構(gòu)建網(wǎng)站前端開(kāi)發(fā),郝駿[3]、沈超[4]等用React Native 開(kāi)發(fā)原生移動(dòng)應(yīng)用,SUBRAMANIAN V[5]為使用React構(gòu)建現(xiàn)代應(yīng)用提供了完整技術(shù)棧解決方案,從而形成對(duì)React技術(shù)的完美補(bǔ)充。本文使用Material-UI和Recharts框架完成系統(tǒng)UI顯示和統(tǒng)計(jì)圖表顯示,不僅系統(tǒng)風(fēng)格統(tǒng)一,也極大地提高了開(kāi)發(fā)效率。后端我們采用基于Node.js的輕量框架Express進(jìn)行開(kāi)發(fā),可以快速創(chuàng)建健壯、友好的API,由于全棧使用React解決方案,在提高開(kāi)發(fā)效率的同時(shí)也降低運(yùn)維成本。

    企業(yè)微信是騰訊公司推出的一款與微信有一致溝通體驗(yàn)的企業(yè)通訊與辦公工具。張蓓蕾[6]、高月宏[7]、解攀科[8]等都基于企業(yè)微信進(jìn)行了管理平臺(tái)的設(shè)計(jì)與開(kāi)發(fā)。由于目前企業(yè)微信是我校常用辦公工具之一,所以我們將基于React框架開(kāi)發(fā)的接待工作管理系統(tǒng)接入企業(yè)微信,使得內(nèi)部員工可以通過(guò)企業(yè)微信授權(quán)登錄,無(wú)須輸入用戶名、密碼,進(jìn)而簡(jiǎn)化用戶操作。為打通與原有系統(tǒng)數(shù)據(jù)的連接,我們還將本系統(tǒng)對(duì)接CAS單點(diǎn)登錄系統(tǒng),有效避免了信息孤島問(wèn)題。對(duì)于外部申請(qǐng)?jiān)L問(wèn)人員,我們通過(guò)接入阿里云短信業(yè)務(wù),使用戶通過(guò)手機(jī)號(hào)、驗(yàn)證碼進(jìn)行登錄,免去了用戶記憶賬號(hào)、 密碼的麻煩。

    2 需求分析

    2.1 功能性需求分析

    我們經(jīng)過(guò)分析整理,將系統(tǒng)角色劃分為訪問(wèn)申請(qǐng)人員、培訓(xùn)申請(qǐng)人員、審核人員、審批人員和管理員五種,所有角色人員能夠看到學(xué)校開(kāi)設(shè)的培訓(xùn)課程。

    訪問(wèn)申請(qǐng)人員的功能需求包括:訪問(wèn)申請(qǐng)的提交、修改、刪除、查詢操作。訪問(wèn)申請(qǐng)人員還能夠查看已提交申請(qǐng)的審核進(jìn)度,當(dāng)審批結(jié)束后能夠下載接待方案,訪問(wèn)結(jié)束后能夠填寫滿意度問(wèn)卷對(duì)本次接待進(jìn)行評(píng)價(jià)。

    培訓(xùn)申請(qǐng)人員的功能需求包括:培訓(xùn)申請(qǐng)的提交、修改、刪除、查詢操作。培訓(xùn)申請(qǐng)人員還能查看審核結(jié)果。

    審核人員負(fù)責(zé)訪問(wèn)申請(qǐng)的審核、培訓(xùn)申請(qǐng)的審核、培訓(xùn)課程的增加、刪除、修改、查詢。當(dāng)拒絕申請(qǐng)時(shí),需選擇拒絕理由;當(dāng)同意訪問(wèn)申請(qǐng)時(shí),應(yīng)制作并上傳接待方案,供上級(jí)領(lǐng)導(dǎo)審批;當(dāng)同意培訓(xùn)申請(qǐng)時(shí),應(yīng)及時(shí)與申請(qǐng)人員取得聯(lián)系商討培訓(xùn)計(jì)劃。

    審批人員負(fù)責(zé)接待方案審批。當(dāng)審批人員不滿意接待方案時(shí),可退回給審核人員進(jìn)行修改。當(dāng)審批人員同意接待方案時(shí),系統(tǒng)會(huì)自動(dòng)發(fā)送短信到申請(qǐng)人手機(jī),申請(qǐng)人可登錄系統(tǒng)下載接待方案,按照接待方案來(lái)訪。審批人員還可以用圖形化方式查看不同進(jìn)度的訪問(wèn)申請(qǐng)、培訓(xùn)申請(qǐng),查看完成訪問(wèn)人員的滿意度分布情況。

    系統(tǒng)管理員擁有系統(tǒng)最高權(quán)限,能夠完成系統(tǒng)用戶、培訓(xùn)課程、訪問(wèn)申請(qǐng)和培訓(xùn)申請(qǐng)的增加、刪除修改、查找等維護(hù)操作。

    2.2 非功能性需求分析

    1)易用性。在考慮用戶使用習(xí)慣的基礎(chǔ)上,我們要進(jìn)一步簡(jiǎn)化用戶操作。通過(guò)手機(jī)號(hào)、驗(yàn)證碼登錄,可以免去用戶記憶密碼的煩惱。對(duì)于內(nèi)部員工通過(guò)企業(yè)微信授權(quán)登錄,既不用單獨(dú)記憶網(wǎng)址,也無(wú)須輸入用戶名、密碼。在線審批的各個(gè)環(huán)節(jié)通過(guò)短信提醒到申請(qǐng)人,可以方便用戶及時(shí)知道下一步該如何操作。

    2)可靠性。充分考慮到應(yīng)用運(yùn)行的數(shù)據(jù)異常等情況,進(jìn)行異常處理。

    3 系統(tǒng)設(shè)計(jì)

    我們從系統(tǒng)架構(gòu)、系統(tǒng)模塊、系統(tǒng)數(shù)據(jù)庫(kù)幾個(gè)方面,對(duì)系統(tǒng)進(jìn)行了全方位的設(shè)計(jì),方便后期實(shí)施和維護(hù)。

    3.1 系統(tǒng)架構(gòu)設(shè)計(jì)

    為免去外部用戶記憶賬號(hào)、密碼的不便,我們?cè)O(shè)計(jì)使其通過(guò)阿里云短信登錄應(yīng)用服務(wù)器。為避免信息孤島的出現(xiàn),我們?cè)O(shè)計(jì)內(nèi)部員工通過(guò)阿里云短信、企業(yè)微信授權(quán)登錄或CAS服務(wù)器登錄三種方式之一登錄應(yīng)用進(jìn)行數(shù)據(jù)訪問(wèn)。

    考慮到接待工作管理系統(tǒng)涉及的CAS對(duì)接、企業(yè)微信對(duì)接、阿里云短信登錄等模塊,我們根據(jù)本校實(shí)際,設(shè)計(jì)了接待工作管理系統(tǒng)應(yīng)用服務(wù)器與數(shù)據(jù)庫(kù)服務(wù)器。系統(tǒng)相關(guān)的整體架構(gòu)示意圖如圖1所示。

    用戶通過(guò)PC、筆記本、手機(jī)、Pad等終端設(shè)備訪問(wèn)應(yīng)用系統(tǒng)。系統(tǒng)頁(yè)面采用HTML5響應(yīng)式設(shè)計(jì),用戶在多種設(shè)備上有一致的使用體驗(yàn)。

    3.2 系統(tǒng)模塊設(shè)計(jì)

    根據(jù)之前確認(rèn)的用戶需求,我們進(jìn)一步分角色繪制了系統(tǒng)模塊圖,如圖2所示。

    對(duì)于整個(gè)接待工作管理系統(tǒng)而言,參觀訪問(wèn)的接待工作是重中之重。我們對(duì)參觀訪問(wèn)模塊繪制的數(shù)據(jù)流程圖如下圖3所示。對(duì)于用戶上傳的訪問(wèn)申請(qǐng),先由審核人員根據(jù)學(xué)校實(shí)際情況做出初步篩查,如果雙方條件無(wú)法匹配以致不能接待,由審核人員給出拒絕理由并拒絕申請(qǐng),申請(qǐng)人員除可在系統(tǒng)查看通知外,也會(huì)收到相應(yīng)的短信提醒。對(duì)于可以接待的訪問(wèn)申請(qǐng),審核人員需撰寫接待方案,提交審批領(lǐng)導(dǎo)進(jìn)行方案審批。待領(lǐng)導(dǎo)審批同意后,訪問(wèn)申請(qǐng)人員可收到短信提醒,到系統(tǒng)下載接待方案后,即可按照接待方案來(lái)校訪問(wèn)。訪問(wèn)結(jié)束后,訪問(wèn)申請(qǐng)者需到系統(tǒng)完成接待滿意度調(diào)查問(wèn)卷,方可結(jié)束本次訪問(wèn)。審批人員和管理員,可在系統(tǒng)中查看訪問(wèn)申請(qǐng)、用戶滿意度的圖形化統(tǒng)計(jì)顯示結(jié)果,以便對(duì)工作更好的管理和部署。

    3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)

    根據(jù)圖2所示的系統(tǒng)模塊,我們先畫出該接待工作管理系統(tǒng)的E-R圖,根據(jù)ER模型轉(zhuǎn)換為關(guān)系數(shù)據(jù)庫(kù)的一般原則,我們?cè)O(shè)計(jì)了7張表用于存儲(chǔ)接待工作管理系統(tǒng)的數(shù)據(jù)。其中user表用來(lái)存儲(chǔ)所有用戶的信息,包括企業(yè)微信ID、手機(jī)號(hào)、驗(yàn)證碼等相關(guān)屬性,我們用字段power區(qū)分用戶的級(jí)別,并用這張表和其他六張表建立聯(lián)系。visit_apply為訪問(wèn)申請(qǐng)表,記錄了用戶填寫的各項(xiàng)訪問(wèn)申請(qǐng)記錄,包括單位名稱、來(lái)訪人數(shù)、到達(dá)時(shí)間、離開(kāi)時(shí)間、是否需要安排住宿、交流目的等內(nèi)容。visit_verify為訪問(wèn)審核表,記錄了用戶訪問(wèn)申請(qǐng)的審核情況,包括申請(qǐng)表ID、審核人、審核時(shí)間、審核意見(jiàn)、審批人、審批人意見(jiàn)、接待方案等字段。visit_satisfy為訪問(wèn)滿意度記錄表,記錄了已經(jīng)完成參觀訪問(wèn)人員對(duì)我校接待情況的滿意度評(píng)價(jià),包括申請(qǐng)表ID、滿意度評(píng)分、意見(jiàn)建議等字段。course為培訓(xùn)課程記錄表,用于展示學(xué)校已經(jīng)開(kāi)設(shè)的培訓(xùn)課程的信息,主要包括課程名稱、課程學(xué)時(shí)、任課教師、教師簡(jiǎn)介、課程簡(jiǎn)介等信息。train_apply為培訓(xùn)申請(qǐng)表,記錄了用戶填寫的各項(xiàng)培訓(xùn)需求記錄,包括申請(qǐng)單位、需培訓(xùn)人數(shù)、培訓(xùn)地點(diǎn)、培訓(xùn)方向等內(nèi)容。train_verify為培訓(xùn)審核表,記錄了對(duì)用戶培訓(xùn)申請(qǐng)的審核情況,包括申請(qǐng)表ID、審核人、審核時(shí)間、審核意見(jiàn)等字段。

    4 系統(tǒng)實(shí)現(xiàn)

    4.1 前端實(shí)現(xiàn)與關(guān)鍵技術(shù)

    本文前端采用React+Redux+Material-UI+Recharts進(jìn)行搭建。Material-UI是基于React的界面框架,還支持Node.js V6以上的服務(wù)端渲染。本系統(tǒng)前端開(kāi)發(fā)實(shí)現(xiàn)需要的關(guān)鍵技術(shù)主要有如下幾點(diǎn)。

    1)中間件Redux-thunk

    單純的Redux工作流如圖4所示,用戶在View中通過(guò)store.dispatch()發(fā)出Action,當(dāng)然它可以接受一個(gè)由Action Creator函數(shù)生成的Action作為參數(shù)。對(duì)于每一個(gè)Action對(duì)象,用type屬性來(lái)表示其名稱。Store通過(guò)純函數(shù)Reducer返回一個(gè)全新的對(duì)象State。由于View對(duì)應(yīng)的State是一個(gè)不變的對(duì)象,所以一旦State發(fā)生變化,Store允許設(shè)置監(jiān)聽(tīng)函數(shù),實(shí)現(xiàn)View的重新渲染。

    然而問(wèn)題是,Action發(fā)出后,Reducer如何在異步操作結(jié)束后自動(dòng)執(zhí)行計(jì)算出新的State。為了解決這一難題,我們采用了中間件技術(shù)redux-thunk。這樣我們只需首先編寫返回函數(shù)而不僅僅是對(duì)象的action creator。然后用redux-thunk改造store.dispatch,使其可接受函數(shù)作為參數(shù)即可。

    對(duì)于本項(xiàng)目而言,

    const store = createStore(

    rootReducer,

    applyMiddleware(thunk, async),

    );

    我們?cè)趇ndex.js中引入兩個(gè)中間件來(lái)完成所需操作。

    2)React-Redux

    本項(xiàng)目涉及頁(yè)面、模塊較多,在本文中我們采用了Redux專門封裝的React-Redux庫(kù)。這樣每一個(gè)功能頁(yè)面我們都可以拆分成UI組件與容器組件兩大類。UI組件依靠Material-UI實(shí)現(xiàn),容器組件使用Redux的API管理數(shù)據(jù)和業(yè)務(wù)邏輯。

    首先我們將store作為參數(shù)放入Provider組件,這樣頂層組件被包裹在Provider組件中,使得所有組件能夠訪問(wèn)到Redux的數(shù)據(jù)。其代碼為:

    render(

    ,

    document.getElementById('app'),

    );

    接下來(lái),我們通過(guò)React-Redux提供的connect方法,從UI組件生成容器組件。connect方法接受兩個(gè)參數(shù):mapStateToProps、mapDispatchToProps。mapStateToProps負(fù)責(zé)將state映射到UI組件的參數(shù),mapDispatchToProps負(fù)責(zé)將用戶對(duì)UI組件的操作映射成Action。由于本項(xiàng)目模塊眾多,僅以Visit為例,其綁定的核心代碼為:

    const mapStateToProps = state => ({

    visit: state.visit,

    user: state.user,

    });

    const mapDispatchToProps = dispatch => ({

    visitAction: bindActionCreators(VisitAction, dispatch),

    });

    @connect(mapStateToProps, mapDispatchToProps)。

    3)Recharts

    Recharts是阿里巴巴前端團(tuán)隊(duì)開(kāi)發(fā)的一款可視化組件庫(kù),它用React進(jìn)行設(shè)計(jì)。當(dāng)前Recharts提供的圖表有PieChart、RadarChart、SankeyChart等多種類型。

    我們通過(guò)npm或yarn安裝后,可以通過(guò)import添加所需要的組件。比如,我們想用PieChart組件來(lái)展示數(shù)據(jù),就可以通過(guò)語(yǔ)句import { PieChart, Pie, } from 'recharts'; 來(lái)引入。這里Pie是PieChart的子組件。

    在用PieChart進(jìn)行數(shù)據(jù)顯示時(shí),我們根據(jù)應(yīng)用需要,設(shè)計(jì)并實(shí)現(xiàn)了自定義標(biāo)簽進(jìn)行數(shù)據(jù)顯示,以達(dá)到個(gè)性化顯示的目的。

    我們通過(guò)Pie組件的label屬性來(lái)展示圖形上的文本標(biāo)簽,只不過(guò)這個(gè)label的值我們寫成一個(gè)函數(shù),具體代碼為:

    renderLabel = ({

    cx, cy, midAngle, innerRadius, outerRadius, percent, payload,

    }) => {

    const radius = innerRadius + (outerRadius - innerRadius) * 0.5;

    const x = cx + radius * Math.cos(-midAngle * RADIAN);

    const y = cy + radius * Math.sin(-midAngle * RADIAN);

    return (

    cx ? 'start' : 'end'} dominantBaseline="central">

    {`${payload.label}:${(percent * 100).toFixed(0)}%`}

    );

    };

    我們用這個(gè)函數(shù)來(lái)渲染自定義的文本標(biāo)簽,并將其作為Pie的label屬性,從而達(dá)到個(gè)性化圖形顯示的目的。

    4.2 后端實(shí)現(xiàn)與關(guān)鍵技術(shù)

    本項(xiàng)目后端采用Node+Express+MariaDB實(shí)現(xiàn)。由于Node.js不需要額外的HTTP服務(wù)器,因此減少了一層抽象,可以很好地提升系統(tǒng)性能。Express作為目前最穩(wěn)定最流行的開(kāi)發(fā)框架之一,除了其極簡(jiǎn)的內(nèi)核,還因其可提供緩存、路由控制、錯(cuò)誤控制器、CSRF保護(hù)等功能而備受開(kāi)發(fā)者青睞。 MariaDB是由Mysql之父Widenius開(kāi)發(fā)的Mysql分支產(chǎn)品,但它不僅僅是Mysql的替代品,它更好地提高了Mysql技術(shù),MariaDB社區(qū)發(fā)布的MariaDB Connector是非阻塞客戶端,可提供對(duì)插入流、管道傳輸和批處理的支持,還通過(guò)多節(jié)點(diǎn)配置支持故障轉(zhuǎn)移和負(fù)載平衡,不僅減少了網(wǎng)絡(luò)流量還有效避免網(wǎng)絡(luò)延遲。

    在本項(xiàng)目中,除了應(yīng)用express內(nèi)置中間件express.static進(jìn)行應(yīng)用中靜態(tài)資源托管外,根據(jù)系統(tǒng)需要,我們重點(diǎn)進(jìn)行了路由級(jí)中間件、應(yīng)用級(jí)中間件的設(shè)計(jì)與實(shí)現(xiàn)。

    1)工具庫(kù)utils設(shè)計(jì)

    我們?cè)趗tils中設(shè)計(jì)并實(shí)現(xiàn)了阿里云短信的發(fā)送、Cookies的讀寫、企業(yè)微信注冊(cè)、CAS注冊(cè)等獨(dú)立模塊內(nèi)容,以供后面路由調(diào)用。以發(fā)送阿里云短信為例,在utils中核心代碼為:

    function sendSms(phone, template, code) {

    const params = {

    PhoneNumbers: phone,

    SignName: '蘇州工業(yè)園區(qū)職業(yè)技術(shù)學(xué)院',

    TemplateCode: template,

    TemplateParam: JSON.stringify({code}),

    };

    return client.request('SendSms', params, {method: 'POST'});

    }

    其中phone參數(shù),用于接收要發(fā)送到的手機(jī)號(hào)碼,template用于接收要發(fā)送的短信內(nèi)容模板,code用于接收程序根據(jù)應(yīng)用需要生成的參數(shù)。這樣,在后面的中間件中就可以作為工具進(jìn)行調(diào)用,從而更好地實(shí)現(xiàn)代碼復(fù)用,提升開(kāi)發(fā)效率。

    2)路由級(jí)中間件設(shè)計(jì)

    我們將系統(tǒng)用到的增、刪、改、查相關(guān)函數(shù),掛載到指定路徑句柄,這不僅可以用來(lái)處理用戶發(fā)起的GET、POST請(qǐng)求,還可以為路徑定義多個(gè)路由。

    根據(jù)應(yīng)用需要,我們只需對(duì)不同的表進(jìn)行類似的操作即可。所以這里僅以訪問(wèn)課程列表為例,其路由句柄的核心代碼為:

    router.post('/api/courseList', (req, res) => {

    const {limit} = req.body;

    const sql = `select * from course ${limit ? 'limit ?' : ''}`;

    db.query(sql, [limit], (error, list) => {

    if (error) {

    } else {

    }

    });

    });

    5 系統(tǒng)測(cè)試

    為發(fā)現(xiàn)系統(tǒng)潛在問(wèn)題,我們?cè)O(shè)計(jì)了120多個(gè)測(cè)試用例,包含了正常數(shù)據(jù)和異常數(shù)據(jù)。我們分別采用筆記本、臺(tái)式機(jī)、Android手機(jī)、iOS手機(jī),對(duì)系統(tǒng)進(jìn)行了功能測(cè)試和可靠性測(cè)試。我們通過(guò)模擬在內(nèi)存使用率、CPU使用率達(dá)到80%情況下,進(jìn)行壓力測(cè)試,系統(tǒng)能夠穩(wěn)定運(yùn)行并未出現(xiàn)錯(cuò)誤。因?yàn)橛捎谑┕せ蚰承┨厥庠?,機(jī)房偶有停電發(fā)生,我們進(jìn)行了基于錯(cuò)誤的策略對(duì)系統(tǒng)進(jìn)行健壯性測(cè)試,系統(tǒng)適應(yīng)性良好。

    6 系統(tǒng)測(cè)試

    本接待工作管理系統(tǒng)在實(shí)際使用中節(jié)約了工作人員的溝通成本,提升了溝通效率,也為每年接待工作的統(tǒng)計(jì)提供方便。本文重點(diǎn)從需求分析、系統(tǒng)架構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)等多個(gè)方面,討論了其設(shè)計(jì)與實(shí)現(xiàn)。React、Express框架不僅在多端訪問(wèn)、頁(yè)面渲染、開(kāi)發(fā)效率等方面具有優(yōu)勢(shì),還可以為我們節(jié)約開(kāi)發(fā)的時(shí)間成本和經(jīng)濟(jì)成本,本文涉及的基于React和Express框架的搭建工具和使用方法,對(duì)于同類需求系統(tǒng)的開(kāi)發(fā)具有一定的借鑒意義。

    參考文獻(xiàn):

    [1] 張根,蔡永香,高靜文.基于React組件快速構(gòu)建網(wǎng)站前端[J].電腦知識(shí)與技術(shù),2019,15(15):119-121.

    [2] 秦子實(shí).基于Redux數(shù)據(jù)狀態(tài)管理的前端應(yīng)用實(shí)踐[J].電腦知識(shí)與技術(shù),2020,16(8):254-255,258.

    [3] 郝駿,鄭紫微,段歡.基于React20Native圖像隱寫的研究和實(shí)現(xiàn)[J].無(wú)線通信技術(shù),2019,28(1):36-41.

    [4] 沈超,曹婷婷,王一萌,等.基于React20Native的農(nóng)業(yè)氣象自動(dòng)化觀測(cè)系統(tǒng)國(guó)家級(jí)平臺(tái)移動(dòng)應(yīng)用APP設(shè)計(jì)[J].農(nóng)業(yè)與技術(shù),2019,39(18):132-135,138.

    [5] Subramanian V. Pro MERN Stack:Full Stack Web App Development with Mongo, Express,React,and Node[M].Berkeley:Apress,2017.

    [6] 張蓓蕾,彭驍,董君磊,等.基于企業(yè)微信的寧波市地震應(yīng)急工作助手的設(shè)計(jì)與實(shí)現(xiàn)[J].地震地磁觀測(cè)與研究,2020,41(4):251-263.

    [7] 高月宏,顧敏,夏丹丹,等.基于企業(yè)微信的掌上醫(yī)護(hù)管系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)數(shù)字醫(yī)學(xué),2020,15(10):53-55.

    [8] 解攀科,郭偉秀,許婷,等.基于企業(yè)微信的信息化需求采集管理平臺(tái)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2020,29(11):92-96.

    【通聯(lián)編輯:謝媛媛】

    久久精品人人爽人人爽视色| 尾随美女入室| 亚洲国产精品一区二区三区在线| 天天躁夜夜躁狠狠久久av| 国产精品 国内视频| 免费在线观看完整版高清| av女优亚洲男人天堂| 超碰成人久久| 国产 精品1| 中文字幕制服av| 亚洲美女搞黄在线观看| 少妇 在线观看| 欧美乱码精品一区二区三区| 9191精品国产免费久久| 王馨瑶露胸无遮挡在线观看| 国产成人av激情在线播放| 国产1区2区3区精品| 欧美精品av麻豆av| 熟女少妇亚洲综合色aaa.| 男女高潮啪啪啪动态图| 午夜久久久在线观看| 熟女少妇亚洲综合色aaa.| 激情五月婷婷亚洲| www.精华液| 国产视频首页在线观看| 免费久久久久久久精品成人欧美视频| 18禁裸乳无遮挡动漫免费视频| 大片电影免费在线观看免费| 欧美国产精品一级二级三级| 不卡av一区二区三区| 久久韩国三级中文字幕| 国产在线一区二区三区精| 19禁男女啪啪无遮挡网站| 中文欧美无线码| 国产人伦9x9x在线观看| 妹子高潮喷水视频| 19禁男女啪啪无遮挡网站| 亚洲激情五月婷婷啪啪| 精品第一国产精品| 国产日韩欧美视频二区| 免费看不卡的av| 久久久久久久久久久免费av| 午夜日韩欧美国产| 国产激情久久老熟女| 性少妇av在线| 日韩制服骚丝袜av| 久久这里只有精品19| 精品国产乱码久久久久久小说| 99精品久久久久人妻精品| 一级毛片 在线播放| 成人三级做爰电影| 久久ye,这里只有精品| 亚洲精品久久午夜乱码| 亚洲,一卡二卡三卡| 亚洲综合精品二区| 久久久久精品性色| 国产乱来视频区| 国产一级毛片在线| a级毛片黄视频| 男人操女人黄网站| 亚洲国产欧美一区二区综合| 国产精品成人在线| 亚洲av国产av综合av卡| 黄频高清免费视频| 国产一区二区三区综合在线观看| 不卡视频在线观看欧美| 欧美日韩综合久久久久久| 你懂的网址亚洲精品在线观看| 亚洲av中文av极速乱| 制服诱惑二区| 一级毛片 在线播放| 久久久久人妻精品一区果冻| 嫩草影院入口| 精品亚洲乱码少妇综合久久| 成年美女黄网站色视频大全免费| 久久久久视频综合| 少妇人妻精品综合一区二区| 欧美黄色片欧美黄色片| 亚洲av国产av综合av卡| 日本av手机在线免费观看| 久久精品久久久久久久性| 十八禁网站网址无遮挡| 色婷婷av一区二区三区视频| 五月天丁香电影| 在线观看免费视频网站a站| 成人毛片60女人毛片免费| 亚洲综合色网址| 免费日韩欧美在线观看| 国产一卡二卡三卡精品 | 一区在线观看完整版| 国产成人av激情在线播放| 如何舔出高潮| 色网站视频免费| 国产97色在线日韩免费| 狂野欧美激情性bbbbbb| 十八禁网站网址无遮挡| e午夜精品久久久久久久| 欧美日韩国产mv在线观看视频| 精品亚洲成a人片在线观看| 国产精品一区二区在线观看99| 极品人妻少妇av视频| 亚洲国产最新在线播放| 精品人妻在线不人妻| a级毛片在线看网站| 制服人妻中文乱码| 亚洲国产av影院在线观看| 在线观看免费高清a一片| 免费黄网站久久成人精品| 叶爱在线成人免费视频播放| 免费av中文字幕在线| 久久久久国产精品人妻一区二区| 亚洲国产精品999| 日韩av在线免费看完整版不卡| 欧美另类一区| 国产精品久久久久久久久免| 黑丝袜美女国产一区| 亚洲精品乱久久久久久| 日韩 亚洲 欧美在线| 亚洲欧美成人精品一区二区| 国产精品无大码| 久久ye,这里只有精品| 热re99久久精品国产66热6| 欧美日本中文国产一区发布| 成年女人毛片免费观看观看9 | 日韩 亚洲 欧美在线| 尾随美女入室| 国产97色在线日韩免费| 韩国高清视频一区二区三区| 99精国产麻豆久久婷婷| 亚洲av电影在线观看一区二区三区| 超碰97精品在线观看| 美女高潮到喷水免费观看| 日本vs欧美在线观看视频| 久久久久网色| 亚洲第一青青草原| 99久久精品国产亚洲精品| 美女国产高潮福利片在线看| www.av在线官网国产| 菩萨蛮人人尽说江南好唐韦庄| 又黄又粗又硬又大视频| 宅男免费午夜| 桃花免费在线播放| 久久久久久免费高清国产稀缺| 伦理电影大哥的女人| 一本—道久久a久久精品蜜桃钙片| 久久久久网色| 性高湖久久久久久久久免费观看| 亚洲综合色网址| 国产精品国产三级国产专区5o| 青春草视频在线免费观看| 欧美日韩亚洲综合一区二区三区_| 汤姆久久久久久久影院中文字幕| 色吧在线观看| 一区二区三区四区激情视频| 国产精品麻豆人妻色哟哟久久| 满18在线观看网站| 男女国产视频网站| 精品亚洲乱码少妇综合久久| 国产精品成人在线| 超碰成人久久| 亚洲国产日韩一区二区| 精品一区二区免费观看| 国产精品国产三级国产专区5o| 国产免费现黄频在线看| 午夜久久久在线观看| 另类精品久久| 国产福利在线免费观看视频| 丁香六月欧美| 欧美精品高潮呻吟av久久| 婷婷色麻豆天堂久久| 最近中文字幕高清免费大全6| 亚洲国产精品国产精品| 母亲3免费完整高清在线观看| 欧美日韩一级在线毛片| 午夜激情久久久久久久| 国产99久久九九免费精品| 丝袜脚勾引网站| 悠悠久久av| 国产日韩欧美在线精品| 人成视频在线观看免费观看| 久久国产亚洲av麻豆专区| av在线老鸭窝| 国产精品国产三级专区第一集| 日本av手机在线免费观看| 免费黄频网站在线观看国产| 国产一区二区三区av在线| 人妻人人澡人人爽人人| 不卡视频在线观看欧美| 成人国语在线视频| 日韩一区二区三区影片| 男女免费视频国产| 男男h啪啪无遮挡| 男人添女人高潮全过程视频| 国产精品无大码| 婷婷色综合www| 亚洲视频免费观看视频| 国产精品人妻久久久影院| 日韩一区二区三区影片| 亚洲七黄色美女视频| 丰满迷人的少妇在线观看| 老熟女久久久| 超色免费av| 久久韩国三级中文字幕| 久久av网站| 99热网站在线观看| 亚洲国产欧美日韩在线播放| 男的添女的下面高潮视频| 精品少妇久久久久久888优播| 丁香六月天网| 欧美人与性动交α欧美精品济南到| 热99国产精品久久久久久7| 亚洲成人国产一区在线观看 | 国产av国产精品国产| 午夜福利视频在线观看免费| 国产一区二区三区av在线| 人妻人人澡人人爽人人| 国产在线免费精品| 亚洲精品国产色婷婷电影| 高清在线视频一区二区三区| 午夜av观看不卡| 亚洲自偷自拍图片 自拍| 欧美老熟妇乱子伦牲交| 又粗又硬又长又爽又黄的视频| 国产精品久久久久久精品古装| 免费高清在线观看日韩| 日韩成人av中文字幕在线观看| 十八禁高潮呻吟视频| 欧美在线一区亚洲| 一级毛片我不卡| 免费在线观看完整版高清| 爱豆传媒免费全集在线观看| 熟妇人妻不卡中文字幕| 国产精品偷伦视频观看了| 亚洲四区av| 亚洲国产日韩一区二区| 国产一区二区 视频在线| 91成人精品电影| 午夜av观看不卡| 亚洲一区中文字幕在线| 一级毛片黄色毛片免费观看视频| 久久国产亚洲av麻豆专区| 少妇被粗大的猛进出69影院| 午夜激情久久久久久久| 久久久国产欧美日韩av| 欧美日韩一级在线毛片| 亚洲精品第二区| 成人亚洲欧美一区二区av| 制服人妻中文乱码| 久久婷婷青草| 在线观看三级黄色| 亚洲少妇的诱惑av| 精品国产乱码久久久久久小说| 狂野欧美激情性bbbbbb| 国产成人精品久久二区二区91 | 日韩不卡一区二区三区视频在线| 97精品久久久久久久久久精品| 夫妻性生交免费视频一级片| 制服人妻中文乱码| 久久精品aⅴ一区二区三区四区| 午夜老司机福利片| 中文字幕亚洲精品专区| 亚洲激情五月婷婷啪啪| 9热在线视频观看99| 午夜福利免费观看在线| 黄色怎么调成土黄色| 国产淫语在线视频| 中国三级夫妇交换| 97在线人人人人妻| 午夜老司机福利片| 18禁观看日本| 最黄视频免费看| 国产精品久久久久久精品电影小说| 人人妻人人爽人人添夜夜欢视频| 欧美另类一区| 一区福利在线观看| 在线观看三级黄色| 免费看av在线观看网站| 久久精品aⅴ一区二区三区四区| 久久免费观看电影| 国精品久久久久久国模美| 热99久久久久精品小说推荐| 亚洲精品国产一区二区精华液| 韩国精品一区二区三区| 青草久久国产| 亚洲三区欧美一区| 日韩人妻精品一区2区三区| 午夜91福利影院| 国产精品二区激情视频| 丰满乱子伦码专区| 一区福利在线观看| 日韩av免费高清视频| 国产在线一区二区三区精| 亚洲天堂av无毛| 国产亚洲av高清不卡| 天堂中文最新版在线下载| 日日爽夜夜爽网站| 一本一本久久a久久精品综合妖精| 啦啦啦在线观看免费高清www| 熟妇人妻不卡中文字幕| 99热国产这里只有精品6| 国产乱来视频区| 欧美精品人与动牲交sv欧美| 在现免费观看毛片| av.在线天堂| 99久久综合免费| 欧美日本中文国产一区发布| 校园人妻丝袜中文字幕| 久久精品国产亚洲av涩爱| 国产精品 欧美亚洲| 国产又爽黄色视频| 中文精品一卡2卡3卡4更新| 亚洲av成人不卡在线观看播放网 | 母亲3免费完整高清在线观看| 无限看片的www在线观看| 黄色一级大片看看| 91老司机精品| 国产一卡二卡三卡精品 | 97在线人人人人妻| 久久这里只有精品19| 国产精品蜜桃在线观看| 午夜av观看不卡| 麻豆精品久久久久久蜜桃| 日韩人妻精品一区2区三区| 老司机影院成人| 最近中文字幕2019免费版| 啦啦啦中文免费视频观看日本| 亚洲国产精品999| www.熟女人妻精品国产| 80岁老熟妇乱子伦牲交| 激情五月婷婷亚洲| 国产一卡二卡三卡精品 | 国产精品麻豆人妻色哟哟久久| 日本wwww免费看| 飞空精品影院首页| 哪个播放器可以免费观看大片| 久久精品久久久久久久性| 国产黄色免费在线视频| 麻豆精品久久久久久蜜桃| 麻豆av在线久日| 97人妻天天添夜夜摸| 国产女主播在线喷水免费视频网站| 91精品伊人久久大香线蕉| 搡老岳熟女国产| 亚洲精品视频女| 国产高清国产精品国产三级| 男人爽女人下面视频在线观看| 久热这里只有精品99| 这个男人来自地球电影免费观看 | 国产探花极品一区二区| 成人国语在线视频| 五月天丁香电影| 老汉色av国产亚洲站长工具| 精品一区二区免费观看| 老司机影院成人| 日韩,欧美,国产一区二区三区| 日韩大片免费观看网站| 国产亚洲av高清不卡| 成人亚洲精品一区在线观看| 精品午夜福利在线看| 婷婷成人精品国产| 人体艺术视频欧美日本| 啦啦啦在线观看免费高清www| 久久精品国产a三级三级三级| 别揉我奶头~嗯~啊~动态视频 | 下体分泌物呈黄色| 亚洲欧美精品自产自拍| 中文字幕av电影在线播放| 精品人妻在线不人妻| 男女边吃奶边做爰视频| 精品亚洲成a人片在线观看| 超色免费av| 秋霞在线观看毛片| 香蕉国产在线看| 999精品在线视频| 久久性视频一级片| 久久久久久久大尺度免费视频| 国产精品一国产av| 久久久久久人妻| 最黄视频免费看| 18禁观看日本| 一级毛片 在线播放| 午夜福利视频在线观看免费| 欧美日韩亚洲国产一区二区在线观看 | 狂野欧美激情性xxxx| 国产精品麻豆人妻色哟哟久久| 国产一区亚洲一区在线观看| 欧美97在线视频| 2018国产大陆天天弄谢| 久热这里只有精品99| 精品一区在线观看国产| 黄片小视频在线播放| 成人18禁高潮啪啪吃奶动态图| kizo精华| 黄色怎么调成土黄色| 啦啦啦 在线观看视频| 91精品国产国语对白视频| 美女高潮到喷水免费观看| 热re99久久国产66热| 天天添夜夜摸| 免费在线观看视频国产中文字幕亚洲 | 天天躁夜夜躁狠狠躁躁| 一级毛片 在线播放| 搡老岳熟女国产| 日韩av免费高清视频| 国产av一区二区精品久久| 男女高潮啪啪啪动态图| 99re6热这里在线精品视频| 国产99久久九九免费精品| 五月开心婷婷网| 久久韩国三级中文字幕| 一级毛片黄色毛片免费观看视频| 国产精品久久久久久精品电影小说| 日韩人妻精品一区2区三区| 麻豆乱淫一区二区| 哪个播放器可以免费观看大片| 男人舔女人的私密视频| 亚洲精品乱久久久久久| 午夜福利一区二区在线看| 亚洲国产精品一区三区| 女人久久www免费人成看片| 丰满少妇做爰视频| 国产精品久久久久久人妻精品电影 | 国产有黄有色有爽视频| 久久久久精品性色| 青草久久国产| 99久久人妻综合| 各种免费的搞黄视频| 日韩视频在线欧美| 亚洲av电影在线观看一区二区三区| 亚洲在久久综合| 啦啦啦在线免费观看视频4| 日韩熟女老妇一区二区性免费视频| 天美传媒精品一区二区| 午夜福利在线免费观看网站| 欧美 亚洲 国产 日韩一| 国产有黄有色有爽视频| 九色亚洲精品在线播放| 亚洲色图 男人天堂 中文字幕| 天天躁夜夜躁狠狠躁躁| 少妇的丰满在线观看| 久久狼人影院| 青春草亚洲视频在线观看| 亚洲久久久国产精品| 日日摸夜夜添夜夜爱| 亚洲av电影在线进入| 咕卡用的链子| 一级片免费观看大全| 99热全是精品| 视频区图区小说| 亚洲国产毛片av蜜桃av| 久久ye,这里只有精品| 国产一区二区三区综合在线观看| 人妻人人澡人人爽人人| 日韩av不卡免费在线播放| 一区二区三区激情视频| 国产一区二区在线观看av| 久久国产精品男人的天堂亚洲| 国产视频首页在线观看| 自线自在国产av| 国产极品粉嫩免费观看在线| 在线观看人妻少妇| 男女边吃奶边做爰视频| 在线精品无人区一区二区三| 王馨瑶露胸无遮挡在线观看| 亚洲av欧美aⅴ国产| 性色av一级| bbb黄色大片| 搡老岳熟女国产| 成人影院久久| 五月开心婷婷网| 亚洲四区av| 十八禁人妻一区二区| 欧美日韩亚洲高清精品| av又黄又爽大尺度在线免费看| av视频免费观看在线观看| 色视频在线一区二区三区| 夫妻性生交免费视频一级片| 水蜜桃什么品种好| 精品国产乱码久久久久久小说| 午夜福利视频在线观看免费| 国产视频首页在线观看| 久久精品人人爽人人爽视色| 曰老女人黄片| 亚洲一卡2卡3卡4卡5卡精品中文| 在线观看一区二区三区激情| 中文字幕色久视频| 国产一卡二卡三卡精品 | 亚洲国产精品999| 精品少妇内射三级| 电影成人av| 国产一级毛片在线| 国产精品人妻久久久影院| 欧美老熟妇乱子伦牲交| 亚洲欧美一区二区三区久久| 1024视频免费在线观看| 久久人人97超碰香蕉20202| 国产一区亚洲一区在线观看| 深夜精品福利| 咕卡用的链子| 国产精品国产三级专区第一集| www.自偷自拍.com| 欧美国产精品一级二级三级| 女性生殖器流出的白浆| 国产 精品1| 最黄视频免费看| 国产免费又黄又爽又色| 久久综合国产亚洲精品| 国产男女超爽视频在线观看| 亚洲欧美一区二区三区国产| 婷婷色综合大香蕉| 国产成人系列免费观看| 亚洲国产精品一区三区| 在线天堂最新版资源| 亚洲欧美激情在线| 女人精品久久久久毛片| 免费在线观看完整版高清| 天天躁日日躁夜夜躁夜夜| 天天躁夜夜躁狠狠久久av| 狠狠精品人妻久久久久久综合| 大片电影免费在线观看免费| 精品少妇黑人巨大在线播放| 欧美国产精品va在线观看不卡| 国产伦人伦偷精品视频| 99久国产av精品国产电影| 天堂中文最新版在线下载| 天天躁日日躁夜夜躁夜夜| 大陆偷拍与自拍| 欧美乱码精品一区二区三区| 大陆偷拍与自拍| 丰满少妇做爰视频| 天天添夜夜摸| 久久精品国产综合久久久| 免费高清在线观看日韩| 99久久综合免费| 午夜福利免费观看在线| 男男h啪啪无遮挡| 90打野战视频偷拍视频| 啦啦啦中文免费视频观看日本| 99re6热这里在线精品视频| av网站在线播放免费| 男女无遮挡免费网站观看| 最新在线观看一区二区三区 | 秋霞在线观看毛片| 欧美亚洲 丝袜 人妻 在线| 午夜激情av网站| 国产精品久久久久久人妻精品电影 | 日韩视频在线欧美| 国产av国产精品国产| 欧美精品一区二区大全| 国产精品蜜桃在线观看| 亚洲欧洲日产国产| 亚洲人成77777在线视频| 欧美日韩av久久| 亚洲av成人精品一二三区| 秋霞伦理黄片| 成人18禁高潮啪啪吃奶动态图| 91精品三级在线观看| av网站在线播放免费| 在线观看三级黄色| 丁香六月天网| 成人国产麻豆网| 老司机亚洲免费影院| www.av在线官网国产| 国产人伦9x9x在线观看| kizo精华| 久久青草综合色| 欧美日本中文国产一区发布| av国产久精品久网站免费入址| 1024视频免费在线观看| 91成人精品电影| 黄色怎么调成土黄色| 精品福利永久在线观看| 99久久人妻综合| 两个人看的免费小视频| 亚洲av日韩在线播放| 999久久久国产精品视频| 男女国产视频网站| 久久国产精品大桥未久av| 久久精品久久久久久久性| 狂野欧美激情性xxxx| 看免费成人av毛片| 久热爱精品视频在线9| 国产成人免费观看mmmm| 亚洲在久久综合| a 毛片基地| 免费不卡黄色视频| 人妻一区二区av| a级毛片黄视频| 精品一区二区三区四区五区乱码 | 日韩精品免费视频一区二区三区| 久久 成人 亚洲| 亚洲激情五月婷婷啪啪| 无遮挡黄片免费观看| 啦啦啦在线免费观看视频4| 亚洲精品日韩在线中文字幕| 精品亚洲成a人片在线观看| 校园人妻丝袜中文字幕| a级毛片在线看网站| 亚洲成人免费av在线播放| 日本爱情动作片www.在线观看| 亚洲一码二码三码区别大吗| 亚洲av在线观看美女高潮| 亚洲国产精品一区三区| 色94色欧美一区二区| 97人妻天天添夜夜摸| 中文欧美无线码| 秋霞伦理黄片| 黄色怎么调成土黄色| 国产伦人伦偷精品视频| 久久久久久人妻| 黄片播放在线免费| 国产成人精品无人区| 十八禁高潮呻吟视频| av国产精品久久久久影院| 久久久亚洲精品成人影院|