🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
此目录包含三级系统的项目的说明和相关接口的使用。 ## API 说明 * 访问形式统一以 地址 + index 进行访问,文档的接口地址全面默认去除 index ,需要用的时候请自己添加 * 使用的时候可以把域名 + /index 进行拼接来访问 * API 返回的数据说明,code 表示服务端返回的消息状态,目前只包含两个值, 0 => 请求或操作成功 , -1 => 请求操作失败 ~~~ { code:0 } // 请求成功不包含消息体 { code:0, data:[] } // 包含消息内容 { code: -1,msg:'错误' } // 请求失败,加错误消息 ~~~ >[danger] 请求成功返回的内容格式不固定,请根据具体的接口返回进行操作 > 请求失败返回的格式一致都包含 code -1 msg 错误消息 * 在文档结果里面 debug 表示调试的时候数据返回, success 表示正式数据返回, error 表示错误信息返回 , 若没有 debug 表示正式和调试返回的数据格式是一致的。 具体的信息请参考具体的返回内容。 >[danger] 服务端返回的数据会带有 http 状态码 > 403 表示没有访问权限 > 401 表示没有登录 > 400 表示包含错误 > 200 请求正常返回 ## 权限设计 * 权限设计到的数据库表有 `auth_power` 、`auth_role` 分别是权限表和角色表, 具体可以参考数据库注释 * 权限设计通过配置文件的形式根据提供的接口和路由进行相应的配置,具体的配置文件存放在 admin / common / Configs.php 里面 * 权限检查,通过和登录检查一样的检查方式,在检查路由的时候加上一下代码,筛选不用检查权限的路由 ~~~php ['noAuth2' => true] ~~~ * 在配置文件里面区分了一个功能权限和设备控制的权限,分别存放于两个不同的数组,要使用按需使用即可 * 权限检查: 权限检查文件放在配置文件的同级目录里面,名称为 Auth.php >[info] 权限检查的时候优先检查功能权限,对控制设备的权限进行了筛选,要检查控制设备的路由才进行权限检查,具体排除,见详细的 检查文件。 > 检查功能权限的时候,通过路由进行匹配出对应的 id 来进行权限检查。 设备控制检查通过控制设备参数,多传递一个 设备类型来进行权限的精确检查。也是通过匹配出对应的 id 来进行权限的检查。 > 检查功能权限和设备权限的时候,若数据库里面查询出的数据,都是空数组的话,表示支持所有的权限,包括功能权限和设备的控制权限。 >[danger] 检查说明: 设备控制权限,为了节省效率,检查的时候,只要匹配一个字段有权限就不会再进行下一个字段的权限检查,也就是说,若同时控制两个字段,一个有一个没有权限,检查出来的权限表示也是有权限的。 ## 设备的状态获取 * 设备的状态获取区分了两个接口,一个 Api.php 文件来连接和通讯所有的设备相关的功能。 >[danger] 由于设备状态的实时刷新会影响到前端数据的返回卡顿问题, 特意在后台获取到设备状态之后,存放到数据缓存,默认每个缓存的时间为 60 s ,在设备控制之后进行一个缓存的清除, 设备列表再次请求状态的时候,默认会从 api 里面获取最新的设备状态来及时显示。 如果离线的话,应该要正常等待 60 s 之后设备状态才会及时更新。