国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于微信小程序的Python語言移動學(xué)習(xí)平臺設(shè)計研究

2020-09-11 09:04:28邱煜炎盧小蝶吳福生
安陽工學(xué)院學(xué)報 2020年4期
關(guān)鍵詞:視圖代碼邏輯

邱煜炎,盧小蝶,吳福生

(蚌埠醫(yī)學(xué)院衛(wèi)生管理系,安徽蚌埠233000)

0 引言

在互聯(lián)網(wǎng)時代飛快發(fā)展的浪潮之中,移動學(xué)習(xí)已經(jīng)成為教育行業(yè)發(fā)展的必然趨勢。與傳統(tǒng)的課堂學(xué)習(xí)相比,移動學(xué)習(xí)可以使用戶隨時隨地根據(jù)自己安排進(jìn)行知識獲取,從而激發(fā)學(xué)習(xí)興趣[1]。Python作為一門編程語言,語法簡潔優(yōu)雅、兼容眾多平臺[2],并且具有豐富而強大的第三方庫,近年來隨著人工智能應(yīng)用的廣泛普及,Python語言的熱度和影響力持續(xù)上升。為此,本文設(shè)計并實現(xiàn)了基于微信小程序的Python語言在線移動學(xué)習(xí)平臺,使用戶快速掌握Python編程語言,并提供自測練習(xí)及第三方庫的查閱接口,以滿足用戶隨時學(xué)習(xí)和方便使用的需要。

1 移動在線學(xué)習(xí)平臺與微信小程序

1.1 移動在線學(xué)習(xí)平臺

隨著移動互聯(lián)網(wǎng)的蓬勃發(fā)展,各種在線學(xué)習(xí)平臺不斷涌現(xiàn),脫穎而出的有中國大學(xué)生慕課網(wǎng)、網(wǎng)易云課堂、學(xué)堂在線等。平臺發(fā)布及使用方式主要分為兩類:一類是基于CS架構(gòu),另一類是基于BS架構(gòu)[3]。

CS架構(gòu),即客戶機-服務(wù)器(Client-Server)架構(gòu),該類平臺需要在手機端安裝專門的應(yīng)用軟件與平臺進(jìn)行交互。因此,龐雜的應(yīng)用勢必耗費手機大量的硬件資源。BS架構(gòu),即瀏覽器-服務(wù)器(Browser-Server)架構(gòu),該類平臺依托手機端瀏覽器進(jìn)行網(wǎng)頁發(fā)布,用戶雖然無須安裝應(yīng)用軟件,但是各種在線學(xué)習(xí)平臺網(wǎng)址冗長、標(biāo)簽收藏混亂,不方便用戶管理、查閱困難,用戶體驗效果不高。

1.2 微信小程序

微信是當(dāng)前發(fā)展最為迅速、使用人數(shù)最多的社交應(yīng)用手機軟件。微信小程序是一個基于微信客戶端構(gòu)建的網(wǎng)頁版應(yīng)用程序,它設(shè)計理念簡單,無須下載安裝即可使用,易于傳播,實現(xiàn)了應(yīng)用程序“觸手可及”的目標(biāo)[4]。

基于以上原因,本文設(shè)計了基于微信小程序的Python語言在線學(xué)習(xí)平臺,無須安裝軟件,不占用內(nèi)存,方便管理,以達(dá)到用戶高效檢索、便捷學(xué)習(xí)的目的[5]。

2 關(guān)鍵技術(shù)

2.1 開發(fā)工具

本項目使用的是騰訊公司推出的微信開發(fā)者工具,其提供了完整的MINA框架[6]。MINA是一個網(wǎng)絡(luò)通信應(yīng)用框架,主要分為兩個部分:頁面視圖層和應(yīng)用邏輯層。其中,頁面視圖層進(jìn)行界面的渲染,渲染部分由wxss和wxml文件共同構(gòu)成,wxml用來設(shè)計頁面的結(jié)構(gòu),wxss用來設(shè)計頁面的樣式[7]。應(yīng)用邏輯層有處理事務(wù)的功能,由Java Script實現(xiàn)邏輯交互、網(wǎng)絡(luò)請求、數(shù)據(jù)請求等功能[8]。視圖層和邏輯層利用系統(tǒng)層的JSBridge通信,視圖層將觸發(fā)的事件通知邏輯層進(jìn)行數(shù)據(jù)處理;邏輯層把數(shù)據(jù)變化返回到視圖層,從而實現(xiàn)視圖層頁面更新,如圖1所示。

2.2 業(yè)務(wù)邏輯ThinkPHP框架

圖1 MINA框架

