openWRT的luci web管理器添加新菜单案例--leidiclient

 

root@OpenWrt:/# cat /usr/lib/lua/luci/controller/leidiclient.lua
module("luci.controller.leidiclient", package.seeall)
function index()
        entry({"admin", "network", "leidiclient"}, cbi("leidiclient"), _("LEIDI Client"), 100)
        end

 

root@OpenWrt:/# cat /etc/config/leidiclient
config login
    option username ''
    option password ''
    option ifname ''
    option domain ''

 

root@OpenWrt:/# cat /usr/lib/lua/luci/model/cbi/leidiclient.lua
require("luci.sys")

m = Map("leidiclient", translate("LEIDI Client"), translate("Configure leidi client."))

s = m:section(TypedSection, "login", "")  //login显示设定值项目
s.addremove = false  //设定不允许增加或删除
s.anonymous = true   //不显示Section的名称

enable = s:option(Flag, "enable", translate("Enable"))  //使能项
name = s:option(Value, "username", translate("Username"))
pass = s:option(Value, "password", translate("Password"))
pass.password = true //密码隐藏与否
domain = s:option(Value, "domain", translate("Domain")) //单纯输入值

ifname = s:option(ListValue, "ifname", translate("Interfaces")) //引用内部包含库选值
for k, v in ipairs(luci.sys.net.devices()) do
    if v ~= "lo" then
        ifname:value(v)
    end
end

number= s:option(ListValue, "number", translate("Number")) //自定义选值
number:value("100421104")
number:value("100421105")
number:value("100421106")

button=s:option(Button,"_button","Button") //按键

local apply = luci.http.formvalue("cbi.apply")
if apply then
    io.popen("/etc/init.d/leidiclient restart")
end

return m

 

  

 

  

-------------------------------------------------

测试:
root@OpenWrt:/# cat /etc/config/leidiclient //
config login
option enable '1'
option username 'gemeng'
option password '123456'
option domain 'leidi'
option ifname 'br-lan'

root@OpenWrt:/# cat /etc/config/leidiclient //
config login
option enable '1'
option username 'gemeng'
option password '123456'
option domain 'leidi'
option ifname 'br-lan'
option number '100421106'
root@OpenWrt:/# cat /etc/config/leidiclient //

config login
option username 'gemeng'
option password '123456'
option domain 'leidi'
option ifname 'br-lan'
option number '100421106'
option enable '1'
option class '100424'

------------------------------------------

 

posted @ 2017-12-11 09:24  bkycrmn  阅读(384)  评论(0)    收藏  举报