• 
    

    
    

      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)編輯:謝媛媛】

      磐石市| 土默特左旗| 锡林浩特市| 海兴县| 紫阳县| 新闻| 宿州市| 顺义区| 邓州市| 靖宇县| 金堂县| 安新县| 阜康市| 长治市| 庆云县| 蒙城县| 固始县| 汨罗市| 密云县| 内丘县| 临武县| 尉氏县| 峡江县| 安西县| 陕西省| 茶陵县| 左云县| 衡阳县| 陆丰市| 昆明市| 德庆县| 澄城县| 蓬溪县| 绵阳市| 苍山县| 巨鹿县| 佛冈县| 龙州县| 鄄城县| 潼关县| 邵东县|