胡東旭 彭飛辰 喬燁 陳春堃 王佟 何東健
摘要:為滿足陽(yáng)臺(tái)種植新手便捷獲取種植品種及種植管理技巧的需求,利用微信web開發(fā)者工具開發(fā)一種基于微信小程序的種植助手。陽(yáng)臺(tái)種植助手小程序可實(shí)現(xiàn)對(duì)陽(yáng)臺(tái)種植用戶的即時(shí)服務(wù)與個(gè)性化服務(wù),為種植愛好者提供新的種植體驗(yàn)。
關(guān)鍵詞:陽(yáng)臺(tái)種植;微信小程序;助手;種植信息管理
中圖分類號(hào):TP311.56? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? 文章編號(hào):1674-1161(2020)05-0030-03
隨著我國(guó)經(jīng)濟(jì)社會(huì)的快速發(fā)展,人們對(duì)居住環(huán)境和生活情趣的要求越來越高。陽(yáng)臺(tái)種植不僅可以美化居住環(huán)境,而且能夠陶冶情操,提升生活品位,近年來發(fā)展非常迅速。然而,大量花草愛好者在嘗試種植的初期,因缺乏種植植物、花卉的知識(shí),無法照顧好高價(jià)購(gòu)買的植物,導(dǎo)致喜愛的植物生病、枯萎或死亡,既造成資源浪費(fèi),也影響種植者的心情和生活質(zhì)量。目前市面上有許多關(guān)于花卉種植的書籍,但大多專業(yè)性過強(qiáng)、晦澀難懂,并不適合廣大普通居民閱讀、學(xué)習(xí)種植知識(shí),因此急需一款專門針對(duì)花草愛好者的手機(jī)App軟件,面向具有花卉種植興趣愛好但沒有更多時(shí)間鉆研種植技術(shù)的初學(xué)者,幫助他們選擇適宜種植的花卉和提供種植過程中澆水、施肥、陽(yáng)光照射等指導(dǎo)服務(wù),使他們種植好花卉并在過程中享受花卉種植的樂趣。微信小程序具有易于推廣、無須安裝、可隨時(shí)使用的優(yōu)點(diǎn)。截至 2018年底,微信小程序用戶數(shù)量突破6億,已覆蓋超過200個(gè)細(xì)分行業(yè),服務(wù)超過1 000億人次用戶。本課題基于微信小程序開發(fā)一款適于陽(yáng)臺(tái)種植管理的手機(jī)App,具備推薦品種、記錄種植過程、查詢種植數(shù)據(jù)、提供種植技巧、顯示實(shí)時(shí)天氣等功能,可實(shí)現(xiàn)種植管理的信息化、智能化。
1 陽(yáng)臺(tái)種植助手總體設(shè)計(jì)方案
1.1 開發(fā)工具與語言
小程序的開發(fā)與HTML5普通網(wǎng)頁(yè)的開發(fā)相比有很大的相似性,其主要開發(fā)語言是JavaScript。注冊(cè)微信小程序的過程為:1) 在微信小程序注冊(cè)一個(gè)賬號(hào),登錄小程序后臺(tái),可在“開發(fā)/開發(fā)設(shè)置”菜單看到小程序的AppID(小程序平臺(tái)的身份證)。2) 下載開發(fā)者工具,用申請(qǐng)的AppID登錄后,可在開發(fā)者工具右側(cè)編寫代碼,并進(jìn)行編譯。3) 單擊開發(fā)者工具頂部菜單欄的“上傳”按鈕,填寫小程序版本號(hào)及項(xiàng)目備注,上傳成功后,登錄小程序管理后臺(tái),在“開發(fā)管理/開發(fā)版本”中可找到上傳的版本。4) 經(jīng)審核通過后,登錄小程序管理后臺(tái),在“開發(fā)管理/審核版本”中,可看到通過審核的版本,選擇“發(fā)布科技”。
1.2 數(shù)據(jù)庫(kù)設(shè)計(jì)
考慮到上線小程序的域名管理、證書申請(qǐng)等操作對(duì)開發(fā)周期的影響,利用小程序云開發(fā)的云數(shù)據(jù)庫(kù)來存取數(shù)據(jù)。NoSQL數(shù)據(jù)庫(kù)具有高可用性、高擴(kuò)展性等特點(diǎn),且數(shù)據(jù)查詢時(shí)能高效處理,結(jié)構(gòu)設(shè)計(jì)上也較為簡(jiǎn)單。所以選用NoSQL數(shù)據(jù)庫(kù)進(jìn)行開發(fā)。
設(shè)計(jì)的數(shù)據(jù)庫(kù)結(jié)構(gòu)由plants,user,articles和collect等4張表構(gòu)成。plants(plant_id,植株名稱,簡(jiǎn)介,花色,繁殖,科屬,蟲害,花期,種植,選盆,修建,擇土,澆水,類型);user(user_id,身份標(biāo)識(shí),注冊(cè)時(shí)期,頭像地址,所在城市,性別,用戶名,收藏植物);articles(articles_id,作者名,內(nèi)容,發(fā)表日期,文章內(nèi)圖片地址,文章標(biāo)題);collect(collect_id,天數(shù),操作記錄)。其中,plants表中儲(chǔ)存植物的主要數(shù)據(jù),該表數(shù)據(jù)主要由網(wǎng)絡(luò)和手冊(cè)等數(shù)據(jù)進(jìn)行收集、整理得到;articles表為論壇開發(fā)服務(wù)。
在搜索功能中,將輸入字段與植株名稱進(jìn)行對(duì)比,若匹配則調(diào)出相應(yīng)數(shù)據(jù),若無對(duì)應(yīng)則輸出隨機(jī)id的植株作為推薦。在品種收藏與種植記錄管理中,若用戶選擇收藏,則在user表user_plantarray中添加該植物id,在主頁(yè)顯示欄調(diào)用時(shí)聯(lián)立user表與plants表,顯示植株的名稱等數(shù)據(jù),同時(shí)將plant_id錄入表collect中,并在該表中記錄其天數(shù)和操作記錄,其他部分直接根據(jù)主碼調(diào)用數(shù)據(jù)顯示。
1.3 系統(tǒng)結(jié)構(gòu)與資源環(huán)境
小程序采用B/S與C/S結(jié)合的結(jié)構(gòu),分為4層:小程序視圖層、微信App、小程序后端、微信后端。通過騰訊云小程序解決方案,將前后端交由騰訊云托管。
騰訊云服務(wù)器資源配置為:CPU 1核,2 G以上內(nèi)存;私有網(wǎng)絡(luò);Windows Server 2010 R2數(shù)據(jù)中心版64位操作系統(tǒng);100 GB存儲(chǔ);微信web開發(fā)者工具。
1.4 軟件設(shè)計(jì)
設(shè)計(jì)的軟件應(yīng)能實(shí)現(xiàn)推薦品種、記錄種植過程、查詢種植數(shù)據(jù)、提供包括植物生長(zhǎng)各重要時(shí)間段注意事項(xiàng)在內(nèi)的多種種植技巧,并提供顯示實(shí)時(shí)天氣,提高實(shí)際應(yīng)用價(jià)值。
1.4.1 框架設(shè)計(jì)模式 按照MVC模式進(jìn)行開發(fā),程序由Model(模型層)、View(視圖層)、Controller(控制器層)組成,其優(yōu)點(diǎn)是在設(shè)計(jì)程序的過程中可以將界面和業(yè)務(wù)邏輯分離。為了實(shí)現(xiàn)程序之間組件的低耦合,盡量減少程序內(nèi)部各組件之間的相互依賴和相互制約,采用依賴注入對(duì)MVC模式進(jìn)行改進(jìn)。依賴注入是實(shí)現(xiàn)控制反轉(zhuǎn)的一種途徑,即按照依賴倒置原則和單一職責(zé)原則對(duì)程序結(jié)構(gòu)進(jìn)行設(shè)計(jì),使軟件的系統(tǒng)架構(gòu)具有良好的可擴(kuò)展性及穩(wěn)定性。軟件結(jié)構(gòu)設(shè)計(jì)如圖1所示。
1.4.2 UI設(shè)計(jì)方案 擬通過對(duì)wxss樣式的編輯,使用微信黑白字體配合模式,以大詞條的形式來提高品種和種植建議板塊的用戶體驗(yàn)。采用wxml標(biāo)記語言與wxss共同對(duì)系統(tǒng)組件位置、尺寸等屬性進(jìn)行動(dòng)態(tài)布局,實(shí)現(xiàn)系統(tǒng)頁(yè)面對(duì)不同尺寸屏幕的自適應(yīng)。為實(shí)現(xiàn)主要板塊的自由切換,使用標(biāo)簽分頁(yè)(Tab)導(dǎo)航。標(biāo)簽分頁(yè)欄可固定在頁(yè)面頂部或底部,便于用戶在不同的分頁(yè)間做切換。將底部欄分為數(shù)個(gè)主要模塊進(jìn)行分別設(shè)計(jì)。UI設(shè)計(jì)方案示例如圖2所示。
2 程序的功能模塊
程序共有3個(gè)功能模塊,每個(gè)模塊由若干功能組成,如圖3所示。部分功能模塊頁(yè)面示例如圖4所示。
2.1 花圃模塊
花圃模塊提供當(dāng)日實(shí)時(shí)天氣與當(dāng)前用戶已選擇種植植物信息,包括種植收藏和實(shí)時(shí)天氣部分。1) 種植收藏。包含植物的圖片、名稱及種植天數(shù)(從收藏日起所經(jīng)過的天數(shù)),三者組成一株植物的收藏(生長(zhǎng))歷程,可以通過左滑彈出的刪除選項(xiàng)取消關(guān)注,點(diǎn)擊進(jìn)入該植物的管理頁(yè)面,顯示其生長(zhǎng)記錄與生長(zhǎng)中的重要時(shí)間點(diǎn)。2) 實(shí)時(shí)天氣。通過外部API導(dǎo)入用戶當(dāng)?shù)靥鞖庑畔?,以天氣圖標(biāo)形式實(shí)時(shí)顯示日期與當(dāng)?shù)氐奶鞖?、氣溫?/p>
2.2 發(fā)現(xiàn)模塊
發(fā)現(xiàn)模塊提供按需求搜索植物、瀏覽植物相關(guān)文章和隨機(jī)列舉出各類植物的功能,包括搜索、優(yōu)選文章和隨機(jī)植物部分。1) 搜索。包含直接輸入名稱進(jìn)行搜索與添加條件搜索,直接搜索下輸入植物具體名稱,返回搜索結(jié)果或者提示該植物不存在。2) 優(yōu)選文章。提供一定數(shù)量的植物相關(guān)文章供用戶瀏覽閱讀,用戶可以自主發(fā)表文章或者隨意瀏覽文章。3) 隨機(jī)植物。在切換至發(fā)現(xiàn)部分時(shí)隨機(jī)列出一定數(shù)量的植物信息,供對(duì)種植查詢有疑惑的用戶瀏覽選擇,用戶點(diǎn)擊后進(jìn)入該植物的詳細(xì)信息頁(yè)面。
2.3 個(gè)人中心模塊
個(gè)人中心模塊在啟動(dòng)小程序后登錄獲取微信相關(guān)信息并予以顯示,包括瀏覽記錄、用戶反饋和通知部分。1) 瀏覽記錄??梢圆榭从脩魹g覽文章、植物信息的歷史記錄,兩種記錄均在同一隊(duì)列中,可以刪除。2) 用戶反饋。可以通過郵件發(fā)送向開發(fā)者提出意見或建議。3) 通知。為用戶提供當(dāng)前小程序版本等信息。
3 結(jié)語
針對(duì)陽(yáng)臺(tái)種植新手急需便捷獲取種植品種及種植管理技巧的實(shí)際應(yīng)用需求,滿足廣大花卉種植愛好者信息服務(wù)需求,充分利用微信平臺(tái)用戶龐大的傳播優(yōu)勢(shì),將推薦品種和種植建議、記錄種植過程、查詢種植數(shù)據(jù)、顯示實(shí)時(shí)天氣等功能在微信小程序中實(shí)現(xiàn),開發(fā)了基于微信小程序的陽(yáng)臺(tái)種植助手,實(shí)現(xiàn)了對(duì)陽(yáng)臺(tái)種植用戶的即時(shí)服務(wù)與個(gè)性化服務(wù),對(duì)無種植經(jīng)驗(yàn)、工作繁忙的年輕人享受種植樂趣、緩解工作壓力、提高生活質(zhì)量有一定的幫助。未來將進(jìn)一步借鑒植物生長(zhǎng)規(guī)律并建立模型,采用生長(zhǎng)模型提高種植建議的時(shí)效性,并擴(kuò)充數(shù)據(jù)庫(kù)容量,將更多植物添加到服務(wù)范圍中去。
參考文獻(xiàn)
[1] 劉超超,金健飛.數(shù)字化賦能設(shè)施農(nóng)業(yè)種植托管服務(wù)[J].農(nóng)業(yè)工程技術(shù),2020,40(7):18-21.
[2] 涂相華,薛錫雅,曾志平,等.“WECO課堂”:基于微信小程序的師生交互系統(tǒng)[J].現(xiàn)代教育技術(shù),2018(5):109-114.
[3] 陳維榕,彭志良,李莉婕,等.基于微信小程序的貴州12316三農(nóng)服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].農(nóng)技服務(wù),2020,37(5):46-48.
[4] 聶佰玲,武將將,沈昊.陽(yáng)臺(tái)菜園智能控制系統(tǒng)的設(shè)計(jì)與研究[J].產(chǎn)業(yè)與科技論壇,2019,18(1):64-65.