考勤的lua脚本
2024-09-04 11:59:12
ngx.header.content_type = "text/plain;charset=utf-8"
local cjson = require "cjson" local request_method = ngx.var.request_method;
local args = nil;
args = ngx.req.get_uri_args(); if args["SN"] == nil or args["SN"]=="" then
ngx.print("{\"success\":\"false\",\"info\":\"参数SN不能为空!\"}");
return;
end
local count=; if args["table"]=="ATTLOG" then
ngx.req.read_body();
local body = ngx.req.get_body_data()
local lines=string.split(body,"\n");
count=#lines-; for i=,#lines- do
local l=string.split(lines[i],"\t");
local personId=l[];
local kqTime=l[];
ngx.log(ngx.ERR,"****HuangHai****===>人员id:"..personId,"考勤时间:"..kqTime);
end
end ngx.say("HTTP/1.1 200 OK");
ngx.say("Server: DsidealSuperServer/1.9.0");
local now = os.date("%Y-%m-%d %H:%M:%S", os.time()) ngx.say(now);
ngx.say("Content-Type: text/plain");
ngx.say("Connection: close");
ngx.say("Content-Length:4"); ngx.say("Pragma: no-cache");
ngx.say("Cache-Control: no-store");
ngx.say("");
ngx.say("OK:"..tostring(count)); function string.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
vi /usr/local/openresty/nginx/lua/lua_script/kaoqin.lua
在配置文件中添加如下内容:
location /iclock/
{
content_by_lua_file /usr/local/openresty/nginx/lua/lua_script/kaoqin.lua;
}
示例代码在199上。
查看日志:
tail -f /usr/local/openresty/nginx/logs/error.log | grep ****HuangHai****
最新文章
- Appium 服务关键字
- Android SQLite (一) 数据库简介
- DevExpress GridView 自定义搜索按钮改为中文内容
- JSP的九个隐式(内置)对象
- iOS---》点击uitableview 的section展开或隐藏
- MyBatis学习总结4--解决字段名与实体类属性名不相同的冲突
- java中volatitle关键字的作用
- 解决mdi窗体闪烁的问题
- 如何测试一个U盘
- rsync Backups for Windows
- Source Map入门教程
- servlet研究学习总结--OutputStream和PrintWriter的区别
- 索引-mysql
- 【译】图解Transformer
- .net core 2.0 数据访问-迁移
- XXE攻防技术
- java ip number to string
- MongoDB分布式集群搭建
- asp.net分页之AJAX 分页
- cmd下查看端口被某程序占用命令