基于AngularJS的农业信息搜索系统设计与实现

2018-12-22 14:04
无线互联科技 2018年19期
关键词:列表视图页面

刘 艳

(河南师范大学 计算机与信息工程学院,河南 新乡 453007)

当前,农业信息的及时提供不仅可以加速农产品的流通,也是建设现代农业的基础[1]。我国农业相关人员获取农业相关信息的主要途径为:综合搜索引擎约占53%;其次是农业全文搜索引擎;最后是农业分类搜索引擎[2]。但从具体占比数据来看,农业分类搜索等专业门户网站的比重还较低,说明利用专业途经获取农业信息的存在诸多困难[3]。

当“互联网+”和农业之间深度融合以后,互联网技术带来了及时的数据、信息和崭新的技术手段,从而使得农业产业中的各个环节、涉及农业领域的众多细分市场,都有了更多的条件、技术和可能来进行创新。农业信息研究可以通过IT技术,突破时间空间限制,实现及时有效地互联互通,进而将大大促进农业知识、农业资源、农业科技、农业生产、农产品市场等各方面信息的快速及时传递,解决信息的不对称问题。在优化农业生产的同时,也能对接农副产品供需市场,解决传统时期农业信息不畅而滞销等问题。农业信息化对农业生产过程中所需各类资源,都有相当高程度的重新配置作用,这将大大提高土地、劳动力、资金等各项生产资源的配置利用效率。“互联网+”结合大数据、物联网等近年来兴起的信息技术,可以不断提升农业各个生产环节智能化程度,提高生产效率,进而实现“生产环境可测、生产过程可控、产品质量可溯”,也能部分解决食品安全等问题。信息化农业的推广,在节约人力成本的同时,同时也大大提高了农产品的质量和产量,进而也增强了农业的抗风险能力。

1 相关技术

AngularJS[4]是一个功能强大的基于JavaScript,用来构建大型应用,高性能的Web应用程序的框架,是开源的,完全免费的,并且由数千名世界各地的开发者开发维护,为开发者提供了一个在干净的模型—视图—控制器(Model View Controller,MVC)方式,编写的应用都是跨浏览器兼容的,易于维护的动态网络应用框架。

1.1 AngularJS MVC架构

模型视图控制器是一种Web应用程序开发设计模式[5]。传统的MVC主要由模型、视图、控制器几个成分组成。MVC是当前应用比较广泛的模式构建,因为它从用户界面层和支持分离关注隔离了应用逻辑。

1.2 AngularJS模块

在开发程序的过程中,AngularJS允许并且优先鼓励开发者使用模块化的思想来开发应用。为了使开发者书写的代码更加简洁明快,AngularJS允许在单个的js文件中完成模块的命名,并可以将其称为module.js文件。每个程序中允许有多个模块,每个模块应该含有定义功能的部分。模块方法有众多优点。AngularJS也允许开发者利用angular.modle()来定义模块,这种方法要求有两个参数,第一个参数是要定义的模块名,第二是依赖表,也就是要求被射入到模块当中的依赖列表[6]。

1.3 AngularJS数据绑定

AngularJS系统利用不同的手段来组合来自模型的数据并传递给视图。每视图的组成部分是动态插值的。AngularJS的完成模式允许把程序中的模型当作为唯一数据源。视图自始至终仅仅是数据的呈现模式。双向数据绑定功能是AngularJS中众多功能之一,也是AngularJS的重要特性。

1.4 AngularJS服务

服务是JavaScript函数或对象,允许AngularJS程序中应用。控制器、过滤器等都可以通过指令调用服务。服务的输入依靠AngularJS的依赖注入模式。AngularJS提供了如$http和$route等众多常见的内置服务,每种服务都有一种特殊的功能。开发者可以利用$route来定义路由消息等。

1.5 AngularJS依赖注入

依赖注入式AngularJS的重要特性之一[7]。在AngularJS的系统中,依赖注入可以说到处存在。经常在下面场景(函数)中会应用依赖注入:使用工厂方法来完成定义组件(components)时:如directive,factory,filter,provider,controller等。这些工厂函数需要注册到某个模块上。

1.6 如何获取微信用户信息

利用微信关注用户的基本信息,主要包括用户微信名(或者昵称)、用户微信头像、用户注册性别、用户所在地域、用户使用语言等方面。该技术将适用于订阅号、服务号以及微信用户自定义菜单中的所有场景[8]。

2 基于AngularJS的农业信息搜索系统的设计与实现

2.1 系统设计

本系统的服务对象主要是一般农民、农业院校的师生、农业技术人员、涉农企业负责人等人士。可提供商家企业信息、涉农科技、展览展示、农资信息、花卉信息、涉农养生等方面的信息服务。系统总体分为展示前台和后台。前台展示又分为推荐、搜索、导航、详情、微信交互等。后台管理包括登录、列表、筛选、编辑、设置等。

2.2 系统前台实现

在首页显示的热词排行下面,从左至右依次可以点击显示今日、本周、本月3个时间段内通过该网络搜索频次最高的一些词汇。在首页面的搜索框中输入关心的词汇后,如果有满足条件的词条出现,搜索结果会及时显现。搜索结果实时显现是本系统的一个亮点。为了更好地交流信息,留言评价。利用全局Access Token技术,系统开发了与微信进行交互的功能。使微信用户关注即可进入网站系统,同时采用HTML5技术研发,打开速度较传统页面提升较大,访问更快速方便。用户扫描网页上的二维码后,用户手机系统将出现取得用户信息许可的通知界面,获取用户微信登录信息的前端逻辑。

2.3 系统后台实现

本系统根据动态网站系统的需要,该系统采用ThinkPHP+MySQL的数据库管理模式[9]。管理员成功登录后台后,系统将自动呈现百科条目列表。列表包含条目ID、标题、缩略图、摘要、分类、添加时间、点击统计、编辑操作等。在列表页面下,每条条目右侧有对应的编辑、删除按钮,点击后管理员可以根据提示进行相应的操作。在列表页面下,设计了分类筛选功能,也就是管理者可以先根据类别查询条目。在列表页面的右上角,点击分类按钮,就可以显示各种分类,点击该类别,就可以方便地查询该类别下的所有条目。管理员成功登录后,在列表页面,点击页面左上角的添加条目按钮,系统将跳转到添加新一条条目的页面。管理员添加条目时,需要添加该条目的标题、分类、正文等。在正文部分,系统提供了常用的编辑功能,同时也可以插入编辑图片。完成条目的内容编辑后,点击提交即可。当然,系统也提供了取消添加、删除临时添加条目的内容。

3 结语

本文在广泛调研的基础上,确定了系统的总体设计。根据各部分的功能,利用HTML5,CSS3和AngularJS等当前最先进的前端开发技术,MySQL,ThinkPHP等后端数据技术,以及微信交互、模块消息等方式对农业信息搜索系统进行了开发。

猜你喜欢
列表视图页面
刷新生活的页面
学习运用列表法
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
不含3-圈的1-平面图的列表边染色与列表全染色
网站结构在SEO中的研究与应用
浅析ASP.NET页面导航技术