本文利用ThinkPHP框架實現(xiàn)服務(wù)器后臺業(yè)務(wù)邏輯功能。ThinkPHP是一種高效敏捷的Web框架,可以讓開發(fā)更關(guān)注具體業(yè)務(wù)邏輯實現(xiàn),不需要關(guān)心程序的底層實現(xiàn)原理,提高程序的開發(fā)效率[9]。它基于PHP語言,采用MVC設(shè)計模式,即模型(Model)、視圖(View)和控制(Control)實現(xiàn)業(yè)務(wù)邏輯。框架已經(jīng)構(gòu)建好常用的功能類庫,以幫助構(gòu)建穩(wěn)定、快速、高效建立在線學(xué)習(xí)平臺系統(tǒng);其次,該系統(tǒng)因為框架的使用使得本身的擴(kuò)展性、靈活性、維護(hù)性、適應(yīng)需求方面獲得最大化的增強。

2.3 數(shù)據(jù)庫連接

Mysql數(shù)據(jù)庫是互聯(lián)網(wǎng)行業(yè)最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),通過微信小程序開發(fā)者工具與數(shù)據(jù)庫連接實現(xiàn)系統(tǒng)的數(shù)據(jù)管理功能,在微信小程序開發(fā)者工具JS中編寫請求代碼,向數(shù)據(jù)庫發(fā)送數(shù)據(jù)請求,數(shù)據(jù)庫接收到數(shù)據(jù)請求后在數(shù)據(jù)庫中查詢到所需數(shù)據(jù)并返回給微信小程序的邏輯層,最終的數(shù)據(jù)通過視圖層顯示在微信小程序的界面。以獲取自測成績數(shù)據(jù)為例,微信小程序請求數(shù)據(jù)代碼和數(shù)據(jù)庫返回數(shù)據(jù)代碼如下:

請求數(shù)據(jù)代碼

3 主要功能實現(xiàn)

3.1 架構(gòu)設(shè)計與系統(tǒng)流程

本系統(tǒng)基于ThinkPHP框架的MVC開發(fā)模式,系統(tǒng)架構(gòu)設(shè)計見圖2。程序運行流程是首先通過微信小程序打開Python語言在線學(xué)習(xí)平臺,進(jìn)行授權(quán)操作,以獲取用戶的基本信息如頭像、用戶名等,如果拒絕授權(quán)將退出返回。用戶身份認(rèn)證體系采用token令牌請求接口,微信小程序調(diào)用接口,經(jīng)過數(shù)據(jù)驗證層,判斷參數(shù)是否合法,然后由Controller層訪問Model數(shù)據(jù)層,業(yè)務(wù)邏輯需要調(diào)用Server層里面的方法,最后由Model層訪問數(shù)據(jù)庫DB層,返回數(shù)據(jù)給小程序。Controller層主要進(jìn)行請求的分發(fā),Model層主要處理業(yè)務(wù)邏輯和訪問數(shù)據(jù)庫獲取數(shù)據(jù),Server層主要進(jìn)行業(yè)務(wù)代碼的封裝,為Controller層提供調(diào)用。

3.2 用戶模塊

用戶模塊主要有3個功能,一是獲取微信用戶信息,二是獲取用戶學(xué)習(xí)進(jìn)度,三是瀏覽收藏的第三方庫條目。通過微信小程序自帶的登錄認(rèn)證體系獲取微信用戶信息,如圖3所示。

圖2 系統(tǒng)架構(gòu)設(shè)計

圖3 用戶登錄界面

打開微信小程序,掃碼登錄之后,會顯示出微信小程序的首頁。微信小程序的界面主要是通過wxml和wxss來顯示的,對微信小程序來說,視圖層就是他們的集合,首頁是一個歡迎頁面,windows用來設(shè)定標(biāo)題、背景、顏色等屬性,代碼為

此外,tarBar用來實現(xiàn)與其他功能頁面的銜接與跳轉(zhuǎn)。

3.3 視頻課程學(xué)習(xí)模塊

視頻課程以章節(jié)目錄方式進(jìn)行展示,用戶通過滑動列表進(jìn)行點擊、選擇學(xué)習(xí)視頻,見圖4。章節(jié)界面代碼由wxml與wxss組成,wxml中使用swiper輪播圖組件實現(xiàn)圖片的動態(tài)變化,使用navigator實現(xiàn)章節(jié)的對應(yīng)跳轉(zhuǎn).wxss中設(shè)置了輪播圖和圖片的長、寬屬性,設(shè)置了button按鈕邊框、顏色以及view的屬性。

視頻播放界面主要由視頻跟內(nèi)容簡介組成,簡介與視頻內(nèi)容同步以方便用戶理解與記憶。視頻內(nèi)容以wxml形式進(jìn)行播放,文字簡介以text文本框進(jìn)行展示,見圖5。視頻數(shù)據(jù)流通過微信小程序開發(fā)者工具與云存儲服務(wù)器建立連接,利用JavaScript腳本向服務(wù)器發(fā)送請求,當(dāng)服務(wù)器接收到視頻請求后將相關(guān)視頻并返回給微信小程序的邏輯層,最終的視頻會通過視圖層顯示在微信小程序的界面。

圖4 課程目錄列表

圖5 視頻播放界面

3.4 自測模塊

自測模塊主要分為在線測試和成績解析兩部分。習(xí)題庫通過程序后臺管理端進(jìn)行操作,題型涉及判斷、單選、多選和填空四類。題型、分值、題目及答案以數(shù)組形式構(gòu)建數(shù)據(jù)結(jié)構(gòu),以單選題為例,其代碼為

