羅 文,劉 星,蘭全祥
(攀枝花學(xué)院 數(shù)學(xué)與計算機學(xué)院,四川 攀枝花 617000)
目前,各大高校都在積極鼓勵并推行導(dǎo)師制、團隊制的學(xué)生培養(yǎng)模式,由此產(chǎn)生了很多的創(chuàng)新團隊[1].這些團隊一般都會定期舉辦各種交流會和活動,并逐步形成眾多的學(xué)習(xí)成果或科研成果.為了加深團隊成員之間的了解,增強團隊榮譽感和成果意識,提高團隊凝聚力和人才培養(yǎng)成效,一個用于成員管理、活動管理、成果管理、技術(shù)交流等一體的在線管理系統(tǒng)顯得尤為重要,特別是對于一些技術(shù)型創(chuàng)新團隊,技術(shù)的溝通和交流更顯重要.
創(chuàng)新團隊管理系統(tǒng)以Node為開發(fā)平臺,以BootStrap為前端框架,以Vue和Koa為核心開發(fā)框架,以MySQL作為系統(tǒng)數(shù)據(jù)庫.
Node.js使用了事件驅(qū)動、非阻塞I/O模型等技術(shù),非常適合在分布式設(shè)備上運行數(shù)據(jù)密集型的實時應(yīng)用,并且V8引擎執(zhí)行JavaScript的速度非???,性能也非常好[2].BootStrap能夠自動根據(jù)可視窗口的大小調(diào)整頁面布局,從而帶給用戶更好的視覺體驗[3].Vue.js是一套構(gòu)建用戶界面的漸進式MVVM框架[4],用自底向上增量開發(fā)的設(shè)計,使其非常容易與其他庫或已有項目整合.Koa可以通過組合不同的generator,免除重復(fù)繁瑣的回調(diào)函數(shù)嵌套,并極大地提升常用錯誤處理效率.
創(chuàng)新團隊管理系統(tǒng)主要是為了團隊宣傳、技術(shù)交流、成果管理等,其面向的主要用戶群體為訪客、團隊成員以及系統(tǒng)管理員.經(jīng)過對創(chuàng)新團隊運行模式以及需求進行調(diào)研和分析,將系統(tǒng)功能分為前端展示模塊、個人管理模塊以及后臺管理模塊.
2.1.1 前端展示模塊
前端展示要求具有響應(yīng)式布局功能,能適應(yīng)PC端、移動端等不同分辨率的顯示器.另外,前端展示模塊可以為游客提供登錄注冊、查看動態(tài)以及技術(shù)文章、查看團隊成員以及團隊成果等功能.
2.1.2 個人管理模塊
個人管理模塊主要為團隊成員提供個人信息管理、文章管理、資源管理、成果管理等功能.團隊成員可以在此模塊中維護個人信息、發(fā)布動態(tài)、分享技術(shù)、上傳成果以及下載團隊資源等.
2.1.3 后臺管理模塊
后臺管理模塊主要為系統(tǒng)管理員提供公告管理、文章管理、文章分類管理、成員管理、成果管理、資源管理以及首頁信息維護等功能.系統(tǒng)管理員可以在此模塊中發(fā)布公告、成員審核、信息維護以及資源維護等.
根據(jù)系統(tǒng)需求分析,確定系統(tǒng)功能結(jié)構(gòu)圖如圖1所示.
圖1 創(chuàng)新團隊管理系統(tǒng)功能結(jié)構(gòu)圖
創(chuàng)新團隊管理系統(tǒng)采用MySQL作為系統(tǒng)數(shù)據(jù)持久化工具.通過對系統(tǒng)的功能進行分析,確定管理系統(tǒng)包含以下實體:用戶、用戶詳細(xì)信息、學(xué)院信息、專業(yè)信息、研究方向、文件、文章類別、文章、文章標(biāo)記、成果、成果類別、公告、輪播圖等,系統(tǒng)E-R圖如圖2所示.
圖2 管理系統(tǒng)E-R圖
創(chuàng)新團隊管理系統(tǒng)在實現(xiàn)上主要特點在于響應(yīng)式布局以及前后端分離開發(fā),對于不同的信息管理和維護上大同小異,因此筆者主要介紹系統(tǒng)的響應(yīng)式布局、登錄注冊、信息發(fā)布、首頁管理以及公告管理等模塊.
響應(yīng)式布局是Ethan Marcotte在2010年提出,響應(yīng)式布局能讓網(wǎng)站兼容多個不同的終端,自適應(yīng)不同終端設(shè)備的屏幕尺寸.創(chuàng)新團隊管理系統(tǒng)的前端界面設(shè)計采用當(dāng)前最流行的響應(yīng)式布局理念,使用的主要技術(shù)是CSS的@media屬性和BootStrap的柵格系統(tǒng).
@media screen and(max-width:600px){}@media screen and(min-width:960px){}
@media screen and (min-width:600px)and(max-width:960px){}
創(chuàng)新團隊管理系統(tǒng)允許所有游客進行注冊,但是只有當(dāng)系統(tǒng)管理員審核通過后才能進行登錄操作.注冊模塊采用JavaScript正則表達式對用戶輸入數(shù)據(jù)進行驗證,同時登錄注冊界面采用隨機函數(shù)動態(tài)生成驗證碼以及MD5密碼加密來提高系統(tǒng)安全性[5].當(dāng)用戶輸入數(shù)據(jù)不合法或驗證碼輸入錯誤時,將會給出友好提示.
const postData=ctx.request.body;
const studentNum=postData['studentNum']
const username=postData['username'];
const password=
common.md5 (postData['password']+common.MD5_SUFFIX);
const sql="INSERT INTO user_table(student_num,username,PASSWORD)VALUES(?,?,?)";
constvalues= [studentNum,username,password];
const data= await query(sql,values);
登錄模塊與注冊模塊處理方法類似,其實現(xiàn)效果圖如圖3所示.
圖3 登錄界面效果圖
團隊成員在登錄管理系統(tǒng)之后可以在個人管理模塊中發(fā)布信息,所發(fā)布的信息包括動態(tài)、技術(shù)文章、成果以及資源文件等.另外,設(shè)計了圖片剪切功能,實現(xiàn)了圖片大小的控制和規(guī)范.
const sql=`INSERT INTO article_table
(student_num,title,body,img,post_time,type_num,label_num,description)VALUES(?,?,?,?,?,?,?,?)`;
圖4 個人管理模塊效果圖
Const values=[userNum,postData['title'],postData['body'],postData['img'],post_time,postData['type_num'],postData['label_num'],postData['description']];
const res=await query(sql,values);
個人管理模塊實現(xiàn)效果圖如圖4所示.
首頁管理主要是對輪播圖進行管理.首頁輪播圖是團隊風(fēng)采展示的重要模塊,輪播的圖片需及時更新.系統(tǒng)管理員可以刪除舊的圖片,也可以上傳最近、最新的圖片.
const token=ctx.header.authorization;
if(token&&token!==null){
const postData=ctx.request.body;
const imgList=postData['imgList'];
const arr=[];
imgList.forEach(element=>{
arr.push([element])
})}
公告管理模塊主要用于公告的發(fā)布、編輯和刪除,該功能獨屬于系統(tǒng)管理員.公告編輯插件選用了行業(yè)類比較流行的markdown[6].另外,系統(tǒng)對公告信息進行了數(shù)據(jù)校驗,如若不符合規(guī)范,系統(tǒng)將會給出友好的提示.
const postData=ctx.request.body;
const title=postData['title'];
const body=postData['body'];
const time=parseInt(Date.now()/1000);
const sql= `INSERT INTO tb_news(title,body,time)VALUES(?,?,?)`;
const values=[title,body,time];
系統(tǒng)管理員可以對系統(tǒng)的所有數(shù)據(jù)進行管理,包括成員信息、文章信息、分類信息、成果信息以及資源信息等.以成員管理為例,管理員可以對信息成員進行刪除等操作.
const requestData=ctx.request.query;
const stuno=requestData['stuno'];
const sql="delete from tb_user where stuno=?";
const values=[stuno];
const del_status=await query(sql,values);
系統(tǒng)后臺管理界面效果圖如圖5所示.
圖5 系統(tǒng)后臺管理界面效果圖
基于Node.js的創(chuàng)新團隊管理系統(tǒng)為創(chuàng)新團隊成員提供了一個相互學(xué)習(xí)和交流的平臺,能夠較為全面地展示團隊的成果和風(fēng)采.系統(tǒng)采用前后端完全分離模式進行開發(fā),實現(xiàn)了對團隊成員信息、技術(shù)動態(tài)以及團隊成果的有序管理,有效地解決了技術(shù)分享、團隊展示、成員管理等方面的問題,能夠進一步提高團隊凝聚力和人才培養(yǎng)成效.
赤峰學(xué)院學(xué)報·自然科學(xué)版2018年10期