摘要:隨著信息技術(shù)的不斷發(fā)展,高校招生工作全面進(jìn)入信息化、智能化時(shí)代,但新媒體技術(shù)的革新也伴隨著諸多挑戰(zhàn)。近年來(lái),為創(chuàng)新招生服務(wù)、拓展宣傳渠道,高校招生微信小程序應(yīng)運(yùn)而生,因其無(wú)須下載、使用便捷、功能多樣等特點(diǎn),呈現(xiàn)井噴式增長(zhǎng)趨勢(shì)。然而,在開發(fā)招生微信小程序的過(guò)程中,存在后端服務(wù)器平臺(tái)搭建成本高、數(shù)據(jù)利用率低、系統(tǒng)維護(hù)困難等問(wèn)題。文章利用微信云開發(fā)技術(shù)的特點(diǎn)和優(yōu)勢(shì),采用Serverless架構(gòu),設(shè)計(jì)并實(shí)現(xiàn)了一種基于微信云開發(fā)的高校招生服務(wù)小程序,以促進(jìn)高校招生信息化建設(shè)。
關(guān)鍵詞:微信小程序開發(fā);云開發(fā)技術(shù);高校招生;Serverless架構(gòu)
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2024)34-0033-04開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
0引言
自2002年起,高校招生工作全面實(shí)現(xiàn)網(wǎng)上錄取,招生工作逐漸進(jìn)入信息化和智能化時(shí)代,獲取招生信息的途徑逐漸增多,傳統(tǒng)的招生宣傳工作方式,如紙質(zhì)招生簡(jiǎn)章、紙質(zhì)媒體廣告等已無(wú)法滿足考生的需求。微信小程序作為一種新型應(yīng)用形態(tài),較傳統(tǒng)應(yīng)用軟件具有易用性、高效性、生態(tài)完整性等特點(diǎn)。因其能為用戶提供更加方便快捷的服務(wù),被逐漸推廣并使用。該研究旨在設(shè)計(jì)與開發(fā)一種基于微信云開發(fā)的高校招生服務(wù)小程序,可極大降低微信小程序后端服務(wù)器的開發(fā)難度、提高開發(fā)效率[1],還可節(jié)約開發(fā)成本與維護(hù)成本,為考生提供更優(yōu)質(zhì)的招生服務(wù)。
1現(xiàn)狀分析與問(wèn)題提出
微信小程序自推出以來(lái),依托大量微信用戶資源,衍生出各類功能場(chǎng)景,迅速引起了社會(huì)各界的關(guān)注。越來(lái)越多的高校也緊跟時(shí)代潮流,上線了專屬招生微信小程序。此舉有效整合了高校招生服務(wù)資源,大幅提高了高校招生服務(wù)工作的質(zhì)量和效率。通過(guò)小程序的統(tǒng)一入口,方便考生快速掌握學(xué)?;厩闆r、專業(yè)設(shè)置、招生數(shù)據(jù)等權(quán)威信息,并能通過(guò)在線咨詢等方式實(shí)現(xiàn)個(gè)性化咨詢服務(wù),為考生報(bào)考提供專業(yè)參考意見。
在微信小程序開發(fā)過(guò)程中,為實(shí)現(xiàn)后臺(tái)數(shù)據(jù)加載和交互功能,開發(fā)者須使用Node.js、PHP、Java等后端語(yǔ)言,完成服務(wù)器搭建、接口設(shè)計(jì)和數(shù)據(jù)庫(kù)管理等工作。就高校招生服務(wù)小程序功能而言,用戶對(duì)服務(wù)器后端數(shù)據(jù)交互需求并不多[2]。針對(duì)該情況,現(xiàn)階段招生微信小程序開發(fā)存在以下問(wèn)題:
1)若進(jìn)行專門的服務(wù)器端開發(fā),會(huì)大大增加技術(shù)成本和資金成本;
2)若完全使用本地?cái)?shù)據(jù)存儲(chǔ),放棄服務(wù)器端開發(fā),會(huì)大幅增加小程序所占內(nèi)存,導(dǎo)致無(wú)法完成版本上傳和在線發(fā)布;
3)無(wú)可視化后臺(tái)管理系統(tǒng)會(huì)導(dǎo)致數(shù)據(jù)更新過(guò)程煩瑣,增加系統(tǒng)維護(hù)人員的工作量。
微信云開發(fā)提供了一種折中的技術(shù)方式,能有效解決以上問(wèn)題。微信云開發(fā)技術(shù)為開發(fā)者提供了云數(shù)據(jù)庫(kù)、云存儲(chǔ)和云函數(shù)等多種功能[3],使其可以輕松實(shí)現(xiàn)云服務(wù)器配置和數(shù)據(jù)處理等環(huán)節(jié),完成后端邏輯和技術(shù)支持,將開發(fā)流程重心移到前端界面的設(shè)計(jì)和交互,大大提高開發(fā)效率、節(jié)約維護(hù)成本。該研究通過(guò)一個(gè)真實(shí)的基于微信云開發(fā)的招生服務(wù)小程序的設(shè)計(jì)及實(shí)現(xiàn),為高校開發(fā)招生小程序提供一些思路及技術(shù)實(shí)現(xiàn)方法。
2系統(tǒng)設(shè)計(jì)
2.1需求分析
基于對(duì)高校招生工作現(xiàn)狀和考生需求的調(diào)研,招生服務(wù)小程序整體設(shè)計(jì)應(yīng)當(dāng)簡(jiǎn)潔明了,減少?gòu)?fù)雜的登錄設(shè)置操作?;拘枨髴?yīng)包括學(xué)?;拘畔⒉樵?、歷年分?jǐn)?shù)查詢、招生計(jì)劃查詢、專業(yè)信息查詢、招生資訊查詢和考生在線咨詢等。
2.2架構(gòu)設(shè)計(jì)
該系統(tǒng)根據(jù)微信小程序開發(fā)及微信云開發(fā)技術(shù)特點(diǎn),采用B/S(Browser/Server,瀏覽器/服務(wù)器)結(jié)構(gòu)與C/S(Client/Server,客戶端/服務(wù)器)結(jié)構(gòu)混合架構(gòu)開發(fā),系統(tǒng)整體架構(gòu)模型主要分為3層:數(shù)據(jù)層、業(yè)務(wù)邏輯層和表述層,如圖1所示。數(shù)據(jù)層主要用于建立與招生小程序?qū)?yīng)的數(shù)據(jù)庫(kù),包括高?;拘畔?shù)據(jù)庫(kù)、歷年分?jǐn)?shù)數(shù)據(jù)庫(kù)、招生計(jì)劃數(shù)據(jù)庫(kù)、專業(yè)信息數(shù)據(jù)庫(kù)和招生資訊數(shù)據(jù)庫(kù)等。數(shù)據(jù)庫(kù)的存儲(chǔ)包括云開發(fā)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)與本地客戶端數(shù)據(jù)庫(kù);業(yè)務(wù)邏輯層主要負(fù)責(zé)對(duì)數(shù)據(jù)的讀取加工處理,并對(duì)發(fā)出的網(wǎng)絡(luò)請(qǐng)求作出回應(yīng),是開發(fā)模型中的核心部分;表述層主要是對(duì)業(yè)務(wù)邏輯層產(chǎn)生的結(jié)果在微信客戶端進(jìn)行展示。
2.3功能模塊設(shè)計(jì)
根據(jù)不同用戶角色的功能需求及云開發(fā)服務(wù)特點(diǎn),可將用戶劃分為考生用戶(包括家長(zhǎng)和社會(huì)人士)和管理員用戶??忌脩糁饕褂眯〕绦蚨颂峁┑墓δ埽芾韱T用戶則通過(guò)云開發(fā)平臺(tái)端管理系統(tǒng)對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行管理。
2.3.1招生服務(wù)小程序
招生服務(wù)小程序直接服務(wù)于考生用戶,功能結(jié)構(gòu)如圖2所示。具體功能模塊設(shè)計(jì)如下:
1)高校信息查詢。該模塊為考生用戶提供高?;巨k學(xué)情況、歷年招生章程和宣傳視頻等信息,為志愿報(bào)考提供重要參考。
2)歷年分?jǐn)?shù)查詢。該模塊為考生用戶提供高校歷年招生分?jǐn)?shù)線情況,用戶可通過(guò)條件框篩選信息,查詢高校在具體省份、年份、科類、專業(yè)等的投檔分?jǐn)?shù)線情況。
3)招生計(jì)劃查詢。該模塊為考生用戶提供高校各類專業(yè)招生計(jì)劃情況,用戶可根據(jù)自身需求,篩選年份、招生省份、批次、科類等信息,查詢具體專業(yè)招生計(jì)劃。
4)專業(yè)信息查詢。該模塊為考生用戶提供學(xué)校所有招生專業(yè)的基本信息、專業(yè)特色、核心課程、可考證書和就業(yè)方向等內(nèi)容,為考生報(bào)考專業(yè)時(shí)提供參考。
5)招生資訊查詢。該模塊為考生用戶提供最新招生政策推送功能,使考生能第一時(shí)間了解招生考試相關(guān)動(dòng)態(tài),提前做好相應(yīng)準(zhǔn)備工作。
6)問(wèn)題與答疑。該模塊不僅提供部分招生常見問(wèn)答信息,還通過(guò)微信小程序開發(fā)自帶API接口,使考生能通過(guò)微信與招生高校進(jìn)行線上聊天,實(shí)現(xiàn)個(gè)性化問(wèn)答服務(wù)。
2.3.2云開發(fā)平臺(tái)端管理系統(tǒng)
云開發(fā)平臺(tái)端管理系統(tǒng)服務(wù)于管理員用戶,該系統(tǒng)為小程序端提供數(shù)據(jù)接口,并提供云端數(shù)據(jù)可視化管理功能,功能結(jié)構(gòu)如圖3所示。具體功能模塊設(shè)計(jì)如下:
1)高校信息管理。管理員用戶在云開發(fā)平臺(tái)可以對(duì)高校的基本信息(包括文字、音頻和視頻等)進(jìn)行編輯并發(fā)布在小程序端。
2)歷年分?jǐn)?shù)管理。管理員用戶通過(guò)云開發(fā)平臺(tái),整理高校歷年在各省、各批次、各科類的投檔線數(shù)據(jù)并進(jìn)行管理,系統(tǒng)通過(guò)API接口函數(shù)調(diào)用,將數(shù)據(jù)顯示在小程序端。
3)招生計(jì)劃管理。管理員用戶通過(guò)云開發(fā)平臺(tái),整理并發(fā)布高校各類型分省分專業(yè)招生計(jì)劃,通過(guò)搜索功能為考生用戶提供查詢服務(wù)。
4)專業(yè)信息管理。管理員用戶通過(guò)云開發(fā)平臺(tái),將權(quán)限下放至二級(jí)學(xué)院專業(yè)負(fù)責(zé)人,由專業(yè)負(fù)責(zé)人編輯和上傳各學(xué)院招生專業(yè)信息,管理員審核無(wú)誤后發(fā)布。
5)招生咨詢管理。管理員用戶通過(guò)云開發(fā)平臺(tái),根據(jù)最新招生政策管理和發(fā)布招生資訊,供考生用戶查看。
6)客服咨詢服務(wù)。管理員用戶根據(jù)高校實(shí)際情況,通過(guò)微信客服客戶端或網(wǎng)頁(yè)端分配多名招生客服,及時(shí)回復(fù)考生用戶在小程序端提出的問(wèn)題。后臺(tái)還可以對(duì)所有客服咨詢回復(fù)情況(如接待人數(shù)、回復(fù)次數(shù)和應(yīng)答時(shí)間等)進(jìn)行實(shí)時(shí)統(tǒng)計(jì)。
2.4數(shù)據(jù)庫(kù)設(shè)計(jì)
該系統(tǒng)根據(jù)微信小程序開發(fā)特點(diǎn),采用“本地+云端”數(shù)據(jù)存儲(chǔ)方式,將數(shù)據(jù)量小且每年變化不大的數(shù)據(jù)(如常見問(wèn)題)存儲(chǔ)在本地,將數(shù)據(jù)量大且更新較頻繁的數(shù)據(jù)通過(guò)云端進(jìn)行存儲(chǔ)和管理。根據(jù)系統(tǒng)需求,創(chuàng)建了高校信息表、專業(yè)信息表、招生數(shù)據(jù)表和招生資訊表[4]。
高校信息表結(jié)構(gòu)如表1所示,該表用于存儲(chǔ)高校所有用于展示的信息。
專業(yè)信息表結(jié)構(gòu)如表2所示,該表用于存儲(chǔ)高校歷年開設(shè)專業(yè)的基本信息。
招生數(shù)據(jù)表結(jié)構(gòu)如表3所示,該表用于存儲(chǔ)高校各招生專業(yè)歷年在各省、各批次、各科類的招生計(jì)劃和投檔分?jǐn)?shù)線等信息。表中course_id字段與專業(yè)信息表(course_info)中的course_id字段建立外鍵聯(lián)系,確保每一條分?jǐn)?shù)記錄對(duì)應(yīng)唯一專業(yè)。
招生資訊表結(jié)構(gòu)如表4所示,該表用于存儲(chǔ)高校發(fā)布的最新招生資訊相關(guān)信息。
3系統(tǒng)實(shí)現(xiàn)
3.1前端核心功能實(shí)現(xiàn)
3.1.1界面布局
系統(tǒng)采用Flex布局方式,將界面劃分為5個(gè)區(qū)域:基本信息區(qū)、快速導(dǎo)航區(qū)、宣傳視頻區(qū)、招生資訊區(qū)和底部tabbar區(qū)。具體實(shí)現(xiàn)方式如下:首先在全局配置文件app.json中,通過(guò)“pages”屬性配置小程序所需的所有界面,通過(guò)“window”屬性配置導(dǎo)航欄背景、顏色、文字和樣式等,通過(guò)“tabbar”屬性配置所需的tabbar樣式(包括選項(xiàng)個(gè)數(shù)、對(duì)應(yīng)頁(yè)面、文字和圖標(biāo)等)。其次在頁(yè)面的邏輯文件index.js中綁定系統(tǒng)啟動(dòng)主界面,關(guān)鍵代碼如下:
wx.navigateTo({url:'../home/home'})
3.1.2數(shù)據(jù)展示
以專業(yè)信息查詢模塊為例,相關(guān)數(shù)據(jù)通過(guò)naviga?tor頁(yè)面鏈接組件以3級(jí)目錄方式進(jìn)行展示,即分學(xué)院界面、分專業(yè)界面和具體專業(yè)介紹界面。分學(xué)院界面和分專業(yè)界面須在對(duì)應(yīng).js文件中定義data數(shù)組,然后通過(guò)wx:for控制屬性綁定數(shù)據(jù)數(shù)組,最后通過(guò)view標(biāo)簽展示具體數(shù)據(jù)。具體專業(yè)介紹界面采用動(dòng)態(tài)展示方法,即搭建唯一靜態(tài)界面,動(dòng)態(tài)調(diào)用用戶選擇的專業(yè)名稱,通過(guò)唯一標(biāo)識(shí)找到專業(yè)名稱對(duì)應(yīng)的專業(yè)信息,關(guān)鍵代碼如下:
在分學(xué)院列表.js頁(yè)面中:
varname=e.currentTarget.dataset.name;
wx.navigateTo({
url:'../專業(yè)信息頁(yè)面名稱?name='+name…,})
在具體專業(yè)介紹.js頁(yè)面中:
this.setData({
name:options.name,
…})
3.1.3視頻播放
在小程序首頁(yè)展示兩個(gè)并排顯示的宣傳視頻,每個(gè)視頻由封面和內(nèi)容兩個(gè)部分組成。當(dāng)點(diǎn)擊其中一個(gè)視頻時(shí),可進(jìn)行小窗播放或全屏播放;當(dāng)點(diǎn)擊另一個(gè)視頻時(shí),系統(tǒng)將暫停當(dāng)前視頻并重新顯示其封面,同時(shí)播放新點(diǎn)擊的視頻。實(shí)現(xiàn)該功能的重點(diǎn)在于須在視頻播放單擊事件中添加判斷功能,獲取當(dāng)前播放視頻的index值。如果當(dāng)前index不等于點(diǎn)擊播放視頻的index值,則將當(dāng)前index對(duì)應(yīng)的視頻暫停播放,關(guān)鍵代碼如下:
3.1.4在線咨詢
在線咨詢是用戶實(shí)際使用量最大的功能??忌脩酎c(diǎn)擊“在線會(huì)話”按鈕后,可進(jìn)入微信對(duì)話界面。微信開發(fā)者工具已將跳轉(zhuǎn)至微信聊天的代碼封裝在button控件的contact類型中,開發(fā)者只須直接調(diào)用即可。同時(shí),開發(fā)者還須登錄小程序開發(fā)后臺(tái),搜索管理者微信號(hào)并將其綁定為客服,才能進(jìn)行問(wèn)題回復(fù)。關(guān)鍵代碼如下:
lt;buttonopen-type='contact'gt;在線會(huì)話lt;/buttongt;
3.2云開發(fā)服務(wù)器配置
在微信開發(fā)者工具中,點(diǎn)擊“云開發(fā)”選項(xiàng)卡,創(chuàng)建云開發(fā)環(huán)境名稱,獲取小程序?qū)侪h(huán)境ID[5]。該ID對(duì)系統(tǒng)運(yùn)行至關(guān)重要,須在開發(fā)者工具中進(jìn)行環(huán)境ID綁定后才能使用相應(yīng)功能。在app.js文件中初始化和綁定云開發(fā)配置,具體代碼如下:
App({onLaunch:function(){
wx.cloud.init({env:'你的云開發(fā)環(huán)境ID',})}})
微信小程序云開發(fā)功能須付費(fèi)使用,目前價(jià)格為每月39元,提供20萬(wàn)次調(diào)用次數(shù)、2GB容量和5GB的CDN流量,超出流量部分建議使用按實(shí)際量付費(fèi)。以上技術(shù)參數(shù)完全可以支持一個(gè)簡(jiǎn)單招生服務(wù)小程序的運(yùn)營(yíng)和使用。
3.3云開發(fā)數(shù)據(jù)庫(kù)配置與調(diào)用
在云開發(fā)控制臺(tái)中,點(diǎn)擊“數(shù)據(jù)庫(kù)”選項(xiàng)卡,配置數(shù)據(jù)庫(kù)基本信息(包括名稱、索引和權(quán)限等)。配置完畢后需要添加集合,集合類似于傳統(tǒng)數(shù)據(jù)庫(kù)中的表,它有默認(rèn)模式和JSON模式兩種數(shù)據(jù)模式,開發(fā)者可根據(jù)實(shí)際需要選擇相應(yīng)模式,本研究選擇默認(rèn)模式進(jìn)行數(shù)據(jù)庫(kù)管理。在集合中添加字段信息(包括字段名稱、類型和值),配置完成后即可在小程序開發(fā)前端調(diào)用數(shù)據(jù)庫(kù)中的值。
在需要調(diào)用數(shù)據(jù)的界面js文件中,調(diào)用云開發(fā)數(shù)據(jù)庫(kù)數(shù)據(jù),如調(diào)用高校歷年分?jǐn)?shù)線數(shù)據(jù),代碼如下:
3.4云開發(fā)內(nèi)容管理系統(tǒng)CMS使用
小程序云開發(fā)CMS是一種基于微信云開發(fā)和微信小程序技術(shù)的內(nèi)容管理系統(tǒng),它可以幫助用戶快速創(chuàng)建、發(fā)布和管理小程序中的內(nèi)容(如文章、咨詢和用戶評(píng)論等),無(wú)須編寫任何代碼即可完成后臺(tái)服務(wù)器數(shù)據(jù)平臺(tái)的搭建。
在云開發(fā)控制臺(tái)中,點(diǎn)擊“內(nèi)容管理”選項(xiàng)卡后,系統(tǒng)將彈出CMS后臺(tái)管理系統(tǒng)網(wǎng)頁(yè)。在網(wǎng)頁(yè)中輸入項(xiàng)目名稱和顯示名稱創(chuàng)建項(xiàng)目,然后點(diǎn)擊“新建模型”按鈕新建CMS模型,用于管理用戶所需的功能(如招生政策發(fā)布和歷年分?jǐn)?shù)查詢等)。模型創(chuàng)建完成后,需要為其添加具體字段并選擇合適的數(shù)據(jù)類型。所有字段添加完成后即可通過(guò)CMS管理具體內(nèi)容,具體效果如圖4所示。需要注意的是,在CMS中創(chuàng)建的模型會(huì)同步到云數(shù)據(jù)庫(kù)中,但在云數(shù)據(jù)庫(kù)中創(chuàng)建的數(shù)據(jù)不會(huì)自動(dòng)同步到CMS中。隨后在需要展示數(shù)據(jù)的頁(yè)面.js文件中調(diào)用云數(shù)據(jù),并在對(duì)應(yīng)的.wxml文件中將數(shù)據(jù)展示在控件中,關(guān)鍵代碼如下:
4結(jié)束語(yǔ)
本研究針對(duì)高校目前招生微信小程序開發(fā)現(xiàn)狀,利用微信云開發(fā)技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了一款基于微信云開發(fā)的高校招生服務(wù)小程序,有效解決了小程序服務(wù)器端開發(fā)難度大和費(fèi)用高等問(wèn)題。該系統(tǒng)在提升高校招生服務(wù)質(zhì)量的同時(shí),顯著縮短了開發(fā)周期,提高了工作效率,為高校招生信息化建設(shè)工作提供了一種較好的技術(shù)實(shí)現(xiàn)方案。
未來(lái)可進(jìn)一步開發(fā)系統(tǒng)功能和優(yōu)化數(shù)據(jù)管理模式,增加考生用戶個(gè)性化咨詢服務(wù),提升數(shù)據(jù)存儲(chǔ)和讀取速率。通過(guò)持續(xù)的研究與實(shí)踐,為考生提供更加優(yōu)質(zhì)的招生服務(wù)。
參考文獻(xiàn):
[1]倪紅軍,李霞,周巧扣,等.基于微信小程序的高校實(shí)驗(yàn)室安全教育平臺(tái)構(gòu)建[J].實(shí)驗(yàn)室研究與探索,2020,39(12):280-284.
[2]楊磊.基于微信小程序的高校學(xué)生發(fā)展記錄系統(tǒng)設(shè)計(jì)[J].電子制作,2023,31(14):75-78.
[3]宋鶯,謝小玲,余文婷,等.智慧校園微信小程序云服務(wù)開發(fā)與構(gòu)建[J].長(zhǎng)江信息通信,2022,35(4):174-176.
[4]殷西祥,王康康.基于Android平臺(tái)的招生宣傳系統(tǒng)設(shè)計(jì)[J].重慶科技學(xué)院學(xué)報(bào)(自然科學(xué)版),2018,20(5):105-108.
[5]李丹,張未未.基于小程序與云開發(fā)的網(wǎng)絡(luò)報(bào)修系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微型電腦應(yīng)用,2022,38(12):187-189.
【通聯(lián)編輯:謝媛媛】