openwrt lua mysql_OpenWrt Web 开发 LuCI框架 lua语言

LuCI作为“FFLuCI”诞生于2008年3月份,目的是为OpenWrt固件从 Whiterussian 到 Kamikaze实现快速配置接口。Lua是一个小巧的脚本语言,很容易嵌入其它语言。轻量级 LUA语言的官方版本只包括一个精简的核心和最基本的库。这使得LUA体积小、启动速度快,从而适合嵌入在别的程序里。UCI是OpenWrt中为实现所有系统配置的一个统一接口,英文名Unified Configuration Interface,即统一配置接口。LuCI,即是这两个项目的合体,可以实现路由的网页配置界面。

要在路由器上实现路由器的配置页面的开发

就是路由器,后标签贴的,管理路径 一般是 192.168.1.1 或192.168.0.1

要实现一套这样的小项目

项目内容很小,个人有兴趣,所以接了这任务

任何的web开发,只要有搞清楚的request,response,mvc结构,很容易上手。

后端示例代码

#!/usr/bin/env lua

local json = require "los.json"

local util = require "los.util"

--配置文件路径

wifiplacedatapath="/etc/testconfig.data"

--设置

local function set_placeinfo(data)

local str=""

util.exec('rm -rf '.. wifiplacedatapath)

for k,v in pairs(data) do

if k~="act" then

util.exec("echo '" .. k .. "|" .. v .. "' >> " .. wifiplacedatapath)

end

end

ngx.print(json.encode({status=0}))

end

--读取

function getplaceinfo()

local bw = io.open(wifiplacedatapath)

local wifidata={}

if bw then

local bwraw = bw:read("*a")

local tabs= split(bwraw,"\n")

for i=1,#tabs do

if tabs[i]~=nil and tabs[i]~='' then

local subtabs=split(tabs[i],"|")

wifidata[subtabs[1]]=subtabs[2]

end

end

end

return wifidata

end

local function get_placeinfo()

local wifidata=getplaceinfo()

ngx.print(json.encode(wifidata))

end

--路由

local function parser()

local args = ngx.req.get_uri_args()

if tostring(args.act) == "get" then

get_placeinfo()

elseif tostring(args.act) == "set" then

set_placeinfo(args)

end

end

parser()

local function split(str, delimiter)

if str==nil or str=='' or delimiter==nil then

return nil

end

local result = {}

for match in (str..delimiter):gmatch("(.-)"..delimiter) do

table.insert(result, match)

end

return result

end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值