--- --- Generated by EmmyLua(https://github.com/EmmyLua) --- Created by admin. --- DateTime: 2025/10/15 09:12 --- --local snowflake = require("util.snowflake") local helpers = require("util.helpers") -- --local workerId = 0 -- 假设当前机器的ID是1,范围在[0, 31]之间 --local datacenterId = 0 -- 数据中心ID,范围在[0, 31]之间 --local snow = snowflake.new(workerId, datacenterId) --local id = snow:generateUniqueId()-- 生成ID --ngx.say("Generated ID:"..snow.int64_to_string(id)) --max =a and b or c--a?b:c --[[ local User = require("model.user") --获取数据表中的记录数 local code, res = User:count() --ngx.say(res) --查询表中id为1的数据记录 code, res = User:find("1") --查询表中的所有记录 code, res = User:all() --显示查询到的数据记录 --for _, row in ipairs(res) do -- for key, value in pairs(row) do -- ngx.say(key .. ":" .. tostring(value)) -- end --end --ngx.say("----begin where and query---") -- 返回 users 表中 username 字段的值是 `cgreen` 的,`password` 字段的值是 `xxxxxx` 的多条数据,注意此处返回是 table 数组,`first()` 方法返回的是单条数据 code, res = User:where('name','=','zhangsan'):where('password','=','111111'):get() --for _, row in ipairs(res) do -- for key, value in pairs(row) do -- ngx.say(key .. ":" .. tostring(value)) -- end --end --ngx.say("----begin where or query---") -- 返回 `name` 为 `xxx` 或者 `yyy` 的所有用户 table 数组 code, res = User:where('name','=','zhangsan'):orwhere('name','=','admin'):get() --for _, row in ipairs(res) do -- for key, value in pairs(row) do -- ngx.say(key .. ":" .. tostring(value)) -- end --end --orderby(column, option)方法,第一个参数传入排序的列名,第二个参数默认为ASC 也可以传入 ASC 正序 或 DESC 倒序(不区分大小写), code, res = User:orderby('created_time'):get() --for _, row in ipairs(res) do -- for key, value in pairs(row) do -- ngx.say(key .. ":" .. tostring(value)) -- end --end -- 创建一个用户 code, res = User:create({ id='3', password='22222', name='lisi', email='lisi@gmail.com', }) -- 更新 id = 1 的 user 的 name 为 test, avatar 为 NULL code, res = User:where('id', '=', '3'):update({ phone='666666', email='zhangsan@qq.com' }) --输出更新后影响的行总数 ngx.say("update affected_rows: ", res.affected_rows) -- 删除 id = 1 的用户 code, res = User:where('id','=','3'):delete() ngx.say("delete affected_rows: ", res.affected_rows) --分页 获取数据表中的记录 local data = nil code, data = User:paginate(1) local count = data.total ngx.say("data total:", count) for _, row in ipairs(data.data) do ngx.say("begin show data:") for key, value in pairs(row) do ngx.say(key .. ":" .. tostring(value)) end end --]] --获取请求参数的键值和数据值 local cjson = require("cjson") --读取请求体的数据 ngx.req.read_body() --获取请求数据 local body_data = ngx.req.get_body_data() --ngx.say(body_data) local data = cjson.decode(body_data) --键值为id产生uuid数据值,增加到json中 data.id = helpers.getUuid() local ret = helpers.convert_json(data) ngx.say(ret) --local header = ngx.req.get_headers() --for k,v in pairs(header) do -- ngx.say("[header] name:", k, "value:", v) --end --local payloads = ngx.req.get_uri_args() --for k,v in pairs(payloads) do -- ngx.say("[params] name:", k, " value:", v) --end --去掉组装最后一位逗号(,) --local newKeys = keys:sub(1, #keys -1) --local newValues = values:sub(1, #values -1) --[[ --读取请求体的数据 --ngx.req.read_body() --获取请求数据 local body_data = ngx.req.get_body_data() if not body_data then ngx.say("read file error:", err) return ngx.exit(400) end local len = #body_data local file_name = ngx.req.get_body_file() ngx.say("file length:", len) ngx.req.read_body_in_buffer(ngx.var.request_body_file) ngx.say(body_data) --]] --[[ local cjson = require("cjson") local file_path = "/home/frankly/work/test.dat" local file_length = 1024 * 1024 * 400 local f, err = io.input(file_path, "r") if not f then ngx.say("read file error:"..err) return end local content = f:read(file_length) --读取文件内容 f:close() --关闭文件 --ngx.say(content) local res = { key = "data", value = content } --ngx.header["Length"] = #content ngx.header["Content-Type"] = 'application/json; charset=UTF-8' ngx.say(cjson.encode(res)) ngx.log(ngx.INFO, "send data success") --]]