| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- cjson = require("cjson")
- fw = require("fastweb")
- request = require("fastweb.request")
- response = require("fastweb.response")
- utils = require("utils")
- mysql = require("mysql.pool")
- fwutils_config = require("fwutils.config")
- -- 执行
- function exec(map)
- local action = param("action")
- if action == nil or action == "" then
- fw.throw_string("action is required")
- return
- end
- if map[action] == nil then
- fw.throw_string("action `"..action.."()` not found")
- return
- end
- map[action]()
- end
- -- 标准回复
- function reply(code,msg,data)
- local body = cjson.encode({
- code = code,
- msg = msg,
- data = data
- })
- response.header("Content-Type","application/json")
- response.send(body)
- end
- -- 回复JSON
- function reply_json(data)
- response.header("Content-Type","application/json")
- response.send(cjson.encode(data))
- end
- -- 快速回复-错误
- function error(msg)
- reply(201,msg)
- end
- -- 快速回复-成功
- function succ(data)
- reply(200,"",data)
- end
- -- 取请求参数(无参抛异常)
- function param_trw(name)
- return request.param(name,true)
- end
- -- 取请求参数
- function param(name)
- return request.param(name,false)
- end
- function pint(name)
- local result = utils.tointeger(param_trw(name))
- if result == nil then
- fw.throw_string("Parameters require integers,name:"..name..",value:"..param_trw(name))
- else
- return result
- end
- end
- function pnum(name)
- local result = tonumber(param_trw(name))
- if result == nil then
- fw.throw_string("Parameters require number,name:"..name..",value:"..param_trw(name))
- else
- return result
- end
- end
- function pstr(name)
- return param_trw(name)
- end
- function pjson()
- return cjson.decode(request.body())
- end
- -- 查询模型
- function query_model_ex(conn,table,field,start,length,callback_gen,callback_data,callback_count,distinct)
- local sel_data = conn:select()
- local sel_count = conn:select()
- sel_data:table(table)
- sel_data:field(field)
- if start ~= nil and length ~= nil then
- sel_data:limit(start,length)
- end
- sel_count:table(table)
- if distinct == nil then
- sel_count:field({"COUNT(1)"})
- else
- sel_count:field(distinct)
- end
-
- if callback_gen ~= nil then
- callback_gen(sel_data)
- callback_gen(sel_count)
- end
- if callback_data ~= nil then
- callback_data(sel_data)
- end
- if callback_count ~= nil then
- callback_count(sel_count)
- end
- local result_count = sel_count:query()
- result_count:next()
-
- local data = {
- count = result_count:get(1),
- data = sel_data:query():table()
- }
- return data
- end
|