register.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package main
  2. import (
  3. "net/http"
  4. "server/console"
  5. usercenter "server/datacenter"
  6. redismgr "server/db/redis"
  7. "server/msg"
  8. "github.com/gin-gonic/gin"
  9. "github.com/name5566/leaf/log"
  10. )
  11. func ReqRegister(c *gin.Context) {
  12. req := c.MustGet("protobuf_data").(*msg.ReqRegister)
  13. log.Debug(req.Account, req.Password)
  14. userId, _ := redismgr.GetUserIDFromRedisByAP(req.Account, req.Password)
  15. if userId != "" {
  16. c.ProtoBuf(http.StatusOK, &msg.ResRegister{
  17. Success: false,
  18. ErrMsg: &msg.MsgError{
  19. ErrorCode: 101,
  20. ErrorMsg: " Account is exist!",
  21. },
  22. })
  23. return
  24. }
  25. userId, Success := redismgr.SetUserIDFromRedisByAP(req.Account, req.Password)
  26. if !Success {
  27. c.ProtoBuf(http.StatusOK, &msg.ResRegister{
  28. Success: false,
  29. ErrMsg: &msg.MsgError{
  30. ErrorCode: 102,
  31. ErrorMsg: "server registerHandler error",
  32. },
  33. })
  34. return
  35. }
  36. newUser := &usercenter.User{
  37. UserID: userId,
  38. Head: req.MHead,
  39. Coin: 100,
  40. Name: req.NikeName,
  41. Account: req.Account,
  42. Password: req.Password, // 注意: 实际使用中应该存储哈希值
  43. }
  44. // 设置好友列表
  45. if err := newUser.SetFriendIDs([]string{"friend1", "friend2"}); err != nil {
  46. console.Log(err.Error())
  47. }
  48. usercenter.CreateUser(newUser)
  49. redismgr.SaveUserInfoToRedis(&msg.UserInfo{
  50. UserId: userId,
  51. MCoin: 0,
  52. MHead: req.MHead,
  53. Name: req.NikeName,
  54. })
  55. c.ProtoBuf(http.StatusOK, &msg.ResRegister{
  56. Success: true,
  57. ErrMsg: nil,
  58. })
  59. }