劉梅 卜言彬 周越
摘? 要:農(nóng)村土地閑置導(dǎo)致土地資源浪費(fèi),影響農(nóng)村經(jīng)濟(jì)發(fā)展。為盤活農(nóng)村閑置土地,促進(jìn)美好鄉(xiāng)村建設(shè),設(shè)計(jì)并實(shí)現(xiàn)了農(nóng)村閑置土地租賃的微信小程序,完成了需求分析、交互設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)以及業(yè)務(wù)邏輯實(shí)現(xiàn),運(yùn)用MINA+Spring Boot+MyBatis-Plus等技術(shù)開發(fā)。提供了發(fā)布閑置土地,提交土地租賃需求,搜索、租賃土地,瀏覽土地政策,用戶管理等功能。小程序功能齊全、頁面簡潔、易用、易推廣,具備一定實(shí)用價(jià)值。
關(guān)鍵詞:土地租賃;微信小程序;Spring Boot;MyBatis-Plus
中圖分類號(hào):TP311? 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):2096-4706(2023)10-0095-04
Abstract: Idle rural land leads to the waste of land resources and affects the development of rural economy. In order to revitalize the idle rural land and promote the construction of beautiful rural areas, this paper designs and realizes the WeChat Mini Programs for the lease of rural idle land, completes demand analysis, interaction design, database design, business logic realization, and uses MINA+Spring Boot+MyBatis-Plus and other technologies to develop. It provides functions such as issuing idle land, submitting land lease demand, searching and leasing land, browsing land policies, user management and so on. The mini program has complete functions, simple pages, and it is easy to use and promote, with a certain practical value.
Keywords: land lease; WeChat Mini Program; Spring Boot; MyBatis-Plus
0? 引? 言
隨著工業(yè)發(fā)展和城鎮(zhèn)化進(jìn)程推進(jìn),農(nóng)村人口涌向城市,農(nóng)村出現(xiàn)大量土地閑置現(xiàn)象,導(dǎo)致土地資源浪費(fèi),影響經(jīng)濟(jì)發(fā)展,與國家發(fā)布的土地供給側(cè)改革目標(biāo)[1]相悖。如何盤活土地、化零為整、變廢為寶、提高農(nóng)村土地利用率、增加農(nóng)民收入、做大農(nóng)村集體經(jīng)濟(jì),成為建設(shè)美好鄉(xiāng)村亟待解決的問題。開發(fā)一款農(nóng)村閑置土地租賃的微信小程序,可一定程度解決上述問題。
1? 相關(guān)技術(shù)
微信小程序是一種可以直接在微信上運(yùn)行的應(yīng)用服務(wù)。具備開發(fā)周期短、成本低、用戶無須安裝即開即用、無須占用內(nèi)存[2]等優(yōu)點(diǎn),已經(jīng)廣泛應(yīng)用于電商、教育、服務(wù)等行業(yè)[3]。微信小程序使用運(yùn)行機(jī)制為“響應(yīng)—綁定”的MINA框架,開發(fā)者只需關(guān)注前端視圖層和后端邏輯層[4]的代碼開發(fā)。視圖層完成邏輯層數(shù)據(jù)在頁面展示,并將視圖層事件發(fā)送到邏輯層;邏輯層專注具體業(yè)務(wù)處理;視圖層與邏輯層數(shù)據(jù)傳遞遵從JSON格式。
前端視圖層采用WXML(WeiXin Markup Language)與WXSS(WeiXin Style Sheet)編寫。WXML是微信標(biāo)記語言,用于描述頁面的結(jié)構(gòu);WXSS是樣式語言,用于描述頁面的樣式[5]。
后端邏輯層采用Spring Boot和MyBatis-Plus框架進(jìn)行開發(fā)。Spring是開源的Java主流框架,提供了具有控制反轉(zhuǎn)和切面編程能力的容器[6]。Spring Boot在其基礎(chǔ)上,簡化配置文件并內(nèi)置Web容器,是使用最為廣泛的微服務(wù)開發(fā)框架之一。MyBatis是一款優(yōu)秀的基于Java語言的持久層框架,對(duì)JDBC進(jìn)行封裝,屏蔽了JDBC API底層訪問細(xì)節(jié),解決了Java實(shí)體和數(shù)據(jù)庫映射問題。開發(fā)者只需要關(guān)注SQL語句本身即可完成數(shù)據(jù)持久化操作。Mybatis-Plus框架是Mybatis框架的增強(qiáng)版,繼承Mybatis功能外,新增Lambda形式調(diào)用、簡化單表操作等功能。
2? 農(nóng)村閑置土地租賃小程序設(shè)計(jì)
農(nóng)村閑置土地出現(xiàn)的原因:1)隨著城鎮(zhèn)化的發(fā)展,大量農(nóng)村人口涌向城市,土地?zé)o人耕種。2)外出務(wù)工收入大于傳統(tǒng)農(nóng)業(yè)收入,農(nóng)民耕種意愿下降。3)農(nóng)民對(duì)土地政策、土地補(bǔ)貼信息了解不及時(shí)、不到位,對(duì)土地流轉(zhuǎn)的流程不熟悉。4)缺少相關(guān)信息平臺(tái)連接土地租賃者和出租者,無法有效盤活閑置土地。為改善土地閑置現(xiàn)狀,提升土地利用率,設(shè)計(jì)并開發(fā)了一款用于土地租賃的微信小程序。
2.1? 小程序應(yīng)用場景
土地租賃小程序主要實(shí)現(xiàn)以下三個(gè)場景的應(yīng)用。場景一(租賃者):租賃者需要租賃土地,傳統(tǒng)的線下租賃方式很難迅速找到自己心儀的土地。租賃者可以在小程序中通過搜索功能搜索、比較閑置土地,聯(lián)系出租者租地;還可以主動(dòng)發(fā)布租賃需求,等待合適的土地,從而節(jié)省租賃者時(shí)間和精力。場景二(出租者):出租者需要出租閑置土地,傳統(tǒng)出租方式宣傳困難。出租者可以在小程序中發(fā)布待出租的閑置土地信息;可以在土地需求中主動(dòng)尋找租賃者,達(dá)到快速出租土地的目的。場景三(游客):游客可以瀏覽最新土地資訊,補(bǔ)充土地政策知識(shí)。
2.2? 系統(tǒng)需求
對(duì)上述應(yīng)用場景進(jìn)行需求分析,從小程序用戶角度梳理出的功能性需求如下。租賃者:1)多維度檢索、瀏覽、比較土地和收藏土地。2)聯(lián)系土地出租者咨詢洽談。3)在線支付意向金。4)發(fā)布租地需求,修改、查看租地需求和個(gè)人信息。5)通過土地單位換算工具進(jìn)行換算。出租者:1)發(fā)布待出租土地信息,對(duì)發(fā)布的土地信息進(jìn)行增、刪、改、查操作。2)查看土地被瀏覽情況,合理調(diào)整待出租土地的出租條件。游客:在資訊欄中閱讀土地相關(guān)的政策、新聞等。
2.3? 系統(tǒng)設(shè)計(jì)
通過對(duì)小程序需求和使用人群特點(diǎn)分析后,完成了小程序的用戶交互、系統(tǒng)功能、數(shù)據(jù)庫的系統(tǒng)設(shè)計(jì)。
2.3.1? 用戶交互設(shè)計(jì)
為減輕小程序使用難度,降低小程序使用門檻,為方便小程序在農(nóng)村推廣,提高用戶體驗(yàn)度,用戶交互設(shè)計(jì)以操作便捷,模塊分明為目標(biāo)。操作便捷:每個(gè)用戶交互界面均設(shè)置了子功能入口和翔實(shí)的操作說明。例如:為引導(dǎo)用戶合理操作,在首頁設(shè)置快捷入口,放置了如發(fā)布需求、發(fā)布土地、單位換算、互動(dòng)逛地等常用功能,用戶能快速直達(dá)相關(guān)功能。用戶模塊的個(gè)人中心以醒目圖標(biāo)為功能入口,降低使用門檻。模塊分明:土地和新聞模塊的交互頁面根據(jù)主題進(jìn)行分類,并設(shè)置導(dǎo)航欄,方便用戶迅速獲得信息,以及頁面之間快速切換。
2.3.2? 系統(tǒng)功能設(shè)計(jì)
系統(tǒng)功能主要包含用戶管理(登錄、個(gè)人中心等)、土地管理(土地發(fā)布、搜索、瀏覽、租賃,互動(dòng)逛地等)、土地政策新聞管理模塊。小程序具體功能如圖1所示。
其中土地瀏覽除了基本文本信息的查看功能外,還提供了查看土地實(shí)地圖片、土地位置地圖等互動(dòng)逛地功能。
2.3.3? 數(shù)據(jù)庫設(shè)計(jì)
土地租賃小程序的數(shù)據(jù)庫設(shè)計(jì)以規(guī)范性、高效性、緊湊性、易用性為目標(biāo)。規(guī)范性:為盡量消除冗余,數(shù)據(jù)庫設(shè)計(jì)符合三大范式要求,即第一范式是表中每個(gè)屬性具備原子性,不可再分;第二范式是表中的每列都和主鍵相關(guān);第三范式是確保每列都和主鍵直接相關(guān),非間接相關(guān)。高效率:要求查詢效率非常高的場景下,兼顧效率與規(guī)范,可適當(dāng)反范式化,滿足應(yīng)用系統(tǒng)的性能要求。緊湊性:提高存儲(chǔ)的利用率和系統(tǒng)性能,設(shè)置表的字段類型需要充分考慮字段屬性的特點(diǎn),例如身份證為18位的字符,用戶表中身份證字段選用char(18),選用char(20)則不利于提高存儲(chǔ)空間使用率,同時(shí)也要兼顧擴(kuò)展性和可移植性,字段屬性為可變字符串,宜選用varchar(n)類型。易用性:數(shù)據(jù)庫設(shè)計(jì)清晰易用,例如數(shù)據(jù)庫中對(duì)象應(yīng)規(guī)范命名,見其名知其意,提高可讀性。
通過需求分析、數(shù)據(jù)分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)、實(shí)施與運(yùn)行維護(hù)設(shè)計(jì)完成了土地租賃數(shù)據(jù)庫設(shè)計(jì),數(shù)據(jù)庫主要包含土地表、土地類型表、土地瀏覽表、土地訂單表、用戶表、用戶角色表、用戶收藏表、用戶土地租賃需求表、資訊類表、土地政策表等。表中的字段和表之間的關(guān)系如圖2所示。
其中土地表(t_land_info)中的所有字段不可再分,且均與主鍵編號(hào)(ID)相關(guān),符合第一范式和第二范式。對(duì)于用戶頻繁使用查看土地詳情和土地地圖信息等功能,為提升效率,采用反范式設(shè)計(jì),將土地經(jīng)度(longitude)和緯度(latitude)存放在土地表中,經(jīng)緯度與字段(location)存在直接依賴,與主鍵的關(guān)系為間接依賴。
3? 系統(tǒng)實(shí)現(xiàn)
土地租賃小程序開發(fā)主要包含開發(fā)環(huán)境搭建、代碼工程管理、業(yè)務(wù)邏輯實(shí)現(xiàn)以及功能驗(yàn)收。
3.1? 開發(fā)環(huán)境搭建
小程序開發(fā)環(huán)境包含:前端開發(fā)工具為微信小程序官方開發(fā)工具;后端開發(fā)工具采用IntelliJ IDEA,數(shù)據(jù)庫MySQL,工程管理工具M(jìn)aven,代碼管理工具Git。
3.2? 項(xiàng)目管理
Maven是Apache組織開源的一個(gè)跨平臺(tái)的項(xiàng)目管理工具。Maven可對(duì)Java項(xiàng)目進(jìn)行依賴管理(Jar包自動(dòng)導(dǎo)入、升級(jí))、項(xiàng)目構(gòu)建(編譯、打包、測試、部署)、統(tǒng)一項(xiàng)目目錄結(jié)構(gòu)。
為方便多人協(xié)同開發(fā),小程序采用Maven管理項(xiàng)目,Maven工程的統(tǒng)一目錄結(jié)構(gòu)為src、resource、test文件夾。resource文件夾存放系統(tǒng)配置文件,test文件夾存放Junit的測試代碼,src文件夾存放源代碼。本工程的src子目錄如
下:1)config包,封裝了配置類對(duì)象、定義了項(xiàng)目中對(duì)象的配置。2)constant包封裝了項(xiàng)目中常量類對(duì)象。3)controller包封裝了業(yè)務(wù)控制層對(duì)象,架起了視圖層與業(yè)務(wù)邏輯層溝通的橋梁。4)interceptor包封裝了用于功能增強(qiáng)的攔截器對(duì)象。5)mapper包封裝了數(shù)據(jù)處理層對(duì)象、以及負(fù)責(zé)邏輯層與數(shù)據(jù)庫之間的SQL操作。6)service包封裝了業(yè)務(wù)邏輯層對(duì)象,完成業(yè)務(wù)邏輯的實(shí)現(xiàn)。7)util包封裝了一些實(shí)用的方法。
3.3? 業(yè)務(wù)邏輯實(shí)現(xiàn)
為提高代碼的可讀性、可維護(hù)性、可擴(kuò)展性,后端代碼采用控制層、服務(wù)層、數(shù)據(jù)層的三層架構(gòu)開發(fā)。控制層負(fù)責(zé)接收前端請(qǐng)求,獲取相應(yīng)的參數(shù),完成簡單的字段判空操作后,向服務(wù)層發(fā)送請(qǐng)求;服務(wù)層完成邏輯處理后,向數(shù)據(jù)處理層發(fā)送請(qǐng)求;數(shù)據(jù)層完成與數(shù)據(jù)庫交互,最終返回頁面層進(jìn)行可視化。
3.3.1? 查詢土地詳情
以租客查詢閑置土地為例說明前端頁面與后端業(yè)務(wù)邏輯開發(fā)。微信小程序頁面輸入查詢條件,前端將條件字段值封裝成Json格式消息發(fā)送到后端。具體的操作如圖3所示。
后端三層處理如下:1)首先前端查詢的請(qǐng)求消息傳遞到控制層LandController類的getLandlist接口中,該接口主要完成前端字段的非空校驗(yàn),并將字段封裝成結(jié)構(gòu)體透傳給服務(wù)層。2)服務(wù)層先完成字段的邏輯校驗(yàn),再判斷是否為分頁查詢,最后封裝查詢條件的結(jié)構(gòu)體透傳給數(shù)據(jù)層。3)數(shù)據(jù)層編寫用于查詢的SQL語句,借助MyBatis-Plus工具完成到數(shù)據(jù)庫查詢操作。最后數(shù)據(jù)逐層返回前端展示。
3.3.2? 互動(dòng)逛地
小程序提供了查看土地實(shí)物圖、查看土地位置地圖的互動(dòng)逛地功能。1)查看土地實(shí)物圖:在小程序端獲取本機(jī)圖片,點(diǎn)擊提交后,通過后端將圖片存儲(chǔ)至服務(wù)器,同時(shí)將圖片存儲(chǔ)信息上傳至數(shù)據(jù)庫。小程序在顯示圖片時(shí),通過訪問數(shù)據(jù)庫中的圖片信息,獲取服務(wù)器中的圖片。2)查看土地位置地圖:借助微信小程序MAP組件和百度地圖微信小程序JavaScript API,可完成土地位置地圖顯示,以及查詢周邊設(shè)施信息功能。發(fā)布閑置土地出租信息時(shí),前端調(diào)用百度地圖的地址解析接口,將土地詳細(xì)地址解析成對(duì)應(yīng)的經(jīng)緯度坐標(biāo),后端將坐標(biāo)信息寫入數(shù)據(jù)庫。查看土地位置地圖時(shí),調(diào)用小程序的查詢土地詳情接口,返回土地基本信息(包含經(jīng)緯度信息),前端調(diào)用微信小程序MAP組件中的獲取位置詳細(xì)接口和百度地圖API中的獲取周邊信息接口,完成地圖和周邊信息顯示。
3.4? 功能驗(yàn)收
以租賃者角度說明檢索選地、支付定金操作流程和效果。租賃者登錄界面后,在首頁中查看發(fā)布的熱門閑置土地列表如圖4所示,選擇感興趣的土地查看詳細(xì)如圖5所示。此外,除直接查看熱門土地外,也可在首頁搜索輸入框輸入檢索條件進(jìn)行查詢。租賃者尋找到合適土地后,在土地詳情界面單擊立即租用按鈕,跳轉(zhuǎn)至訂單詳情界面,可進(jìn)行租賃意向金支付,如圖6所示。
4? 結(jié)? 論
基于微信11億活躍用戶,小程序具備易推廣的特點(diǎn),本小程序可采用以下的推廣方式:1)通過微信公眾號(hào)和微博官微推文介紹小程序,提高曝光率。2)與農(nóng)村村委公眾號(hào)建立合作關(guān)系,進(jìn)一步擴(kuò)大影響力。3)村民群體間通過微信、QQ群聊或個(gè)人推薦來提高小程序的使用率。
綜上,立足于解決當(dāng)前農(nóng)村閑置土地如何合理利用的問題,精心設(shè)計(jì)了小程序,解決租賃者尋找心儀土地困難問題;解決出租者宣傳土地困難問題;促進(jìn)用戶學(xué)習(xí)有關(guān)土地的理論知識(shí)。具備功能強(qiáng)大、簡單易用、易推廣等特點(diǎn),具有一定的實(shí)際使用價(jià)值。
參考文獻(xiàn):
[1] 張容軍,段建南.供給側(cè)改革背景下農(nóng)村閑置土地的概況與利用研究 [J].江蘇農(nóng)業(yè)科學(xué),2017,45(19):39-45.
[2] 李昊.基于微信小程序的智能推薦點(diǎn)餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D].南京:南京郵電大學(xué),2020.
[3] 栗琳,溫薇,孫朝陽.基于微信小程序?qū)嶒?yàn)室資源開放平臺(tái)探索 [J].實(shí)驗(yàn)室研究與探索,2021,40(2):248-251+265.
[4] 陸禹文.基于微信小程序的移動(dòng)學(xué)習(xí)平臺(tái)的設(shè)計(jì)、開發(fā)及應(yīng)用 [D].蘭州:蘭州大學(xué),2020.
[5] 楊建敏,伏健,鄭珊珊.基于微信小程序的大學(xué)生成長紀(jì)實(shí)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn) [J].現(xiàn)代電子技術(shù),2022,45(22):101-106.
[6] 鄧笑.基于Spring Boot的校園輕博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D].武漢:華中科技大學(xué),2018.
作者簡介:劉梅(1985—),女,漢族,江蘇南京人,工程
師,碩士,主要研究方向:計(jì)算機(jī)應(yīng)用、智能算法;通訊作者:卜言彬(1984—),男,漢族,江蘇南京人,副教授,碩士,主要研究方向:機(jī)器學(xué)習(xí)、計(jì)算機(jī)視覺;周越(2003—),男,漢族,江蘇鹽城人,本科在讀,主要研究方向:計(jì)算機(jī)應(yīng)用。