luci自定义之初识

简介:        第一次接触op的时候,第一感觉就是配置很繁琐,而且不怎么耐看。所以一直寻思着把luci修改得更加的简单。       本来以为,要修改luci无非是改改样式而已,真正接触了luci才知道,并不是想象之中那么简单,所以这也让我头疼了好几天。

       第一次接触op的时候,第一感觉就是配置很繁琐,而且不怎么耐看。所以一直寻思着把luci修改得更加的简单。

       本来以为,要修改luci无非是改改样式而已,真正接触了luci才知道,并不是想象之中那么简单,所以这也让我头疼了好几天。

       没办法,急着要赶工,完全修改样式这么庞大的改动是很难在短时间内完成的,所以只能是另辟蹊径吧。所以,我们得了解luci是怎么从输入地址之后到登录界面,然后再到登录成功后的页面。这样,我们就可以把登录成功之后的页面改成指向我们自己定义的页面了。

       首先当你输入地址,就会访问/www目录下面的index.html,也就是那个黑黑的页面,接着就会跳转到/www/cgi-bin中的luci。luci文件代码如下:

       #!/usr/bin/lua -- 执行命令的路径

       require"luci.cacheloader" -- 导入 cacheloader 包

       require"luci.sgi.cgi" -- 导入 sgi.cgi 包

       luci.dispatcher.indexcache = "/tmp/luci-indexcache" --cache 缓存路径地址

       luci.sgi.cgi.run() -- 执 行 run 方法,此方法位于 /usr/lib/lua/luci/sgi/cgi.lua中

       接着就经过一系列的执行还有登录操作,最后会找到/usr/lib/lua/luci/controller/admin里面的index.lua脚本,我们通过修改这个脚本就可以使登录成功之后的页面指向改道,跳转到我们要跳转的页面,这样我们就可以自己定义想要的页面啦。这里贴出我的index.lua代码:

function index()
    local root = node()
    if not root.target then
        root.target = alias("admin")
        root.index = true
    end

    local page   = node("admin")

    require "luci.common"
    require "luci.sys"
    page.target  = template("admin_mypage/poindex") --登录成功后跳转的页面

    page.title   = _("Administration")
    page.order   = 10
    page.sysauth = "root"
    page.sysauth_authenticator = "htmlauth"
    page.ucidata = true
    page.index = true

    entry({"admin", "logout"}, call("action_logout"), _("Logout"), 90)
end

      当然,要做这些还需要了解luci的精髓MVC界面生成。这个可以自己去百度,这里推荐几个博客去了解就可以了。

      http://www.cnblogs.com/gnuhpc/p/3293643.html

      http://www.verydemo.com/demo_c101_i42459.html

      http://www.cnblogs.com/gnuhpc/archive/2013/08/31/3293204.html

      这是上班偷偷写的,有点乱,下期继续我们的luci界面自定义之旅。

      下期爆照几张做好的。

目录
相关文章
|
7月前
|
存储 安全 Linux
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
|
10月前
|
存储
LabVIEW使用VI Package Manager(VIPM)下载和管理附加组件
LabVIEW使用VI Package Manager(VIPM)下载和管理附加组件
363 1
|
Oracle Java 关系型数据库
【安装与配置 一】Java环境变量的配置
【安装与配置 一】Java环境变量的配置
163 0
Magisk模块:Prop修改工具
Magisk模块:Prop修改工具
1670 0
|
应用服务中间件 PHP nginx
mac环境composer新建php的symfony项目并用nginx配置
mac环境composer新建php的symfony项目并用nginx配置
227 0
mac环境composer新建php的symfony项目并用nginx配置
Confluence 6 配置 workbox 通知
你可以在你的 Confluence workbox 中查看和管理应用内的通知和任务。更多的,你可以在 Confluence workbox 中从接收到从 JIRA 和其他 Confluence 服务器的消息。
1101 0
|
存储 数据库
Confluence 6 编辑自定义 Decorators
希望对 Confluence 的 decorator 进行编辑的话,你需要具有良好的 HTML 知识和能够理解  Velocity 模板语言。
960 0

热门文章

最新文章