lua
注释 -- 单行注释 --[[ ]]-- 多行注释数据类型可以用type函数判断 nil(未使用过的变量,既是值,也是类型) boolean string number(相当于c里的double) table(唯一的数据结构,基本与php数组类型同,索引数组从1开始) function userdara thread
lua的真假判断 lua将0和空字符串也视为真,实际上,除了nil和false,其余皆为真
字符串连接用 ..
比较运算不等 ~=
v1 and v2 若v1为真则取v2,若v1为假则取v1
v1 or v2 若v1为真则取v1,v1为假取v2
(v1 and v2) or v3 相当于 v1 ? v2 : v3
迭代 for i=10,1,-1 do print(i) end pairs ipairs(数组)
os.execute 执行命令行 os.date os.time时间函数
luci
controllermodule("luci.controller.控制器名", package.seeall)
function index()
entry(路径, 调用目标, _("显示名称"), 显示顺序)
end
第二项为调用目标,调用目标分三种,分别是执行指定方法(Action)、访问指定页面(Views)以及调用CBI Module。
uci
UCI的方式,我们首先需要创建对应的配置文件(如果配置文件不存在的话,访问配置页面将会报错),格式即为linux配置文件的格式,文件需要存储在/etc/config/配置文件文件名”,内容如下:
config login
option username ''
option password ''
option ifname 'eth0'
option domain ''
m = Map("配置文件文件名", "配置页面标题", "配置页面说明")
同时我们设定不允许增加或删除Section(“.addremove = false”),以及不显示Section的名称(“.anonymous = true”)。
s = m:section(TypedSection, "login", "")
s.addremove = false
s.anonymous = true
Section中不同内容的交互(创建Option),常见的比如有Value(文本框)、ListValue(下拉框)、Flag(选择框)等等,
详细的可以参考官方的文档: http://luci.subsignal.org/trac/wiki/Documentation/CBI
添加depends事件--当Atrigger 选中B的C时
-- A:depends (B,C) 似乎只有listValue可用
xxx.default = 300 --默认值
xxx.datatype = "uinteger" --默认数据类型
xxx.password = true --密码输入框
xxx.optional = false --optional 设置是否写入config文件
xxx.rmempty=true --可以为空 false 不可为空
xxx.placeholder = 16 --placeholder属性
xxx.value = 300 --value即为300
button的属性
hup.inputstyle = "reload" --在按钮中使用图标 循环
term.inputstyle = "remove" --文件叉
kill.inputstyle = "reset" --红叉
l.inputstyle = "apply" --类似播放键
l.inputstyle = "link" --类似返回
判断是否点击
local apply = luci.http.formvalue("cbi.apply")
if apply then
--[[
需要处理的代码
]]--
end
资料源自本人及同事及(包括但不限于)以下网络资源:
openwrt中luci学习笔记 http://blog.chinaunix.net/uid-23780428-id-4367351.html
【OpenWRT之旅】如何自定义一个配置文件的设置界面 4367351.htmlhttp://www.cnblogs.com/gnuhpc/archive/2013/08/31/3293204.html
luci学习指南
http://wenku.baidu.com/view/156e3e7b1711cc7931b7167f.html
openwrt开源系统LUCI配置界面
http://www.right.com.cn/forum/thread-131035-1-1.html
【OpenWRT之旅】如何自定义一个配置文件的设置界面
http://www.cnblogs.com/gnuhpc/p/3293204.html
开发OpenWrt路由器上LuCI的模块 - 大魔王mAysWINd
http://www.tuicool.com/articles/zaUNfy
http://www.codingnow.com/2000/download/lua_manual.html