user.lua 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. --[[
  2. Descripttion:玩家信息
  3. version:
  4. Author: Neo,Huang
  5. Date: 2021-09-15 19:47:54
  6. LastEditors: Neo,Huang
  7. LastEditTime: 2021-09-15 19:47:55
  8. --]]
  9. local moduleData = require("data.module")
  10. local MODULE_NAME = "user"
  11. local root = {}
  12. -- 设置注册数据
  13. function root:user_init_register_info(uid, info)
  14. if uid == nil or is_empty(info) then
  15. return false
  16. end
  17. log.info("user_init_register_info uid[%s] info[%s]", tostring(uid), tostring(info))
  18. moduleData:hset(uid, MODULE_NAME, "uid", uid)
  19. moduleData:hset(uid, MODULE_NAME, "registerTime", skynet_time())
  20. moduleData:hset(uid, MODULE_NAME, "version", info.version or "")
  21. moduleData:hset(uid, MODULE_NAME, "registerVersion", info.version or "")
  22. moduleData:hset(uid, MODULE_NAME, "appVerison", info.version or "")
  23. moduleData:hset(uid, MODULE_NAME, "uuid", info.uuid or "")
  24. moduleData:hset(uid, MODULE_NAME, "udid", info.udid or "")
  25. moduleData:hset(uid, MODULE_NAME, "device", info.device or "")
  26. moduleData:hset(uid, MODULE_NAME, "sysVer", info.sysVer or "")
  27. moduleData:hset(uid, MODULE_NAME, "deviceId", info.deviceId or "")
  28. moduleData:hset(uid, MODULE_NAME, "channel", info.channel)
  29. moduleData:hset(uid, MODULE_NAME, "ip", info.ip)
  30. moduleData:hset(uid, MODULE_NAME, "phone", info.phone)
  31. moduleData:hset(uid, MODULE_NAME, "shareCode", info.shareCode)
  32. moduleData:hset(uid, MODULE_NAME, "nickname", info.nickname or string.format("玩家%06d", uid))
  33. -- 非测试环境随机密码
  34. local password = info.password
  35. if is_nil(password) then
  36. if not IS_TEST then
  37. local r = {}
  38. for i = 1, 8 do
  39. table.insert(r, string.char(math.random(97, 122)))
  40. end
  41. password = table.concat(r)
  42. else
  43. password = "123456"
  44. end
  45. end
  46. moduleData:hset(uid, MODULE_NAME, "password", password)
  47. return true
  48. end
  49. -- 密码匹配
  50. function root:user_is_match_password(uid, password)
  51. if uid == nil then
  52. return false
  53. end
  54. return password == moduleData:hget(uid, MODULE_NAME, "password")
  55. end
  56. -- 渠道匹配
  57. function root:user_is_match_channel(uid, channel)
  58. if uid == nil or channel == nil then
  59. return false
  60. end
  61. return channel == moduleData:get_channel(uid)
  62. end
  63. -- 账号状态
  64. function root:get_status(uid)
  65. if uid == nil then
  66. return 1
  67. end
  68. return moduleData:hget(uid, MODULE_NAME, "status")
  69. end
  70. -- 获取当前邀请码
  71. function root:get_share_code(uid)
  72. if is_empty(uid) then
  73. return
  74. end
  75. return moduleData:hget(uid, MODULE_NAME, "shareCode")
  76. end
  77. -- 绑定邀请码
  78. function root:band_share_code(uid, sharecode)
  79. if is_empty(uid) then
  80. return false
  81. end
  82. moduleData:hset(uid, MODULE_NAME, "bandShareCode", sharecode)
  83. local serverLogUtil = require("utils.serverLogUtil")
  84. local channel = self:get_key_info(uid, "channel")
  85. local version = self:get_key_info(uid, "version")
  86. serverLogUtil.logBandShareCode(uid, sharecode, channel, version)
  87. return true
  88. end
  89. -- 获取属性
  90. function root:get_key_int(uid, key)
  91. if uid == nil or is_empty(key) then
  92. return 0
  93. end
  94. return moduleData:hget_int(uid, MODULE_NAME, key)
  95. end
  96. function root:get_key_info(uid, key)
  97. if uid == nil or is_empty(key) then
  98. return 0
  99. end
  100. return moduleData:hget(uid, MODULE_NAME, key)
  101. end
  102. function root:get_key_json(uid, key)
  103. if uid == nil or is_empty(key) then
  104. return 0
  105. end
  106. return moduleData:hget_json(uid, MODULE_NAME, key)
  107. end
  108. return root