廖海玲 何明昌 李梅 楊宇豪 張睿 張盼
摘要:目前大多數(shù)高校的教學平臺都是網(wǎng)站形式,也有一些提供手機APP以實現(xiàn)部分功能。隨著微信的流行與便捷,師生們使用微信的比例越來越高。為此開發(fā)了一款基于微信小程序的教學輔助平臺,并自建管理后臺,開發(fā)語言使用PHP,采用MySQL構(gòu)建數(shù)據(jù)庫,結(jié)合Oray上的https域名發(fā)布。平臺涵蓋了課表查詢、成績查詢、在線考試、視頻教學、社區(qū)討論,并獨創(chuàng)課堂坐標位置考勤功能,同時滿足了學生們碎片化學習的需求。
關(guān)鍵詞:微信;小程序;輔助;坐標;考勤;Oray
中圖分類號:G434? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)19-0090-03
Abstract: At present, most of the teaching platforms in colleges and universities are in the form of websites, and some provide mobile apps to realize some functions. With the popularity and convenience of WeChat, more and more teachers and students use WeChat. For this purpose, a teaching assistant platform based on WeChat small program was developed, and a management background was built. development language used PHP, MySQL was used to build the database, and the HTTPS domain name on Oray was published. The platform covers course schedule query, score query, online examination, video teaching, community discussion, and the original classroom coordinate position attendance function, while meeting the needs of students in fragmented learning.
Key words: WeChat; Small program; Auxiliary; Coordinates; Attendance; Oray
1 引言
通過基于Android的APP教育平臺模式開發(fā)出的教育平臺, 雖然可以定制完善功能, 但其客戶量、重復(fù)的登陸、退出、安裝、卸載等,給用戶帶來的煩冗工作是非常麻煩的,手機的容量就是那么大,不可能無休止地安裝手機APP,于是基于微信的手機應(yīng)用越來越多,也越來越受用戶喜愛。調(diào)查顯示2018年微信活躍用戶達到10.4億人,巨大的市場資源是微信小程序蓬勃發(fā)展的主要因素, 但是由于技術(shù)局限性,微信小程序使用起來也存在功能局限性,其主因還在于必須借助微信的管理,基于微信平臺二次開發(fā)的應(yīng)用程序顯示出越來越明顯的市場優(yōu)勢[1],為此,使用微信小程序開發(fā),擁有自己的管理后臺是非常必要的。
2 技術(shù)結(jié)構(gòu)
微信小程序的整體技術(shù)架構(gòu)大概從以下幾個方面來說:視圖層和邏輯層分離,通過數(shù)據(jù)驅(qū)動,事件交互,不直接操作DOM;視圖層負責渲染頁面結(jié)構(gòu),邏輯層負責邏輯處理、數(shù)據(jù)請求、接口調(diào)用等。如圖1所示:
3 技術(shù)實現(xiàn)
3.1 前端設(shè)計
微信小程序的前端設(shè)計最大特點就是代碼邏輯清晰簡單,微信小程序首先初始項目,要求把每個頁面相關(guān)的js、wxss、wxml放在各自的文件中,使得結(jié)構(gòu)清晰明朗,這種設(shè)計理念,使得微信小程序整齊劃一,職責明確,減輕代碼設(shè)計復(fù)雜度。在小程序設(shè)計中,主要的文件app.json作用是對微信小程序進行全局配置,決定頁面文件的路徑、窗口表現(xiàn)、設(shè)置網(wǎng)絡(luò)超時時間、設(shè)置多 tab 等,而入口文件app.js則注冊一個小程序,接受一個 object 參數(shù),通過其指定小程序的生命周期函數(shù),通過全局方法getApp()獲取app實例,進而直接調(diào)用它的屬性或方法。
平臺基于小程序進行開發(fā),主要開發(fā)語言是 JavaScript。小程序的開發(fā)與普通的網(wǎng)頁開發(fā)相比有很大的相似性。網(wǎng)頁開發(fā)渲染線程和腳本線程是互斥的,長時間的腳本運行可能會導致頁面失去響應(yīng),而在小程序中,二者是分開的,分別運行在不同的線程中。網(wǎng)頁開發(fā)者可以使用到各種瀏覽器暴露出來的 DOM API,進行 DOM 選中和操作,使系統(tǒng)易于維護,易于測試。
3.2 后臺架構(gòu)設(shè)計
適用于Web開發(fā)領(lǐng)域前后臺用的開發(fā)語言有以下幾種:java,Python,php,asp.net,c++,rubyon rails等。PHP是運行在服務(wù)器的腳本,在語法上吸收了C語言、Java的特點,利于學習,使用廣泛,其特點是靈活,上手快,易修改,發(fā)布快捷,環(huán)境好部署,可以運行在UNIX、LINUX、WINDOWS、Mac OS、Android等平臺。ThinkPHP是一個快速、兼容而且簡單的輕量級國產(chǎn)PHP開發(fā)框架,使用面向?qū)ο蟮拈_發(fā)結(jié)構(gòu)和MVC模式,融合了Struts的思想和TagLib(標簽庫)、ROR的ORM映射和ActiveRecord模式,提高了代碼的重用率[3],可以支持Windows/Unix/Linux等服務(wù)器環(huán)境,支持MySQL、PgQL、Sqlite多種數(shù)據(jù)庫以及PDO擴展。作為一個整體開發(fā)解決方案,ThinkPHP能夠解決應(yīng)用開發(fā)中的大多數(shù)需要,其自身包含了底層架構(gòu)、兼容處理、基類庫、數(shù)據(jù)庫訪問層、模板引擎、緩存機制、插件機制、角色認證、表單處理等常用的組件,并且對于跨版本、跨平臺和跨數(shù)據(jù)庫移植都比較方便。
MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是開源的,目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,開放源碼,因此平臺中我們采用MySQL進行數(shù)據(jù)處理。
4 系統(tǒng)需求分析
平臺采用HTML5、java進行前端設(shè)計,用PHP+MYSQL數(shù)據(jù)庫進行后臺開發(fā),平臺力求給每個用戶最貼心的學習服務(wù),主要功能有信息查找、資料分享,視頻學習,社區(qū)討論、視頻直播等,根據(jù)業(yè)務(wù)流程,系統(tǒng)內(nèi)分三大板塊:教師手機客戶端、學生手機客戶端和管理員后臺。功能區(qū)有四個模塊:分別為教學輔助模塊,消息接收模塊,社區(qū)討論模塊,個人中心模塊,如圖3所示:
5 系統(tǒng)實現(xiàn)
5.1 JSON數(shù)據(jù)交換格式
JSON(Java Script? Object? Notation)是一種輕量級的獨立語言的文本數(shù)據(jù)交換格式,基于Java Script編程語言的一個子集,具備良好的讀寫性能,并且方便機器進行解析和生成[4],這些特性使得JSON成為理想的數(shù)據(jù)交換語言,所以系統(tǒng)在手機客戶端采用JSON數(shù)據(jù)交換格式。JSON作為數(shù)據(jù)的交換格式,在客戶端和服務(wù)器端都要有對應(yīng)的轉(zhuǎn)換過程,如圖4所示:
5.2 坐標位置考勤實現(xiàn)
教師登錄系統(tǒng)后,向服務(wù)器發(fā)出學生考勤請求,系統(tǒng)接到指令,向?qū)W生發(fā)出登錄指令,學生登錄后,系統(tǒng)得到學生位置信息,系統(tǒng)根據(jù)學生位置信息,識別學生是否在指定位置,得出考勤結(jié)果,流程如圖5所示:
5.3 動態(tài)網(wǎng)站服務(wù)器
因為設(shè)計的網(wǎng)站是動態(tài)的,相關(guān)的功能需要有大量的數(shù)據(jù)上傳等,如果找一些付費的服務(wù)器的話,除了增加成本外,還要考慮一些運行成本以及網(wǎng)站維護等問題,而且在發(fā)布運行過程中隨時都有可能要調(diào)試修改?;谏厦娴膯栴}我們選擇了花生殼Oray作為平臺用的動態(tài)域名解析。
下載花生殼動態(tài)域名軟件安裝后,輸入賬號密碼登錄,設(shè)置內(nèi)網(wǎng)穿透,綁定自己的IP提交,花生殼客戶端會記錄ADSL撥號后所分配的動態(tài)IP地址,然后返還給花生殼服務(wù)器端,并把IP地址寫入用戶在花生殼網(wǎng)站注冊的域名記錄里[5],這樣非常方便平臺的調(diào)試與維護。
6 結(jié)束語
隨著互聯(lián)網(wǎng)的深入發(fā)展,教學輔助工具也應(yīng)該與時俱進,平臺通過強大的互聯(lián)網(wǎng)技術(shù),通過微信小程序,使用坐標定位考勤,極大提高了學生到課率平臺還分享優(yōu)秀的學習資料,開設(shè)課程直播、點播等功能,為師生們提供一個高質(zhì)量、體驗優(yōu)的學習平臺。
參考文獻:
[1] 劉琦,丁萍莉.基于微信小程序的互聯(lián)網(wǎng)+教育學習平臺的研究與設(shè)計[J].內(nèi)江科技,2016,37(12):45-46.
[2] 歉信君.淺談微信小程序架構(gòu)[EB/OL].https://www.cnblogs.com/kenshinobiy/p/6724867.html.
[3] 孫武,陳濤,王凡,劉炳楠,劉春.基于ThinkPHP框架的學習共享資源平臺的設(shè)計與實現(xiàn)[J].電腦迷,2018(5):208.
[4] 王華志. 基于JSON的異構(gòu)數(shù)據(jù)源數(shù)據(jù)交換技術(shù)研究[D].武漢:武漢理工大學,2015.
[5] 何明昌.建設(shè)經(jīng)濟高效動態(tài)服務(wù)器 提升學生網(wǎng)站建設(shè)容量[J].實驗室研究與探,2010,29(5):58-61+78.
【通聯(lián)編輯:王力】