華北水利水電大學信息工程學院 陳雅昕 許麗
為滿足用戶對農產品相關信息查詢與咨詢的需求,本文設計了基于云開發的三農綜合信息服務微信小程序。該系統采用云開發模式,大大節約了開發成本,且穩定可靠,便于維護。為用戶隨時查詢、發布信息提供了一個高效的平臺,為管理人員提供了快捷修改、審核、發布信息的內容管理系統,具有一定的實用價值。
農業、農村、農民的問題是關系國計民生的根本性問題。為了更好地解決“三農”問題,越來越多的省份紛紛建立、完善相應的農業信息服務平臺。廣西省通過信息數據庫存儲、網絡化發布、多媒質展示的方式,建立廣西農業科技信息管理服務平臺[1];遼寧省開創了以數據資源、惠農建設、信息平臺、創新升級、素質提升為要素的“五位一體”的農民科普信息化服務新模式,建立了農民科普信息服務的“三農”綜合信息服務平臺[2];云南省打造集農業商務信息、農業公眾服務、農村信息集市三大功能為一體的“云農12316三農綜合信息服務平臺”,整合全省農業農村電子商務信息資源[3]。這些平臺的建立,實現了涉農數據的互聯互通,促進了農業資源的高效利用。
目前,大多數的三農信息管理服務平臺需要依賴電腦進行信息查詢,這給一些沒有電腦的用戶造成了很大的不便。如今微信用戶的數量不斷增加,微信的擴展功能也更加強大,微信小程序“用完即走”、操作便利的特點受到了用戶們的喜愛。基于小程序的三農綜合信息服務平臺,不僅可以滿足用戶隨時隨地查詢信息的需求,管理者還能通過云開發控制臺進行信息的管理,十分方便。
微信小程序的架構由主體部分和頁面部分組成[4],其中主體部分包含小程序的外觀、導航欄、頁面路徑等一些公共配置,頁面部分包含初始數據、事件處理函數、組件樣式等配置,微信小程序架構如表1所示。

表1 微信小程序架構Tab.1 Structure of wechat mini program
(1)app.js:小程序初始化;
(2)app.json:決定頁面文件、導航欄、全局樣式等;
(3)app.wxss:決定整個項目的公共樣式,公共樣式可用于多個頁面;
(4)index.js:決定指定頁面初始數據、生命周期、事件處理函數等;
(5)index.json:決定指定頁面窗口配置;
(6)index.wxml:用來描述指定頁面的結構;
(7)index.wxss:決定WXML中的組件樣式;
傳統的微信小程序在前、后端編寫和維護上需要投入大量精力[5],微信提供的云開發模式無需搭建服務器,降低了對后端的要求,通過云函數調用相應的接口,即可實現相應的后端服務。微信小程序的云開發包含了數據庫、云存儲、云函數等功能。
(1)數據庫。云數據庫是由多個集合組成的數據庫,每個集合都可看做一個JSON數組[6]。開發者可直接在本地進行增、刪、改、查的操作,也可通過調用云函數的方式操作數據庫。
(2)云存儲。云存儲提供了高穩定、強安全的云端存儲服務[7],可以存儲多種類型的數據。通常將本地的一些圖片上傳至云存儲中,避免小程序代碼包過大導致上傳失敗。
(3)云函數。云函數是在云端(服務器端)運行的函數,免費搭建專屬服務器[8]。開發者編寫完成后部署到云端,通過小程序內專用API進行函數調用。
啟動小程序,默認進入首頁,頁面底部包含查詢和個人中心兩個Tab頁面,點擊不同圖標可以進行頁面切換。系統前端設計如圖1所示。

圖1 三農綜合信息服務系統前端設計Fig.1 Front-end design of agriculture, rural integrated information service system
(1)首頁中包含信息搜索、快捷導航和農業資訊三大板塊。用戶可在信息搜索板塊中輸入相應關鍵字,查詢到與關鍵字匹配的信息。快捷導航中包括農產品的介紹、產品上傳、信息報錯、客服4大功能。農產品介紹中包含了產品的名稱、單價、圖片與功效,方便用戶快速了解農產品的各項信息。用戶通過產品上傳提交自己的產品信息,將單價、數量、圖片等信息上傳至后臺,通過審核人員核對后,將產品信息發布在產品介紹頁面中。若用戶發現發布的信息有誤,可以點擊信息報錯,上傳錯誤信息的憑證,等待后臺管理人員的審核。客服可以為用戶更好地解答各方面的問題,提供專業的服務。農業資訊為用戶提供了4類文章,可以點擊圖片進入不同的專題查詢最新的農業資訊。
(2)訂單頁面中包含未支付、已支付、已退款三類信息,用戶未付款的訂單會出現在未支付頁面中,點擊未支付訂單中的付款,付款成功后,訂單狀態會變為已支付。若已支付的訂單出現問題,點擊退款,經過后臺管理人員審核確認后,會將退款退回原賬戶,同時訂單狀態會變為已退款。
(3)個人中心頁面中包含登錄、注冊的功能,并提交用戶的反饋與建議。
通過云開發控制臺上數據庫,建立一個新的集合,每個集合都是一個JSON數組,數組中的每個對象對應一條記錄。以訂單數據集為例,其JSON字段如表2所示。