前端利用微信小程序開發(fā)工具的wxml和wxss對習(xí)題界面進(jìn)行布局與構(gòu)造,見圖6。

圖6 習(xí)題界面

3.5 第三方庫查詢模塊

強大而易用的第三方庫,使Python語言在人工智能領(lǐng)域受到學(xué)界和工業(yè)界的強烈追捧。為方便用戶查詢,并能做到收集和掌握,平臺嵌入了Pyhton第三方庫匯總和查詢模塊。利用Python的Scrapy跟蹤github網(wǎng)站,并周期性抓取第三方庫資源列表以做到實時更新。抓取內(nèi)容主要涉及庫名、簡介以及官網(wǎng)鏈接地址,此外,小程序界面通過JavaScript設(shè)置收藏功能,以方便用戶保存利用,代碼為

4 平臺發(fā)布及運行測試

小程序發(fā)布的流程如圖7所示。

圖7 發(fā)布流程圖

首先在本地計算機設(shè)計完成系統(tǒng)的主要功能模塊的開發(fā)版本,然后,利用微信公眾平臺提交開發(fā)版本程序,當(dāng)審核通過后就轉(zhuǎn)換成線上版本。用戶通過微信掃碼關(guān)注該小程序即可在線學(xué)習(xí)。

在服務(wù)器端,平臺采用阿里云服務(wù)器基于Linux內(nèi)核的Centos7.0操作系統(tǒng),并需要安裝配置相關(guān)支持軟件如PHP、Python、mysql和nginx等,代碼為

為檢驗平臺運行效果,需要進(jìn)行相關(guān)系統(tǒng)評測,相關(guān)指標(biāo)見表1。

表1 系統(tǒng)測試指標(biāo)

當(dāng)平臺通過以上一系列性能指標(biāo)評測后,筆者邀請20名在校大學(xué)生進(jìn)行用戶體驗測試。

參與者通過微信掃描二維碼登錄,使用學(xué)習(xí)平臺,并給出反饋意見??傮w上說,用戶對該平臺的使用滿意度評價較高,體會到基于微信小程序的平臺學(xué)習(xí)Python編程語言帶來的新穎性和便利性。此外,評價的反饋缺陷主要體現(xiàn)在3方面,①平臺學(xué)習(xí)模塊單一,內(nèi)容不夠豐富,不能滿足多層次用戶的知識需求;②界面不夠美觀,顏色搭配不合理,UI交互不夠友好;③用戶體驗不流暢,多并發(fā)條件下易出現(xiàn)卡頓現(xiàn)象。

5 結(jié)語

隨著微信用戶體量的不斷增加,基于微信小程序無須下載即可使用的特點,本文設(shè)計并開發(fā)了基于微信小程序的Python語言在線學(xué)習(xí)平臺。實現(xiàn)了在線視頻學(xué)習(xí)、在線測試、Python第三方庫查詢收藏等功能,具有移動學(xué)習(xí)便利性的優(yōu)勢。在以后的設(shè)計中,逐漸豐富學(xué)習(xí)平臺的功能,如增加學(xué)習(xí)社群、在線編譯等內(nèi)容;優(yōu)化設(shè)計界面,可參考優(yōu)秀的小程序模板,對界面及按鈕等細(xì)節(jié)的顏色做合理搭配,以做到統(tǒng)一協(xié)調(diào)[10];后臺增加Redis緩存,已滿足多用戶并發(fā)訪問的需要。此外,要設(shè)置平臺安全機制,增加防火墻以及數(shù)據(jù)加密功能,以保證用戶數(shù)據(jù)不受侵犯。

猜你喜歡
視圖代碼邏輯
刑事印證證明準(zhǔn)確達(dá)成的邏輯反思
法律方法(2022年2期)2022-10-20 06:44:24
邏輯
創(chuàng)新的邏輯
創(chuàng)世代碼
動漫星空(2018年11期)2018-10-26 02:24:02
創(chuàng)世代碼
動漫星空(2018年2期)2018-10-26 02:11:00
創(chuàng)世代碼
動漫星空(2018年9期)2018-10-26 01:16:48
創(chuàng)世代碼
動漫星空(2018年5期)2018-10-26 01:15:02
女人買買買的神邏輯
37°女人(2017年11期)2017-11-14 20:27:40
5.3 視圖與投影
視圖
黑龙江省| 新巴尔虎左旗| 化德县| 都昌县| 那曲县| 达拉特旗| 西青区| 天峻县| 且末县| 南丰县| 彩票| 通河县| 江北区| 水富县| 云梦县| 重庆市| 江口县| 垦利县| 固始县| 甘洛县| 岢岚县| 台湾省| 芒康县| 永城市| 余江县| 曲阳县| 凉城县| 西贡区| 三台县| 漳平市| 双江| 延津县| 汽车| 新田县| 鄂伦春自治旗| 兴义市| 汾阳市| 凯里市| 夹江县| 山东省| 磐安县|