劉 艷
(河南師范大學 計算機與信息工程學院,河南 新鄉 453007)
當前,農業信息的及時提供不僅可以加速農產品的流通,也是建設現代農業的基礎[1]。我國農業相關人員獲取農業相關信息的主要途徑為:綜合搜索引擎約占53%;其次是農業全文搜索引擎;最后是農業分類搜索引擎[2]。但從具體占比數據來看,農業分類搜索等專業門戶網站的比重還較低,說明利用專業途經獲取農業信息的存在諸多困難[3]。
當“互聯網+”和農業之間深度融合以后,互聯網技術帶來了及時的數據、信息和嶄新的技術手段,從而使得農業產業中的各個環節、涉及農業領域的眾多細分市場,都有了更多的條件、技術和可能來進行創新。農業信息研究可以通過IT技術,突破時間空間限制,實現及時有效地互聯互通,進而將大大促進農業知識、農業資源、農業科技、農業生產、農產品市場等各方面信息的快速及時傳遞,解決信息的不對稱問題。在優化農業生產的同時,也能對接農副產品供需市場,解決傳統時期農業信息不暢而滯銷等問題。農業信息化對農業生產過程中所需各類資源,都有相當高程度的重新配置作用,這將大大提高土地、勞動力、資金等各項生產資源的配置利用效率。“互聯網+”結合大數據、物聯網等近年來興起的信息技術,可以不斷提升農業各個生產環節智能化程度,提高生產效率,進而實現“生產環境可測、生產過程可控、產品質量可溯”,也能部分解決食品安全等問題。信息化農業的推廣,在節約人力成本的同時,同時也大大提高了農產品的質量和產量,進而也增強了農業的抗風險能力。
AngularJS[4]是一個功能強大的基于JavaScript,用來構建大型應用,高性能的Web應用程序的框架,是開源的,完全免費的,并且由數千名世界各地的開發者開發維護,為開發者提供了一個在干凈的模型—視圖—控制器(Model View Controller,MVC)方式,編寫的應用都是跨瀏覽器兼容的,易于維護的動態網絡應用框架。
模型視圖控制器是一種Web應用程序開發設計模式[5]。傳統的MVC主要由模型、視圖、控制器幾個成分組成。MVC是當前應用比較廣泛的模式構建,因為它從用戶界面層和支持分離關注隔離了應用邏輯。
在開發程序的過程中,AngularJS允許并且優先鼓勵開發者使用模塊化的思想來開發應用。為了使開發者書寫的代碼更加簡潔明快,AngularJS允許在單個的js文件中完成模塊的命名,并可以將其稱為module.js文件。每個程序中允許有多個模塊,每個模塊應該含有定義功能的部分。模塊方法有眾多優點。AngularJS也允許開發者利用angular.modle()來定義模塊,這種方法要求有兩個參數,第一個參數是要定義的模塊名,第二是依賴表,也就是要求被射入到模塊當中的依賴列表[6]。
AngularJS系統利用不同的手段來組合來自模型的數據并傳遞給視圖。每視圖的組成部分是動態插值的。AngularJS的完成模式允許把程序中的模型當作為唯一數據源。視圖自始至終僅僅是數據的呈現模式。雙向數據綁定功能是AngularJS中眾多功能之一,也是AngularJS的重要特性。
服務是JavaScript函數或對象,允許AngularJS程序中應用。控制器、過濾器等都可以通過指令調用服務。服務的輸入依靠AngularJS的依賴注入模式。AngularJS提供了如$http和$route等眾多常見的內置服務,每種服務都有一種特殊的功能。開發者可以利用$route來定義路由消息等。
依賴注入式AngularJS的重要特性之一[7]。在AngularJS的系統中,依賴注入可以說到處存在。經常在下面場景(函數)中會應用依賴注入:使用工廠方法來完成定義組件(components)時:如directive,factory,filter,provider,controller等。這些工廠函數需要注冊到某個模塊上。
利用微信關注用戶的基本信息,主要包括用戶微信名(或者昵稱)、用戶微信頭像、用戶注冊性別、用戶所在地域、用戶使用語言等方面。該技術將適用于訂閱號、服務號以及微信用戶自定義菜單中的所有場景[8]。
本系統的服務對象主要是一般農民、農業院校的師生、農業技術人員、涉農企業負責人等人士。可提供商家企業信息、涉農科技、展覽展示、農資信息、花卉信息、涉農養生等方面的信息服務。系統總體分為展示前臺和后臺。前臺展示又分為推薦、搜索、導航、詳情、微信交互等。后臺管理包括登錄、列表、篩選、編輯、設置等。
在首頁顯示的熱詞排行下面,從左至右依次可以點擊顯示今日、本周、本月3個時間段內通過該網絡搜索頻次最高的一些詞匯。在首頁面的搜索框中輸入關心的詞匯后,如果有滿足條件的詞條出現,搜索結果會及時顯現。搜索結果實時顯現是本系統的一個亮點。為了更好地交流信息,留言評價。利用全局Access Token技術,系統開發了與微信進行交互的功能。使微信用戶關注即可進入網站系統,同時采用HTML5技術研發,打開速度較傳統頁面提升較大,訪問更快速方便。用戶掃描網頁上的二維碼后,用戶手機系統將出現取得用戶信息許可的通知界面,獲取用戶微信登錄信息的前端邏輯。
本系統根據動態網站系統的需要,該系統采用ThinkPHP+MySQL的數據庫管理模式[9]。管理員成功登錄后臺后,系統將自動呈現百科條目列表。列表包含條目ID、標題、縮略圖、摘要、分類、添加時間、點擊統計、編輯操作等。在列表頁面下,每條條目右側有對應的編輯、刪除按鈕,點擊后管理員可以根據提示進行相應的操作。在列表頁面下,設計了分類篩選功能,也就是管理者可以先根據類別查詢條目。在列表頁面的右上角,點擊分類按鈕,就可以顯示各種分類,點擊該類別,就可以方便地查詢該類別下的所有條目。管理員成功登錄后,在列表頁面,點擊頁面左上角的添加條目按鈕,系統將跳轉到添加新一條條目的頁面。管理員添加條目時,需要添加該條目的標題、分類、正文等。在正文部分,系統提供了常用的編輯功能,同時也可以插入編輯圖片。完成條目的內容編輯后,點擊提交即可。當然,系統也提供了取消添加、刪除臨時添加條目的內容。
本文在廣泛調研的基礎上,確定了系統的總體設計。根據各部分的功能,利用HTML5,CSS3和AngularJS等當前最先進的前端開發技術,MySQL,ThinkPHP等后端數據技術,以及微信交互、模塊消息等方式對農業信息搜索系統進行了開發。