user.lua 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. local request = require("fastweb.request")
  2. local response = require("fastweb.response")
  3. local fw = require("fastweb")
  4. local cjson = require("cjson")
  5. local function reply(code,msg,data)
  6. response.header("Content-Type","application/json")
  7. response.send(cjson.encode({
  8. code = code,
  9. msg = msg,
  10. data = data
  11. }))
  12. end
  13. -- 登录
  14. local function login()
  15. local token = request.header("token")
  16. -- 获取session
  17. local session = request.session(token)
  18. -- 验证session有效
  19. if session:check() then
  20. reply(201,"你已经登录过了")
  21. return
  22. end
  23. -- 验证账号密码
  24. if request.param("username") ~= "fastweb" or request.param("password") ~= "123456" then
  25. reply(201,"账号或密码不正确")
  26. return
  27. end
  28. -- 生成TOKEN
  29. token = fw.make_software_guid()
  30. session:init(token)
  31. -- 填充用户信息
  32. session:set("login_time",os.date("%Y-%m-%d %H:%M:%S"))
  33. reply(200,"",{
  34. token = token
  35. })
  36. end
  37. -- 获取个人信息
  38. local function getinfo()
  39. local token = request.header("token")
  40. -- 获取session
  41. local session = request.session(token)
  42. if session:check() == false then
  43. reply(401,"登录信息已过期")
  44. return
  45. end
  46. reply(200,"",{
  47. login_time = session:get("login_time")
  48. })
  49. end
  50. -- 判断请求类型
  51. if request.param("action") == "login" then
  52. login()
  53. elseif request.param("action") == "getinfo" then
  54. getinfo()
  55. end