luci网页shell_修改Luci界面

本文介绍了如何修改OpenWrt的Luci界面,包括控制器和CBI模块的定义,以及如何创建配置页面。通过修改Luci的控制器文件、模型文件和视图文件,可以定制菜单、添加配置项,并实现配置文件的读写。此外,还展示了如何通过lua脚本实现界面与配置文件同步,并在配置更改后自动重启服务。
摘要由CSDN通过智能技术生成

修改Luci界面

参考 https://blog.csdn.net/hui523hui523hui523/article/details/38943693

参考 https://www.jianshu.com/p/bfb93c4e8dc9

参考 https://blog.csdn.net/weixin_43883277/article/details/98725690

参考 https://blog.csdn.net/weixin_43883277/article/details/99677581

参考 https://blog.csdn.net/weixin_43883277/article/details/98505104

参考 https://blog.csdn.net/weixin_43883277/article/details/99865510

LuCI 基础

Controller 位于: /usr/lib/lua/luci/controller/ 下——定义模块的入口

Model 位于: /usr/lib/lua/luci/model/cbi/ 下——配置模块实际的代码

第一步:定义模块入口:

eg:module("luci.controller.控制器名/路径", package.seeall)function index()

entry(路径, 调用目标, _("显示名称"), 显示顺序)

end

控制器名/路径:

不带路径的控制器名默认存在于/usr/lib/lua/luci/controller/下,否则以controller/为根目录

entry表示添加一个新的模块入口,官方给出了entry的定义,其中后两项都是可以为空的:

entry(path, target, title=nil, order=nil)

path:

如果这样写{“click”, “here”, “now”},那么就可以在浏览器里访问“http://192.168.x.1/cgi-bin/luci/click/here/now”来访问这个脚本。我们也可以根据需要按如下方式编写{“admin”, “一级菜单名”, “菜单项名”},系统会自动在对应的菜单中生成菜单项。比如想在“网络”菜单下创建一个菜单项,那么一级菜单名可以写为“network”。

target:

调用目标分为三种,分别是执行指定方法Action、访问指定页面Views以及调用CBI Module

第一种可以直接调用指定的函数,比如点击菜单项就直接重启路由器等等,比如写为call(“function_name”),然后在lua文件下编写名为function_name的函数就可以调用了。

第二种可以访问指定的页面,比如写为template(“myapp/mymodule”)就可以调用/usr/lib/lua/luci/view/myapp/mymodule.htm文件了

而如果要编写配置页面,那么使用第三种方法无非是最方便的,比如写为cbi(“myapp/mymodule”)就可以调用/usr/lib/lua/luci/model/cbi/myapp/mymodule.lua文件了。

title和order

module("luci.controller.LuoYeLuCI", package.seeall)

function index()

entry({"admin", "network", "LuoYeconfig"}, cbi("LuoYeCBI"), _("LuoYeTest"), 100)

end

第二步:配置CBI Module

1.首先要需要映射与存储文件的关系

m = Map("配置文件文件名", "配置页面标题", "配置页面说明")

第一个参数即为配置文件存储的文件名,不包含路径.

第二与第三个参数则是用在来页面上显示的

2.接下来需要创建与配置文件中对应的Section

Section分为两种,NamedSection和TypedSection,前者根据配置文件中的Section名,而后者根据配置文件中的Section类型 http://luci.subsignal.org/trac/wiki/Documentation/CBI

3.创建配置文件

文件需要存储在/etc/config(如果配置文件不存在的话,访问配置页面将会报错)

内容格式如下:

config login

option username ''

option password ''

option ifname 'eth0'

option domain ''

LuCI 页面修改

简单的文件配置,路由上路径主要是/usr/lib/lua/luci/下子目录:/controller/ 、/model/cbi/ 、 /view/,或者根目录下的/www/中.可以在路上修改查看效果.

如果想要编译自定义LuCI页面的固件,请尝试修改如下OpenWRT源码结构路径内的LuCI文件.

xxx/package/feeds/luci/luci/luci/libs/web/root/etc/config/luci --- AA 版本pakages/feeds/luci/中

xxx\feeds\luci\luci\luci\libs\web\root\etc\config\luci --- AA 版本的feeds/luci文件夹中

xxx/feeds/luci/modules/base/root/etc/config/luci --- BB 版本中feeds中,bb版本open修改了luci配置文件路径,并且pakages/feeds路径中也没有luci配置文件了.不知道这个路径是不是正确的.

再者就是修改 xxx/dl/ 下的源码压缩包,或者 xxx/build_dir/$target/下源码

注意:如果

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值