auth_proc.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package model
  2. import (
  3. "rocommon"
  4. "rocommon/rpc"
  5. "rocommon/service"
  6. "rocommon/util"
  7. "roserver/baseserver/model"
  8. "roserver/serverproto"
  9. )
  10. const (
  11. PlatformOpenIdConnectInfoPrefix = "pp_conn_" //openid对应的连接信息
  12. PlatformOpenIdConnectInfoPrefix2 = "xiaoqi_" //openid对应的连接信息
  13. )
  14. // 透传给client
  15. func LoginRet(ev rocommon.ProcEvent, ret int32) {
  16. loginAck := &serverproto.SCLoginAck{
  17. Error: ret,
  18. }
  19. model.ServiceReplay(ev, loginAck)
  20. }
  21. // sdk返回以后的透传client操作
  22. func LoginRetSDK(session rocommon.Session, clientId uint64, ret int32) {
  23. loginAck := &serverproto.SCLoginAck{
  24. Error: ret,
  25. }
  26. data, info, err := rpc.EncodeMessage(loginAck)
  27. if err != nil {
  28. util.ErrorF("replay msg encode err=%v", err)
  29. return
  30. }
  31. //透传给gate服务器,然后再发送给客户端
  32. session.Send(&serverproto.ServiceTransmitAck{
  33. MsgId: uint32(info.ID),
  34. MsgData: data,
  35. ClientId: clientId,
  36. })
  37. }
  38. // sdk返回以后的透传client操作
  39. func LoginRetSDK2(session rocommon.Session, clientId uint64, ret int32, guid string) {
  40. loginAck := &serverproto.SCLoginAck{
  41. Error: ret,
  42. UnisdkLoginJson: guid,
  43. }
  44. data, info, err := rpc.EncodeMessage(loginAck)
  45. if err != nil {
  46. util.ErrorF("replay msg encode err=%v", err)
  47. return
  48. }
  49. //透传给gate服务器,然后再发送给客户端
  50. session.Send(&serverproto.ServiceTransmitAck{
  51. MsgId: uint32(info.ID),
  52. MsgData: data,
  53. ClientId: clientId,
  54. })
  55. }
  56. func checkOpenIdValid(openId string) bool {
  57. if openId == "" {
  58. return false
  59. }
  60. return true
  61. }
  62. func checkServerStatus() int32 {
  63. return int32(serverproto.ErrorCode_ERROR_OK)
  64. }
  65. func initUserConnInfo(connInfo *serverproto.UserConnectInfo, openId, platform string) bool {
  66. // 区分不同平台
  67. openId = model.ConvertPlatform(openId, platform)
  68. keyStr := PlatformOpenIdConnectInfoPrefix + openId
  69. ret, err := service.GetRedis().Exists(keyStr).Result()
  70. if err != nil && err != service.NIL {
  71. util.InfoF("initUserConnInfo openid=%v err=%v", openId, err)
  72. return false
  73. }
  74. if ret != 0 {
  75. err := model.GetMessageFromRedis(PlatformOpenIdConnectInfoPrefix, openId, connInfo)
  76. if err != nil {
  77. util.WarnF("initUserConnInfo openid=%v err=%v", openId, err)
  78. return false
  79. }
  80. }
  81. return true
  82. }
  83. func saveUserConnInfo(connInfo *serverproto.UserConnectInfo, openId, platform, sdkjson string) {
  84. // 区分不同平台
  85. openId = model.ConvertPlatform(openId, platform)
  86. err := model.SetMessageToRedis(PlatformOpenIdConnectInfoPrefix, openId, connInfo)
  87. if err != nil {
  88. util.WarnF("[initUserConnInfo] save userConnectionInfo err:%v", err)
  89. }
  90. ret, err := service.GetRedis().Set(PlatformOpenIdConnectInfoPrefix2+openId, sdkjson, 0).Result()
  91. if err != nil {
  92. util.ErrorF("SetMessageToRedis err=%v ret=%v", PlatformOpenIdConnectInfoPrefix2+openId, ret)
  93. }
  94. }
  95. func checkAuthMode(activeCode string) {
  96. }