表2 訂單數據集Tab.2 Order data set
在訂單數據集中,不同的用戶擁有不同的“_openid”序列,且無法更改。若訂單信息沒有進行更改,默認“_updateTime”字段為空。訂單狀態“status”有0,1,2三種,其中status=0代表訂單未支付,status=1表示已成功支付,status=2表示訂單已退款。
內容管理系統(Content Management System,CMS)是一種位于Web前端和后端辦公系統或流程之間的軟件系統。小程序的CMS內容管理系統是基于云開發基礎之上,Web端管理云資源的擴展程序。開通非常便捷,只需要在云開發控制臺的內容管理,點擊開通即可安裝在自己的云開發環境中,由于CMS擴展需要用到靜態網站托管資源,所以必須在按量計費的環境下才可以部署,因此首先要將計費方式切換為按量付費。
進入CMS系統后,要根據實際需要創建一個新的內容模型。以產品介紹為例,產品介紹內容模型如圖2所示。

圖2 產品介紹內容模型Fig.2 Product introduction content model
從內容模型中可以看出產品介紹中共包含編號、圖片、名稱、介紹、價格5類信息,根據信息類型選擇內容類型,并關聯上相應數據庫的名稱,實現數據的綁定。
內容模型建立完成后,可以在內容集合中找到對應的產品信息。管理者可通過“新建”按鈕增加一條新的產品數據,增加新產品信息頁面如圖3所示。管理員填寫相應的信息,上傳產品相關圖片,最后點擊“創建”按鈕,實現新產品創建。后臺管理員創建完成后,用戶即可在小程序產品介紹中瀏覽到新的農產品。

圖3 增加新產品頁面Fig.3 Adding a new product page
基于上述設計,本文開發了一個三農綜合信息服務小程序,一些運行界面如圖4所示。如圖4(a)所示為小程序主界面,點擊產品介紹,可查看產品的詳細信息,如圖4(b)所示。查看農業資訊時,點擊相應的板塊圖片,即可查看對應文章,如圖4(c)所示。用戶的訂單信息可以通過底部的訂單按鈕查看,點擊訂單按鈕會跳轉至訂單中心,如圖4(d)所示,通過訂單中心查詢訂單的具體狀態。

圖4 小程序運行頁面Fig.4 Applet run page
后臺管理人員通過內容管理的網址登入后臺管理系統,一些運行界面如圖5所示。訂單管理頁面如圖5(a)所示,可以快速查看訂單信息。產品管理如圖5(b)所示,可以實現對產品信息的增、刪、改、查功能。

圖5 后臺管理系統運行頁面Fig.5 Running page of background management system
本文從實際需求出發,幫助需要隨時查詢、隨時咨詢農業信息的用戶設計了一款三農綜合信息服務小程序。將收集到農產品信息、農業資訊上傳到云數據庫中,用戶通過手機就可以隨時隨地進行查詢,管理人員通過后臺管理系統,實現信息的管理,操作簡便。區別于傳統的開發模式,本系統采用云開發模式,避免了搭建服務器的繁瑣流程,具有更加高效、更加穩定、易于維護的特性。
引用
[1]莫小香,韋健,鐘翠,等.廣西農業科技信息管理服務平臺的開發和應用[J].河北農業科學,2019,23(4):97-100.
[2]陳秋菲,賈國強.農業科學普及助力鄉村振興實證研究——以遼寧12316“三農”綜合信息服務平臺為例[J].中國農學通報,2022,38(11):160-164.
[3]張永金,李志剛.云農12316三農綜合信息服務平臺[J].云南農業,2017(3):54-55.
[4]林霞,鄒敏,李萍.基于微信小程序的攤位預約小程序設計[J].電子制作,2021(19):51-53+31.
[5]陸向艷,苗潔.基于微信云開發的音樂播放系統的分析與設計[J].電子技術與軟件工程,2022(14):72-75.
[6]林霞,鄒敏,李萍.基于微信小程序的攤位預約小程序設計[J].電子制作,2021(19):51-53+31.
[7]殷鳳梅,靜育玉.基于云開發和微信小程序的助寵系統設計與實現[J].電腦知識與技術,2022,18(14):37-39.
[8]種倩倩,孫麗英,陳濱,等.基于微信小程序的點餐系統的設計與開發[J].電腦知識與技術,2022,18(19):66-69+73.