searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

OpenWrt OUI 浅析

2023-08-17 10:06:50
345
0

1. OpenWrt及其OUI简介

Openwrt是一个运行在嵌入式设备上的linux系统。他的文件系统是可写的,能够大大地方便进行定制化开发。

OpenWrt的后台管理界面OUI,使用了[vue.js]和[element-ui]实现,灵感来自于[LuCI2]。

 

2. OUI前后端交互

OUI使用了[json-rpc]和OpenWrt子系统进行通信。通过[json-rpc]调用[ubus],通过[ubus]存取各种系统数据(通过[uhttpd-mod-ubus]提供基于HTTP的接口API)。

Oui代码中的oui-ui-core 中存放的是前端代码,而oui-rpc-core 中则是后端rpc代码。

 

oui-rpc-core/files/oui.lua中是最重要的后端代码,里面定义了所有rpc接口。该脚本采用lua开发。

而这个文件在安装到设备上时,将会被copy为/usr/sbin/oui,作为后台程序启动。

在前端代码oui-ui-core中,主要存放的就是各个页面的vue文件。如下面home.vue中代码所示,前端vue代码通过ubus调用,来实现从后端rpc接口获取数据。

上述红框中的代码,真正调用的rpc代码定义在刚才提到的oui.lua文件中:

3. 权限管理

如果要添加一个新的rpc接口,只在oui后台脚本里添加并在前端vue那进行调用是不够的,还需要在权限管理文件里头,添加相应权限。

该权限管理文件在oui-ui-core\files\usr\share\rpcd\acl.d\oui.json。

添加权限时,需找到对应的地方,添加rpc接口名称。

0条评论
0 / 1000
云中漫步
3文章数
0粉丝数
云中漫步
3 文章 | 0 粉丝
云中漫步
3文章数
0粉丝数
云中漫步
3 文章 | 0 粉丝
原创

OpenWrt OUI 浅析

2023-08-17 10:06:50
345
0

1. OpenWrt及其OUI简介

Openwrt是一个运行在嵌入式设备上的linux系统。他的文件系统是可写的,能够大大地方便进行定制化开发。

OpenWrt的后台管理界面OUI,使用了[vue.js]和[element-ui]实现,灵感来自于[LuCI2]。

 

2. OUI前后端交互

OUI使用了[json-rpc]和OpenWrt子系统进行通信。通过[json-rpc]调用[ubus],通过[ubus]存取各种系统数据(通过[uhttpd-mod-ubus]提供基于HTTP的接口API)。

Oui代码中的oui-ui-core 中存放的是前端代码,而oui-rpc-core 中则是后端rpc代码。

 

oui-rpc-core/files/oui.lua中是最重要的后端代码,里面定义了所有rpc接口。该脚本采用lua开发。

而这个文件在安装到设备上时,将会被copy为/usr/sbin/oui,作为后台程序启动。

在前端代码oui-ui-core中,主要存放的就是各个页面的vue文件。如下面home.vue中代码所示,前端vue代码通过ubus调用,来实现从后端rpc接口获取数据。

上述红框中的代码,真正调用的rpc代码定义在刚才提到的oui.lua文件中:

3. 权限管理

如果要添加一个新的rpc接口,只在oui后台脚本里添加并在前端vue那进行调用是不够的,还需要在权限管理文件里头,添加相应权限。

该权限管理文件在oui-ui-core\files\usr\share\rpcd\acl.d\oui.json。

添加权限时,需找到对应的地方,添加rpc接口名称。

文章来自个人专栏
云中漫步
3 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0