先看看network的配置文件:

[html] view plaincopy
  1. config interface 'loopback'
  2. option ifname 'lo'
  3. option proto 'static'
  4. option ipaddr '127.0.0.1'
  5. option netmask '255.0.0.0'
  6. config interface 'lan'
  7. option ifname 'eth0 eth1'
  8. option type 'bridge'
  9. option proto 'static'
  10. option ipaddr '192.168.1.10'
  11. option netmask '255.255.255.0'
  12. config switch
  13. option name 'eth0'
  14. option reset '1'
  15. option enable_vlan '1'
  16. config switch_vlan
  17. option device 'eth0'
  18. option vlan '1'
  19. option ports '0 1 2 3 4'

首先绑定/etc/config下的一个配置文件,比方network:

[html] view plaincopy
  1. m = Map("network")

然后绑定network以下的一个部分,比方config interface 'lan' :

[html] view plaincopy
  1. n = m:section(NamedSection, "lan", translate("接口配置"))
  2. n.anonymous = true
  3. n.addremove = false --不添加移除的button
  4. 这里使用的是名字匹配。还有类型匹配。加如要config switch 这个时候我们能够使用 :
[html] view plaincopy
  1. n = m:section(TypedSection, "switch",translate("xx"))

假如上面的lan使用TypedSection interface的话  ,是能够同一时候匹配 config interface loopback 里面的字段的。

这个时候我们已经绑定了lanport的字段 ,就能够開始对里面的ipaddr,netmask等进行改动 :

