OpenWrt的luci web管理器新增新選單(三)
繼前面兩篇:OpenWrt的luci web管理器新增新選單 和 OpenWrt的luci web管理器新增新選單(二)
此次的擴充套件內容是實現一個登入介面,並且將登入介面中輸入的內容解析到一個配置檔案中
步驟一:
修改/usr/lib/lua/luci/model/cbi/admin_myapp/cbi_tab.lua檔案:
-- Copyright 2008 fulinux <fulinux@sina.com>
-- Licensed to the public under the Apache License 2.0.
m = Map("login", translate("Login client"), translate("Please fill out the form below"))
s = m:section(TypedSection, "login", "Part login of the form")
s.addremove = false
s.anonymous = true
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", "Interfaces");
ifname = s:option(ListValue, "ifname", translate("Domain"))
for k, v in ipairs(luci.sys.net.devices()) do
if v ~= "lo" then
ifname:value(v)
end
end
s.optional=false;
s.rmempty = false;
local apply = luci.http.formvalue("cbi.apply")
if apply then
luci.sys.exec("/etc/init.d/login start")
end
return m
步驟二:
修改/etc/config/login配置檔案(檔案原名是cbi_file),內容如下:
config login
option username 'fulinux'
option enable ''
option domain ''
option ifname ''
option password ''
步驟三:
新增/etc/init.d/login指令碼檔案,內容如下:
#!/bin/sh /etc/rc.common
START=14
run_copyconfig() {
local enable
config_get_bool enable $1 enable
if [ $enable ]; then
local username
local password
local domain
local ifname
config_get username $1 username
config_get password $1 password
config_get domain $1 domain
config_get ifname $1 ifname
echo $username > /var/run/testfile.conf
echo $password >> /var/run/testfile.conf
echo $domain >> /var/run/testfile.conf
echo $ifname >> /var/run/testfile.conf
echo "testfile has started."
fi
}
start() {
config_load login
config_foreach run_copyconfig login
}
作品展示:
1、Web介面:
2、配置檔案:
3、生成的配置檔案:
相關文章
- OpenWrt的luci web管理器新增新選單Web
- OpenWrt的luci web管理器新增新選單(二)Web
- OpenWrt的luci web管理器新增新選單(四)Web
- openwrt luci管理的Web介面例項Web
- openwrt luci 學習資料
- openwrt網頁終端,luci-i18n-ttyd-zh-cn網頁
- 在OpenWrt中新增packagePackage
- [提問交流]新下載的onethink後臺新增一個頂級選單然後在新增二級選單,新增的二級選單不顯示
- 新增選單的視窗
- 在windows資源管理器新增進入當前目錄dos視窗的快捷選單Windows
- Gnome新增Open with Code選單
- ImmortalWrt-OpenWrt各版本選擇
- InnoSetup簡單教程三,開始選單增加程式檔案並新增程式圖示
- 圓形可滑動選單(可以動態新增選單項)
- BIEE header欄新增下拉選單Header
- Js/JQuery下拉框新增新選項JSjQuery
- 全選或者單選checkbox的值動態新增到div
- MFC對話方塊新增選單欄並新增滑鼠單擊響應
- 右鍵選單中的文字文件新增快捷鍵
- 使用Vue實現下拉選單框批量新增選項Vue
- Windows如何新增右鍵新建選單Windows
- 微信公眾號更新新增選單
- 手動新增git到 右鍵選單Git
- select下拉選單新增不重複項
- 在Excel表格中新增下拉選單功能Excel
- 使用點陣圖選單項——新增線和圖形到選單 (轉)
- C#將自己的程式新增到右鍵選單C#
- [提問交流]後臺新增自定義選單左側不顯示子選單的進
- 獨立模型能否通過新增到選單的形式,直接在選單顯示出來模型
- Win10系統右鍵選單新增“Windows更新”選項的方法Win10Windows
- 通過ajax方式動態新增select下拉選單的option選項
- Win10系統關機選單中新增“睡眠”選項的方法Win10
- [譯] Tab Bar 就是新的漢堡選單
- python程式: 三級選單Python
- JavaScript 三級導航選單JavaScript
- 怎樣給App選單命令新增快捷鍵APP
- 如何實現仿微信介面[我的+首頁聊天列表+長按選單功能+新增選單功能]
- Windows7系統右鍵選單新增EFS快速加密選項的方法Windows加密