1、河北农业大学信息学院本科毕业论文题 目: 智慧大棚-管理系统实现 摘 要智慧大棚系统是物联网技术在农业方向上的一次探索,本系统通过各种智能感应器实时采集温室内温度,湿度,光照强度等环境参数,自动开启或者关闭指定设备。实现农业综合生态信息自动监测、对大棚温湿度远程控制,自动化浇水灌溉等功能。智慧大棚系统包括以51单片机为核心,WIFI传输模块,光传感器,温湿度传感器,led灯,电磁阀,电机等原件的下位机系统和用php编写的上位机系统。通过WIFI实现上位机和下位机通信,在上位机部署服务器,可以通过“花生壳”实现外网访问,实际部署时候可以购买域名实现商业化运作。在设计实现方面,本系统下位机部分由5
2、1单片机收集各传感器数据通过时钟定时广播发送连接的设备,通过WIFI模块可是实现电脑和手机的方便连接,上位机程序采用面向对象系统分析与设计方法,设计和实现本系统的各个模块,最终整合成完整的应用程序。接受到数据后通过处理存入数据库,通过开发的web网站和微信公众账号读取数据库数据向用户展示作物历史数据,通过与预定义的数据对比推荐用户进行浇水,增加光照等操作。设计此程序的目的是希望能给需要此类信息的人们带来方便,同时自己在完成此程序的过程中学到知识和经验。关键词:物联网、ThinkPHP、MySQL、51单片机、微信公众平台.AbstractIntelligentgreenhouse system
3、is an exploration onthe Internet of thingstechnology in agriculturaldirection,the system through thetemperaturereal-time acquisitionof greenhouseintelligent sensors,humidity,light intensityand other environmental parameters,automatically openorclosethe specified device.Implementation of integratedec
4、ologicalagricultural information automatic monitoring,temperature and humidity of the greenhouseremotecontrol,automaticirrigationand other functions. Intelligentgreenhousesystem includesthe 51 single-chip microcomputer as the core a WIFI transmission module, a lightsensor,temperature and humidity se
5、nsor,LED light,electromagneticvalve,the lower position machine systemmotorand other originalandPHPthe superior machinesystem.Through the WIFI to achievethe upper and lower machinecommunication,the deployment serverin the PC,can through thepeanutextranetaccess,the actual deploymentcan be achieved whe
6、nthe commercial operationto buydomain name.In the designimplementation,lowerpart of thissystem is composed of 51single chip microcomputerto collectallsensordata connectionthrough theclock timingbroadcast transmittingequipment,through the WIFI module torealizecomputerandmobile phoneconvenient connect
7、ion,PC program usingobject oriented system analysis and design method,design andRealization of each module inthissystem,the finalintegration intoapplicationscomplete.Receivedatathrough processingand stored in the database,the webwebsite andMicro messagepublicaccountread database datashowcrop histori
8、caldata to the user,by comparing thedatawith predefinedrecommended usersfor watering,increasing lightetc.The design ofthis programis designed tobring convenience topeoplein need of suchinformation,andupon completion of theprocedureof learned knowledgeand experience.Keywords: Internet of things, Thin
9、kPHP, MySQL, 51 single-chip microcomputer,Micro message public platform.目 录1.绪论11.1 前言11.3 国内外研究概况与发展趋势11.4 论文组织32.开发环境和开发技术42.1 系统结构42.2工具环境及应用的技术介绍42.2.1 开发环境的选择52.2.2 物联网简介52.2.3 ThinkPHP简介62.2.4 WAMP简介62.2.5 RBAC简介62.2.6微信公众平台简介73.需求分析3.1 设计思想83.2 可行性分析83.2.1经济可行性83.2.2 技术可行性83.2.3 操作可行性93.3 性能需
10、求93.4 功能需求93.4.1用户界面需求94.系统设计104.1 总体结构设计104.1.1 系统基础结构104.1.2 模块设计104.2.1 数据库说明115.1客户端界面的设计125.1.1主界面截图125.1.2主界面部分代码156. 系统主要技术特色186.1 运用WIFI模块186.3 使用了 Bootstramp和Highcharts187.结束语19参考文献20致 谢. 211.绪 论1.1 前言农业物联网就是物联网技术在农业生产、经营、管理和服务中的具体应用。按照物联网技术架构,农业物联网仍然通过 “感知一传输一应用”的途径来实现在农业的应用。“感知”就是运用各类传感器,
11、如温度传感器、湿度传感器、光传感器、PH 值传感器、CO:传感器等设备,广泛地采集大田种植、设施 园艺、畜禽 水产养殖 和农产 品物流等环 境 中的温度、相对湿度、PH 值、光照强度、土壤养分、cO2浓度等物理量参数信息 ;“传输”就是建立数据传输和格式转换方法,通过局部的无线网络、互联网、移动通信网等各种通信网络交互传递,实现农业信息的有效传输 ;“应用”就是将获取的海量农业信息进行融合、处理,使技术人员对多个大棚的环境进行监测控制和智能管理,保证农作物有一个良好的、适宜的生长环境,达到增产、改善品质、调节生长周期、提高经济效益的目的,进而实现农业生产集约、高产、优质、高效、生态和安全的目标
12、。本系统完成了智能控制大棚,科学调配植物生长的既定目标。1.2 课题研究的背景及意义随着世界各国政府对物联网行业的的政策倾斜和企业的大力支持和投入,物联网产业被急速的催生,根据国内外的数据显示,物联网从1999年至今进行了极大的发展渗透进每一个行业领域。可以预见到的是越来越多的行业领域以及技术、应用会和物联网产生交叉,向物联方向转变优化已经成为了时代的发展方向,物联网的发展,科技融合的加快。农业物联网:物联网被世界公认为是继计算机、互联网与移动通信网之后的世界信息产业第三次浪潮。他是以感知为前提,实现人与人、人与物、物与物全面互联的网络。在这背后,则是在物体上植入各种微型芯片,用这些传感器获取
13、物理世界的各种信息,再通过局部的无线网络、互联网、移动通信网等各种通信网路交互传递,从而实现对世界的感知。传统农业,浇水、施肥、打药,农民全凭经验、靠感觉。如今,设施农业生产基地,看到的却是另一番景象:瓜果蔬菜该不该浇水?施肥、打药,怎样保持精确的浓度?温度、湿度、光照、二氧化碳浓度,如何实行按需供给?一系列作物在不同生长周期曾被“模糊”处理的问题,都有信息化智能监控系统实时定量“精确”把关,农民只需按个开关,做个选择,或是完全听“指令”,就能种好菜、养好花。1.3 国内外研究概况与发展趋势温室作为一种为农作物生长创造适宜环境的农业设旌,可看成是一个半独立于自然界大气候的半封闭式的人工生态环境
14、,它可以避开外界种种不利因素的影响,改善或创造更佳的环境气候。随着计算机技术的进步和智能控制理论的发展,近百年来,温室作为设施农业的重要组成部分,其自动控制和管理技术不断得以提高,在世界各地都得到了长足发展。荷兰在1974年将计算机作为温室气候控制系统使用商品的核心部分出现在荷兰及世界市场上。目前,荷兰全国现有的1万hm2的玻璃温室全部由这种气候控制计算机操纵控制,并且可以同时控制各个温室单元,形成网络化的温室管理体系。在日本,作为设施农业主要内容的设施园艺相当发达,塑料温室达到普遍应用,设施栽培面积位居世界前列。而在韩国,从1992年以来政府就把设施园艺作为重点事业来推进发展,到92年底,带
15、环境控制的现代化设施的面积占10左右。以色列的温室从80年代到90年代更新了三代,科学家成功开发了一系列计算机软件,硬件,实现了温室供水,施肥和环境自动化控制。英国农业部对温室发展也很重视,科学家们先后进行了温室环境与作物生理,温室环境因子的计算机优化,温室节能,温室自动控制,温室作物栽培与产后处理的研究。另外,国外温室正致力于高科技发展。遥测技术,网络技术,控制局域网已逐渐应用予温室的控制与管理中。我国温室业起步比较晚。60年代仅利用简易式塑料大棚来种植蔬菜。1966年吉林省长春市建造我国第一座塑料大棚,面积仅500平方米,到了70年代,节能型日光温室开始在我国应用,并得到较快发展,到198
16、1年,根据19个省市,自治区统计,保护地面积为16万公顷,占蔬菜种植面积的435,其中温室仅1500公顷,占菜地面积的04。到1994年7月,全国就已有节能型目光温室1 15万亩,大棚400万亩,总面积达515万亩。而大型玻璃结构温室在我国发展一直较慢,直到80年代初,才先后从同本,美国,荷兰和保加利亚等国引进了40套左右的现代化温室成套设备,主要分布在北京,上海,广州等大城市周围,我国自己生产的玻璃温数量较少,也由于其内部设施较为简陋,产品质量与使用性能都低于国外先进产品,从而影响了国产温室的推广和使用。虽然这些国外温室技术领先,设备先进,但在我国的使用过程中还存在较严重的问题,温室自动控制
17、系统突出的问题有以下几点:(1)投入产出低,运行经济效益差,而且引进价格高,国内农业生产难以接受。(2)技术要求过高,一般的用户很难掌握,限制了温室的适用范围。(3)不适合我国的气候特征。引进的温室的一些运营模式没有与中国的实际结合起来,因此不能适应我国的气候特征。所以,研究开发出符合我国国情,产生明显经济效益并适用于大面积推广应用的自控温室系统迫在眉睫。基于以上种种原因,我国的农业工程技术人员在吸收发达国家高科技温室生产技术的基础上,进行了温室中温度,湿度,光照等单项环境因子的控制技术研究。在80年代,实现了对人工气候室进行的微机控制,如重庆柑橘所人工气候室的单片机控制系统,以及上海植生所的
18、人工气候室。其后对计算机温室控制系统的研究一直没有中断,到了1995年,北京农业大学研制成功的“WJG一1型实验温室环境监控计算机管理系统”,此系统属于小型分布式数据采集控制系统“”;江苏理工大学研制成功的基于工控机进行管理的植物工厂系统;吉林工业大学研制成功的用于温室的智能喷水控制器,能够根据温室内的温度,湿度和光照度来自动调节喷水量;中国农业机械化科学研究院研制成新型智能温室,由大棚本体,通风降温系统,太阳能贮存系统,燃油热风加热系统,灌溉系统,计算机环境参数测控系统等组成:还有许多高等院校,科研院所都在进行温室控制系统的相关研究,并且许多单位都已建起或将要建起温室控制系统的总体框架。19
19、97年以来,中国农业大学在温室环境的自动控制技术方面取得了一定的成果。1.4 论文组织论文全文共分为七章:第一章 绪论。主要介绍了论文选题的引言、对课题研究的背景及意义进行了分析,同时也对国内外研究状况及发展趋势进行了介绍。第二章 开发环境和开发技术。第三章 需求分析。第四章 系统设计。第五章 系统实现。第六章 系统测试。选取具有代表性的数据进行测试,保证系统正常运行。第七章 结束语。对系统实现过程进行了总结。2.开发环境和开发技术2.1 系统结构智慧大棚系统通过射频识别设备、各种智能感应器等,实时采集温室内温度、湿度光照强度等环境参数,自动开启或者关闭指定设备。实现农业综合生态信息自动监测、
20、对大棚温湿度远程控制,自动化浇水灌溉等功能,智慧大棚系统包括以51单片机为核心,WIFI传输模块,光传感器,温湿度传感器,led灯,电磁阀,电机等原件的下位机系统和用java编写的上位机系统。通过WIFI实现上位机和下位机通信,在上位机部署服务器,可以通过“花生壳”实现外网访问,实际部署时候可以购买域名实现商业化运作。本作品下位机系统部分由51单片机收集各传感器数据通过时钟定时广播发送连接的设备,通过WIFI模块可是实现电脑和手机的方便连接,上位机程序接受到数据后通过处理存入数据库,通过开发的web网站和微信公众账号读取数据库数据向用户展示作物历史数据,通过与预定义的数据对比推荐用户进行浇水,
21、增加光照等操作。图 1.1 系统结构图2.2工具环境及应用的技术介绍2.2.1 开发环境的选择开发环境:在上位机和下位机开发环境都是Windows,下位机运行在51单片机上,上位机运行在wamp上。开发工具:上位机使用Sublime Text开发环境运用PHP语言ThinkPHP框架完成的php项目,下位机是用keil编写51单片机程序控制各传感器和应用设施。2.2.2 物联网简介物联网3是一个由感知层、网络层、应用层共同构成的信息系统4,是一个庞大的社会信息系统工程,更是一个涉及国民经济各行各业、社会与生活各个领域的无所不包的庞大产业链。物联网结构复杂,主要包括3个部分:首先是感知层,承担信
22、息的采集(通过智能卡、RFID5电子标签、识别码、二维码、传感器等);其次是网络层,承担信息的传输(通过现有的广电网络、互联网、通信网络或者未来的NGN网络(下一代网络)等);最后是应用层,完成信息的分析处理和决策,以及实现或完成特定的智能化应用和服务任务,以实现物/物、人/物之间的识别与感知,发挥智能作用。图2.1 物联网系统结构图2.2.3 ThinkPHP简介ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的
23、性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,众多的典型案例确保可以稳定用于商业以及门户级的开发。ThinkPHP可以支持windows/Unix/Liunx等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite以及PDO等多种数据库,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。作为一个整体开发解决方案,ThinkPHP能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机
24、制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组件都是精心设计和完善的,应用开发过程仅仅需要关注您的业务逻辑ThinkPHP遵循 Apache2开源许可协议发布,意味着用户可以免费使用ThinkPHP,甚至允许把用户的ThinkPHP应用采用商业闭源发布。2.2.4 WAMP简介Windows下的Apache+Mysql/MariaDB+Perl/PHP/Python,一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的
25、蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。2.2.5 RBAC简介基于角色的访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统的合并而赋予新的权限
26、,而权限也可根据需要而从某角色中回收。角色与角色的关系可以建立起来以囊括更广泛的客观情况。图2.2 RBAC原理图2.2.6微信公众平台简介微信公众平台是腾讯公司在微信的基础上新增的功能模块,通过这一平台,个人和企业都可以打造一个微信的公众号,可以群发文字、图片、语音、视频、图文消息五个类别的内容。目前微信公众平台支持PC端网页、移动互联网客户端登录,并可以绑定私人帐号进行群发信息。图2.3 微信后台管理界面3.需求分析3.1 设计思想设计思想是项目开始的第一项工作,用来整体把握整个项目。设计下位机程序:主要以51单片机为核心控制传感器及各种元器件。上位机端:创建一个动态的Web项目,通过新建
27、一个Soket来与下位机交互,通过多线程技术完成Soket的长连接用于接收下位机数据并将数据插入MySql数据库中。实现RBAC权限管理系统对不同用户赋予不同权限,对项目进行详尽管理。这个应用采用了ThinkPHP框架,运用MVC思想勾践,主要分为了四个模块:用户权限管理模块,与下位机连接传输模块,控制下位机模块,展示大棚状态模块。前端运用BootStrap,jquery,Highcharts完成前端交互应用,在完成基本功能的同时给用户以良好的交互体验。提供微信接口与微信公众平台对接,实现微信智能管理。3.2 可行性分析可行性分析是系统分析阶段的第二项活动,它的主要目是进一步明确系统的目标、规
28、模与功能,对系统开发背景、必要性和意义进行了调查分析并根据需要和可能提出开发系统的初步方案与计划。通过调查分析,本系统设计主要有以下三个可行性:3.2.1经济可行性此系统开发所需软件工具:Sublime,WAMP,MySQL均是开源工具,ThinkPHP为开源框架在网上都可以方便得下载到,不涉及商业应用纠纷。开发需要在一台个人电脑上实现,由于现在的个人电脑有着价格越来越低,配置和性能也越来越高的特点,而此项目的开发并不需要配置特别高的电脑作支持。所以有了设备和工具支持,开发本项目几乎没有物理成本,仅仅是简单的人工成本,这样开发此项目在经济可行性上成为可能。整个系统建设完成后会给大棚管理带来强有
29、力的技术和信息支持,为高效的种植和培养作物,进而产出高产优质的农作物提供了帮助,虽然回报周期长,但是系统的平台行和高知识含量性印证了科学强大的生产力。3.2.2 技术可行性客户端的开发采用PHP语言,在Windows或Linux系统中使用Sublime开发。结合平时所学知识,自己有着编写过php小项目和熟练使用Sublime的经验,在技术上成为可行。是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域,在稍大的系统当中,php语言的面向对象性质能方便得操作各类数据,同时丰富的接口使得程序的扩展性和灵活性大大增加。使用系统
30、或自定义类来完成工作,能够实现代码的重用效率,有效减少代码冗余。51单片机用c语言开发结构较为简单,适合快速开发。3.2.3 操作可行性客户端简洁的页面和结构清晰的布局,使得在使用时非常方便,在操作上要求非常低,只需简单的点击对应按钮,就能获取所需数据或者对平台设备进行控制。就像平时观看电视节目按动遥控器一般,简单易行。3.3 性能需求该软件是运行在服务器环境的软件,需要拥有公网域名等资源。下位机目前采用51单片机开发,将来如果需要视频传输等高级功能可以升级到ARM,微信公众平台目前基础服务免费,可以胜任系统需求。3.4 功能需求在系统的设计阶段,明确了系统使用时操作要方便,界面要简洁的特点,
31、按照此原则,尽量做到人性化的界面布局和逻辑跳转。3.4.1用户界面需求使用简约大方的背景,突出简洁的特点;添加与背景对比度强烈的文字颜色,增大文字的字体,给人更美观直白的视觉效果;适当用图片按钮代替文字按钮,既能突出系统的主题,又使页面不至于空洞枯燥。4.系统设计4.1 总体结构设计4.1.1 系统基础结构下位机应用程序上位机应用程序把握系统的总体设计结构,首先将整个系统的架构设计出来。其组织结构图如4-1所示。 发送操作数据 发送数据图4.1 系统组织结构图下位机发送设备时时数据资料信息,服务器端获取请求后对数据处理并存储。上位机向下位机发送操作设备请求。4.1.2 模块设计上位机Socke
32、t持续连接模块用户管理模块微信接口模块设备操作模块本系统包含四部分模块,第一部分是和下位机连接模块,主要保持socket持久连接。第二部分为用户管理模块,主要为用户划分功能使用权限。第三部分为对设备数据的显示和控制模块,主要对大棚进行智能管理。第四部分是微信接口部分,主要是对接微信公众平台为公众账号提供智能显示设备数据。Wifi模块光照传感器温湿度传感器土壤湿度传感器LED灯风扇卷帘下位机 图4.2 系统组织结构图4.2 数据库设计图4.3 系统数据库设计4.2.1 数据库说明户表(USERS)包括用户标识、用户姓名、用户登录密码。用户表是系统中的个体用户集,随用户的添加与删除动态变化。角色表
33、(ROLES)包括角色标识、角色名称、角色基数、角色可用标识。角色表是系统角色集,由系统管理员定义角色。客体表(OBJECTS)包括对象标识、对象名称。客体表是系统中所有受控对象的集合。操作算子表(OPERATIONS)包括操作标识、操作算子名称。系统中所有受控对象的操作算子构成操作算子表。许可表(PERMISSIONS)包括许可标识、许可名称、受控对象、操作标识。许可表给出了受控对象与操作算子的对应关系。角色/许可授权表包括角色标识、许可标识。系统管理员通过为角色分配或取消许可管理角色/许可授权表。RBAC的基本思想是:授权给用户的访问权限,通常由用户在一个组织中担当的角色来确定。RBAC中
34、许可被授权给角色,角色被授权给用户,用户不直接与许可关联。RBAC对访问权限的授权由管理员统一管理,RBAC根据用户在组织内所处的角色作出访问授权与控制,授权规定是强加给用户的,用户不能自主地将访问权限传给他人,这是一种非自主型集中式访问控制方式。例如,在医院里,医生这个角色可以开处方,但他无权将开处方的权力传给护士。5.系统实现5.1客户端界面的设计5.1.1主界面截图图5.1 网站初始页面图5.2 网站显示温度页面图5.3 网站用户管理页面图5.4 网具体操作页面5.1.2主界面部分代码1 user=D(UserRelation)-field(password,true)-relation
35、(true)-select(); /大小写,true表示定义的字段为数据表中排除password之外的所有字段 5 /p($this-user);die; 6 $this-display(); 7 8 /用户锁定处理 9 public function userlock()10 $id=$_GETid;11 /锁定用户12 if($id=1)/判断用户是否为超级管理员,如果是不能做任何操作(我的超级管理员ID为1)13 $this-error(对不起,您不能对此用户做任何操作!);14 else15 $i=M(User)-where(array(id=$id)-setField(lock,1)
36、;16 $this-success(用户已关闭!);17 18 19 /用户解锁处理20 public function userunlock()21 $id=$_GETid;22 /解锁用户23 if($id=1)/判断用户是否为超级管理员,如果是不能做任何操作(我的超级管理员ID为1)24 $this-error(对不起,您不能对此用户做任何操作!);25 else26 $i=M(User)-where(array(id=$id)-setField(lock,0);27 $this-success(用户已开启!);28 29 30 /角色列表31 public function role(
37、)32 $this-role = M(role)-select();33 $this-display();34 35 36 /节点列表37 public function node()38 $field = array(id,name,title,pid);39 $node = M(node)-field($field)-order(sort)-select();40 $this-node = node_merge($node);/递归重组节点信息为多维数组41 /var_dump($this-node);42 $this-display();43 44 45 /添加列表46 public f
38、unction addUser()47 $this-role = M(role)-select();48 $this-display();49 50 51 /添加用户处理52 public function addUserHandle()53 $user = array(54 username = $_POSTusername,55 password = md5($_POSTpassword),56 logintime = time(),57 loginip = get_client_ip(), /获取ip58 );59 if($uid = M(user)-add($user)60 forea
39、ch($_POSTrole_id as $v)61 $role = array(62 role_id = $v,63 user_id = $uid,64 );65 66 M(role_user)-addAll($role);67 $this-success(添加成功, index);68 else 69 $this-error(添加失败);70 71 72 73 /添加角色74 public function addRole()75 /echo 添加角色;76 $this-display();77 78 79 /角色添加处理80 public function addRoleHandle()8
40、1 p($_POST);die;82 if(M(role)-add($_POST)83 $this-success(添加成功, U(GROUP_NAME./Rbac/role);84 else 85 $this-error(添加失败);86 87 88 89 /添加节点90 public function addNode()91 $this-pid = I(pid, 0, intval);92 $this-level = I(level, 1, intval);93 switch($this-level)94 case 1:95 $this-type = 应用;96 break;97 case
41、 2:98 $this-type = 控制器;99 break;100 case 3:101 $this-type = 方法;102 break;103 104 105 $this-display();106 107 108 /添加节点处理109 public function addNodeHandle()110 /p($_POST);die;111 if(M(node)-add($_POST)112 $this-success(添加成功, U(GROUP_NAME./Rbac/node);113 else 114 $this-error(添加失败);115 116 117 118 /权限处
42、理119 public function access()120 $rid = I(rid, 0, intval);121 $field = array(id, name, title, pid);122 $node = M(node)-order(sort)-field($field)-select();123 124 /原有权限125 $access = M(access)-where(array(role_id = $rid)-getField(node_id, true);126 $this-node = node_merge($node, $access);127 $this-rid
43、 = $rid;128 $this-display();129 130 131 public function setAccess()132 $rid = I(rid, 0, intval);133 $db = M(access);134 135 /删除原来的权限136 $db-where(array(role_id = $rid)-delete();137 138 $data = array();139 foreach ($_POSTaccess as $v)140 $tmp = explode(_, $v);141 $data = array(142 role_id = $rid,143 node_id = $t