[html] view plaincopy
  1. ip = n:option(Value,"ipaddr",translate("IP地址")

这个时候就会有一个IP地址 :                             。这种对话框,里面填写就可以,假设须要加入提示,能够这样:

[html] view plaincopy
  1. ip = n:option(Value,"ipaddr","IP地址","改动IP地址”)

这个时候下方就会显示一句提示。改动IP地址。

当中的Value还有几种别的属性,比方Listvalue,下拉选择框,假如说我要选择netmask,给几个选项,下拉选择:

[html] view plaincopy
  1. mask = s:option(ListValue,"netmask",translate("子网掩码"))
  2. mask.override_values = true
  3. mask:value("255.255.255.0",translate("255.255.255.0"))
  4. mask:value("xxx.xxx.xxx.x",translate("xxxxxx"))

这个时候就会出现一个子网掩码的下拉框供选择。详细更复杂的功能能够參考官方文档

Value另一个属性就勾选框,Flag,用法类似,介绍一点最简单的使用 :

[html] view plaincopy
  1. encryption = s:option(Flag,"encryption",translate("............"))
  2. encryption.default = encryption.enabled
  3. encryption.enabled = "wpa-psk2"
  4. encryption.disabled = "none"

这个是选择加不加密的,一般这个时候我们选择以后要出现一个key的password框。这个时候就要用到depends()这个函数了,比方:

[html] view plaincopy
  1. key = s:option(Value,"key",translate("Password"))
  2. key:depends({encryption="wpa-psk2"})

这里结合上面的勾选。假如勾选,就会出现一个password框,也能够和下拉框配合一起使用

最后通过改动帐号password来介绍几个參数 :

[html] view plaincopy
  1. username = s:option(Value,"username",".........")
  2. username.rmempty = false --不同意为空
  3. password = s:option(Value,"password",".........")
  4. password.password=true   --加密,也就是*号显示,往往后面会带一个button,能够即时显示密码
  5. password.rmempt =false

临时就这么多。以后再慢慢补充,近期在写机器人。挂在irc上面,结合曾经写的一些查询类程序。能够实现非常多功能嘿嘿,上班没事的时候写写

对了 ,改动完了记得rm -rf /tmp/luci-*来更新缓存,不然看不到变化的,还有浏览器删掉又一次输入地址!

新增button简单应用

button = modex:option(Button, "modename", "桥接模式")

button.inputtitle = translate("切换")
button.inputstyle = "apply"
function button.write(self, section, value)
    AbstractValue.write(self, section, value)
    luci.sys.call("uci set network.lan.ifname=\"eth0.1 eth0.2\" ;uci del network.wan")
    --self.inputtitle = translate("路由模式")
    return

end

DDummyValue 静态文本

depends在非常多情况下不安常理出牌,还有待研究

转载于:https://www.cnblogs.com/yangykaifa/p/7117775.html

Openwrt中luci配置页面cbi小记相关推荐

  1. Linux路由界面设置,nuxt中如何配置页面路由

    nuxt中如何配置页面路由 发布时间:2020-11-06 15:16:34 来源:亿速云 阅读:248 作者:Leah 今天就跟大家聊聊有关nuxt中如何配置页面路由,可能很多人都不太了解,为了让大 ...

  2. openwrt的luci应用ipk包开发(三)

    luci配置页面修改配置文件 先看看network的配置文件: config interface 'loopback' option ifname 'lo'option proto 'static' ...

  3. 智能路由器-OpenWRT 系列三 (OpenWRT安装LuCI网络配置)

    OpenWRT 安装 LUCI 每次ssh登陆OpenWRT安装新软件时,都必须更新opkg opkg update 安装LUCI opkg install luci 安装luci中文语言包, 不同O ...

  4. OpenWRT添加自定义LUCI页面示例

    1.文档结构 在openwrt源代码目录 /openwrt/feeds/luci/applications/下创建文件夹luci-myapplication.文件夹必须以luci-开头以便make m ...

  5. 完整适配LUCI界面的Openwrt中EC20的QMI拨号

    目前4G模块应用已经非常普及,跟之前的3G不同,3G基本使用ppp拨号,usbserial驱动,Linux内核自带支持,此应用非常简单. 4G模块由于速率较高,usbserial驱动性能满足不了,因此 ...

  6. 手动编译LUCI 到 openwrt中 并且解决'/bin/po2lmo': Permission denied问题

    放个自己在卖的东西的链接,望朋友们多多支持,中央控制器控制舞台灯光的设备 https://item.taobao.com/item.htm?scm=12306.300.0.0&id=38169 ...

  7. Django框架(9.Django中的配置使用MySQL数据库以及页面重定向)

    ORM框架简介 ORM框架还可以通过方便的配置就可以进行数据库的切换 进入虚拟环境,创建一个新的项目,django-admin  startproject test2  (test2为项目名) 创建好 ...

  8. LiveNVR监控流媒体Onvif/RTSP常见问题-页面中如何配置开启输出RTSP流

    LiveNVR常见问题-页面中如何配置开启输出RTSP流? 1.RTSP流说明 2.开启RTSP 3.获取RTSP流地址 3.1.HTTP接口调用 3.1.1.接口调用示例 3.1.2.接口返回示例 ...

  9. luci编程 openwrt_openwrt开源系统LUCI配置界面

    转自:http://www.right.com.cn/forum/thread-131035-1-1.html 本人菜鸟,最近在学习这方面的知识,在参考资料的基础上总结如下内容. 这篇文章针对如何对o ...

最新文章

  1. R 语言中的高级图像处理包
  2. Mybatis学习记录(二)----mybatis开发dao的方法
  3. kaggle House_Price_XGBoost
  4. Can‘t bind to formControl since it isn‘t a known property of input错误消息的处理
  5. 码云 Gitee 新增仓库访问之 IP 白名单功能
  6. (算法)宝石升级问题
  7. 美团点评基于MGR的CMDB高可用架构搭建之路【转】
  8. 软件项目管理大作业_《软件工程》软件项目管理实验
  9. 集成电路总设计(Ⅴ)
  10. python程序设计pdf机械出版_Python程序设计
  11. 自适应求积算法 MatLab版
  12. python中获取网页元素
  13. 关于ABAP中锁参数SCOPE的使用bug一粒
  14. 查看IP和MAC地址的命令
  15. 苹果股价盘后涨超5% 市值一度突破万亿
  16. 解决Win7缺失MSVCR120.DLL问题
  17. 基于Python的安卓图形锁破解程序
  18. 哈工大计算机科学与捄术学院,[哈尔滨工业大学]管理科学与工程
  19. 【调剂】北京语言大学 SAIT 智能语音习得技术实验室
  20. 《情感分析、挖掘观点、情感和情绪》1

热门文章

  1. 在浏览器里使用SAPGUI里的SE80
  2. SAP的这三款CRM解决方案,您能区分清楚么
  3. 无法使用tomcat6.exe启动服务
  4. 经典汉诺塔(Java初学递归篇)
  5. quartzjob传递传输_Quartz教程三:Job与JobDetail介绍
  6. ppt计算机英语介绍,介绍电脑的英语ppt
  7. xml语言与html,XML与HTML的分析处理
  8. java+web+415_使用json返回HTTP状态415的Web服务 - 不支持的媒体类型
  9. js php 时间格式化字符串,JS怎么实现字符串与日期的互相转换及日期的格式化
  10. android queue用法,GitHub - rygz146/TQueue: Android 可以任意切换线程的任务队列, TQueue