華北水利水電大學(xué)信息工程學(xué)院 陳雅昕 許麗
為滿(mǎn)足用戶(hù)對(duì)農(nóng)產(chǎn)品相關(guān)信息查詢(xún)與咨詢(xún)的需求,本文設(shè)計(jì)了基于云開(kāi)發(fā)的三農(nóng)綜合信息服務(wù)微信小程序。該系統(tǒng)采用云開(kāi)發(fā)模式,大大節(jié)約了開(kāi)發(fā)成本,且穩(wěn)定可靠,便于維護(hù)。為用戶(hù)隨時(shí)查詢(xún)、發(fā)布信息提供了一個(gè)高效的平臺(tái),為管理人員提供了快捷修改、審核、發(fā)布信息的內(nèi)容管理系統(tǒng),具有一定的實(shí)用價(jià)值。
農(nóng)業(yè)、農(nóng)村、農(nóng)民的問(wèn)題是關(guān)系國(guó)計(jì)民生的根本性問(wèn)題。為了更好地解決“三農(nóng)”問(wèn)題,越來(lái)越多的省份紛紛建立、完善相應(yīng)的農(nóng)業(yè)信息服務(wù)平臺(tái)。廣西省通過(guò)信息數(shù)據(jù)庫(kù)存儲(chǔ)、網(wǎng)絡(luò)化發(fā)布、多媒質(zhì)展示的方式,建立廣西農(nóng)業(yè)科技信息管理服務(wù)平臺(tái)[1];遼寧省開(kāi)創(chuàng)了以數(shù)據(jù)資源、惠農(nóng)建設(shè)、信息平臺(tái)、創(chuàng)新升級(jí)、素質(zhì)提升為要素的“五位一體”的農(nóng)民科普信息化服務(wù)新模式,建立了農(nóng)民科普信息服務(wù)的“三農(nóng)”綜合信息服務(wù)平臺(tái)[2];云南省打造集農(nóng)業(yè)商務(wù)信息、農(nóng)業(yè)公眾服務(wù)、農(nóng)村信息集市三大功能為一體的“云農(nóng)12316三農(nóng)綜合信息服務(wù)平臺(tái)”,整合全省農(nóng)業(yè)農(nóng)村電子商務(wù)信息資源[3]。這些平臺(tái)的建立,實(shí)現(xiàn)了涉農(nóng)數(shù)據(jù)的互聯(lián)互通,促進(jìn)了農(nóng)業(yè)資源的高效利用。
目前,大多數(shù)的三農(nóng)信息管理服務(wù)平臺(tái)需要依賴(lài)電腦進(jìn)行信息查詢(xún),這給一些沒(méi)有電腦的用戶(hù)造成了很大的不便。如今微信用戶(hù)的數(shù)量不斷增加,微信的擴(kuò)展功能也更加強(qiáng)大,微信小程序“用完即走”、操作便利的特點(diǎn)受到了用戶(hù)們的喜愛(ài)?;谛〕绦虻娜r(nóng)綜合信息服務(wù)平臺(tái),不僅可以滿(mǎn)足用戶(hù)隨時(shí)隨地查詢(xún)信息的需求,管理者還能通過(guò)云開(kāi)發(fā)控制臺(tái)進(jìn)行信息的管理,十分方便。
微信小程序的架構(gòu)由主體部分和頁(yè)面部分組成[4],其中主體部分包含小程序的外觀、導(dǎo)航欄、頁(yè)面路徑等一些公共配置,頁(yè)面部分包含初始數(shù)據(jù)、事件處理函數(shù)、組件樣式等配置,微信小程序架構(gòu)如表1所示。
表1 微信小程序架構(gòu)Tab.1 Structure of wechat mini program
(1)app.js:小程序初始化;
(2)app.json:決定頁(yè)面文件、導(dǎo)航欄、全局樣式等;
(3)app.wxss:決定整個(gè)項(xiàng)目的公共樣式,公共樣式可用于多個(gè)頁(yè)面;
(4)index.js:決定指定頁(yè)面初始數(shù)據(jù)、生命周期、事件處理函數(shù)等;
(5)index.json:決定指定頁(yè)面窗口配置;
(6)index.wxml:用來(lái)描述指定頁(yè)面的結(jié)構(gòu);
(7)index.wxss:決定WXML中的組件樣式;
傳統(tǒng)的微信小程序在前、后端編寫(xiě)和維護(hù)上需要投入大量精力[5],微信提供的云開(kāi)發(fā)模式無(wú)需搭建服務(wù)器,降低了對(duì)后端的要求,通過(guò)云函數(shù)調(diào)用相應(yīng)的接口,即可實(shí)現(xiàn)相應(yīng)的后端服務(wù)。微信小程序的云開(kāi)發(fā)包含了數(shù)據(jù)庫(kù)、云存儲(chǔ)、云函數(shù)等功能。
(1)數(shù)據(jù)庫(kù)。云數(shù)據(jù)庫(kù)是由多個(gè)集合組成的數(shù)據(jù)庫(kù),每個(gè)集合都可看做一個(gè)JSON數(shù)組[6]。開(kāi)發(fā)者可直接在本地進(jìn)行增、刪、改、查的操作,也可通過(guò)調(diào)用云函數(shù)的方式操作數(shù)據(jù)庫(kù)。
(2)云存儲(chǔ)。云存儲(chǔ)提供了高穩(wěn)定、強(qiáng)安全的云端存儲(chǔ)服務(wù)[7],可以存儲(chǔ)多種類(lèi)型的數(shù)據(jù)。通常將本地的一些圖片上傳至云存儲(chǔ)中,避免小程序代碼包過(guò)大導(dǎo)致上傳失敗。
(3)云函數(shù)。云函數(shù)是在云端(服務(wù)器端)運(yùn)行的函數(shù),免費(fèi)搭建專(zhuān)屬服務(wù)器[8]。開(kāi)發(fā)者編寫(xiě)完成后部署到云端,通過(guò)小程序內(nèi)專(zhuān)用API進(jìn)行函數(shù)調(diào)用。
啟動(dòng)小程序,默認(rèn)進(jìn)入首頁(yè),頁(yè)面底部包含查詢(xún)和個(gè)人中心兩個(gè)Tab頁(yè)面,點(diǎn)擊不同圖標(biāo)可以進(jìn)行頁(yè)面切換。系統(tǒng)前端設(shè)計(jì)如圖1所示。
圖1 三農(nóng)綜合信息服務(wù)系統(tǒng)前端設(shè)計(jì)Fig.1 Front-end design of agriculture, rural integrated information service system
(1)首頁(yè)中包含信息搜索、快捷導(dǎo)航和農(nóng)業(yè)資訊三大板塊。用戶(hù)可在信息搜索板塊中輸入相應(yīng)關(guān)鍵字,查詢(xún)到與關(guān)鍵字匹配的信息。快捷導(dǎo)航中包括農(nóng)產(chǎn)品的介紹、產(chǎn)品上傳、信息報(bào)錯(cuò)、客服4大功能。農(nóng)產(chǎn)品介紹中包含了產(chǎn)品的名稱(chēng)、單價(jià)、圖片與功效,方便用戶(hù)快速了解農(nóng)產(chǎn)品的各項(xiàng)信息。用戶(hù)通過(guò)產(chǎn)品上傳提交自己的產(chǎn)品信息,將單價(jià)、數(shù)量、圖片等信息上傳至后臺(tái),通過(guò)審核人員核對(duì)后,將產(chǎn)品信息發(fā)布在產(chǎn)品介紹頁(yè)面中。若用戶(hù)發(fā)現(xiàn)發(fā)布的信息有誤,可以點(diǎn)擊信息報(bào)錯(cuò),上傳錯(cuò)誤信息的憑證,等待后臺(tái)管理人員的審核。客服可以為用戶(hù)更好地解答各方面的問(wèn)題,提供專(zhuān)業(yè)的服務(wù)。農(nóng)業(yè)資訊為用戶(hù)提供了4類(lèi)文章,可以點(diǎn)擊圖片進(jìn)入不同的專(zhuān)題查詢(xún)最新的農(nóng)業(yè)資訊。
(2)訂單頁(yè)面中包含未支付、已支付、已退款三類(lèi)信息,用戶(hù)未付款的訂單會(huì)出現(xiàn)在未支付頁(yè)面中,點(diǎn)擊未支付訂單中的付款,付款成功后,訂單狀態(tài)會(huì)變?yōu)橐阎Ц?。若已支付的訂單出現(xiàn)問(wèn)題,點(diǎn)擊退款,經(jīng)過(guò)后臺(tái)管理人員審核確認(rèn)后,會(huì)將退款退回原賬戶(hù),同時(shí)訂單狀態(tài)會(huì)變?yōu)橐淹丝睢?/p>
(3)個(gè)人中心頁(yè)面中包含登錄、注冊(cè)的功能,并提交用戶(hù)的反饋與建議。
通過(guò)云開(kāi)發(fā)控制臺(tái)上數(shù)據(jù)庫(kù),建立一個(gè)新的集合,每個(gè)集合都是一個(gè)JSON數(shù)組,數(shù)組中的每個(gè)對(duì)象對(duì)應(yīng)一條記錄。以訂單數(shù)據(jù)集為例,其JSON字段如表2所示。
表2 訂單數(shù)據(jù)集Tab.2 Order data set
在訂單數(shù)據(jù)集中,不同的用戶(hù)擁有不同的“_openid”序列,且無(wú)法更改。若訂單信息沒(méi)有進(jìn)行更改,默認(rèn)“_updateTime”字段為空。訂單狀態(tài)“status”有0,1,2三種,其中status=0代表訂單未支付,status=1表示已成功支付,status=2表示訂單已退款。
內(nèi)容管理系統(tǒng)(Content Management System,CMS)是一種位于Web前端和后端辦公系統(tǒng)或流程之間的軟件系統(tǒng)。小程序的CMS內(nèi)容管理系統(tǒng)是基于云開(kāi)發(fā)基礎(chǔ)之上,Web端管理云資源的擴(kuò)展程序。開(kāi)通非常便捷,只需要在云開(kāi)發(fā)控制臺(tái)的內(nèi)容管理,點(diǎn)擊開(kāi)通即可安裝在自己的云開(kāi)發(fā)環(huán)境中,由于CMS擴(kuò)展需要用到靜態(tài)網(wǎng)站托管資源,所以必須在按量計(jì)費(fèi)的環(huán)境下才可以部署,因此首先要將計(jì)費(fèi)方式切換為按量付費(fèi)。
進(jìn)入CMS系統(tǒng)后,要根據(jù)實(shí)際需要?jiǎng)?chuàng)建一個(gè)新的內(nèi)容模型。以產(chǎn)品介紹為例,產(chǎn)品介紹內(nèi)容模型如圖2所示。
圖2 產(chǎn)品介紹內(nèi)容模型Fig.2 Product introduction content model
從內(nèi)容模型中可以看出產(chǎn)品介紹中共包含編號(hào)、圖片、名稱(chēng)、介紹、價(jià)格5類(lèi)信息,根據(jù)信息類(lèi)型選擇內(nèi)容類(lèi)型,并關(guān)聯(lián)上相應(yīng)數(shù)據(jù)庫(kù)的名稱(chēng),實(shí)現(xiàn)數(shù)據(jù)的綁定。
內(nèi)容模型建立完成后,可以在內(nèi)容集合中找到對(duì)應(yīng)的產(chǎn)品信息。管理者可通過(guò)“新建”按鈕增加一條新的產(chǎn)品數(shù)據(jù),增加新產(chǎn)品信息頁(yè)面如圖3所示。管理員填寫(xiě)相應(yīng)的信息,上傳產(chǎn)品相關(guān)圖片,最后點(diǎn)擊“創(chuàng)建”按鈕,實(shí)現(xiàn)新產(chǎn)品創(chuàng)建。后臺(tái)管理員創(chuàng)建完成后,用戶(hù)即可在小程序產(chǎn)品介紹中瀏覽到新的農(nóng)產(chǎn)品。
圖3 增加新產(chǎn)品頁(yè)面Fig.3 Adding a new product page
基于上述設(shè)計(jì),本文開(kāi)發(fā)了一個(gè)三農(nóng)綜合信息服務(wù)小程序,一些運(yùn)行界面如圖4所示。如圖4(a)所示為小程序主界面,點(diǎn)擊產(chǎn)品介紹,可查看產(chǎn)品的詳細(xì)信息,如圖4(b)所示。查看農(nóng)業(yè)資訊時(shí),點(diǎn)擊相應(yīng)的板塊圖片,即可查看對(duì)應(yīng)文章,如圖4(c)所示。用戶(hù)的訂單信息可以通過(guò)底部的訂單按鈕查看,點(diǎn)擊訂單按鈕會(huì)跳轉(zhuǎn)至訂單中心,如圖4(d)所示,通過(guò)訂單中心查詢(xún)訂單的具體狀態(tài)。
圖4 小程序運(yùn)行頁(yè)面Fig.4 Applet run page
后臺(tái)管理人員通過(guò)內(nèi)容管理的網(wǎng)址登入后臺(tái)管理系統(tǒng),一些運(yùn)行界面如圖5所示。訂單管理頁(yè)面如圖5(a)所示,可以快速查看訂單信息。產(chǎn)品管理如圖5(b)所示,可以實(shí)現(xiàn)對(duì)產(chǎn)品信息的增、刪、改、查功能。
圖5 后臺(tái)管理系統(tǒng)運(yùn)行頁(yè)面Fig.5 Running page of background management system
本文從實(shí)際需求出發(fā),幫助需要隨時(shí)查詢(xún)、隨時(shí)咨詢(xún)農(nóng)業(yè)信息的用戶(hù)設(shè)計(jì)了一款三農(nóng)綜合信息服務(wù)小程序。將收集到農(nóng)產(chǎn)品信息、農(nóng)業(yè)資訊上傳到云數(shù)據(jù)庫(kù)中,用戶(hù)通過(guò)手機(jī)就可以隨時(shí)隨地進(jìn)行查詢(xún),管理人員通過(guò)后臺(tái)管理系統(tǒng),實(shí)現(xiàn)信息的管理,操作簡(jiǎn)便。區(qū)別于傳統(tǒng)的開(kāi)發(fā)模式,本系統(tǒng)采用云開(kāi)發(fā)模式,避免了搭建服務(wù)器的繁瑣流程,具有更加高效、更加穩(wěn)定、易于維護(hù)的特性。
引用
[1]莫小香,韋健,鐘翠,等.廣西農(nóng)業(yè)科技信息管理服務(wù)平臺(tái)的開(kāi)發(fā)和應(yīng)用[J].河北農(nóng)業(yè)科學(xué),2019,23(4):97-100.
[2]陳秋菲,賈國(guó)強(qiáng).農(nóng)業(yè)科學(xué)普及助力鄉(xiāng)村振興實(shí)證研究——以遼寧12316“三農(nóng)”綜合信息服務(wù)平臺(tái)為例[J].中國(guó)農(nóng)學(xué)通報(bào),2022,38(11):160-164.
[3]張永金,李志剛.云農(nóng)12316三農(nóng)綜合信息服務(wù)平臺(tái)[J].云南農(nóng)業(yè),2017(3):54-55.
[4]林霞,鄒敏,李萍.基于微信小程序的攤位預(yù)約小程序設(shè)計(jì)[J].電子制作,2021(19):51-53+31.
[5]陸向艷,苗潔.基于微信云開(kāi)發(fā)的音樂(lè)播放系統(tǒng)的分析與設(shè)計(jì)[J].電子技術(shù)與軟件工程,2022(14):72-75.
[6]林霞,鄒敏,李萍.基于微信小程序的攤位預(yù)約小程序設(shè)計(jì)[J].電子制作,2021(19):51-53+31.
[7]殷鳳梅,靜育玉.基于云開(kāi)發(fā)和微信小程序的助寵系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2022,18(14):37-39.
[8]種倩倩,孫麗英,陳濱,等.基于微信小程序的點(diǎn)餐系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)[J].電腦知識(shí)與技術(shù),2022,18(19):66-69+73.