sns.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package model
  2. import (
  3. "go-common/app/service/main/passport-sns/api"
  4. )
  5. // SnsApps .
  6. type SnsApps struct {
  7. AppID string
  8. AppSecret string
  9. Platform int
  10. Business int
  11. }
  12. // SnsUser .
  13. type SnsUser struct {
  14. Mid int64 `json:"mid"`
  15. UnionID string `json:"unionid"`
  16. Platform int `json:"platform"`
  17. Expires int64 `json:"expires"`
  18. }
  19. // SnsOpenID .
  20. type SnsOpenID struct {
  21. Mid int64 `json:"mid"`
  22. OpenID string `json:"openid"`
  23. UnionID string `json:"unionid"`
  24. AppID string `json:"appid"`
  25. Platform int `json:"platform"`
  26. }
  27. // SnsToken .
  28. type SnsToken struct {
  29. Mid int64 `json:"mid"`
  30. OpenID string `json:"openid"`
  31. UnionID string `json:"unionid"`
  32. Platform int `json:"platform"`
  33. Token string `json:"token"`
  34. Expires int64 `json:"expires"`
  35. AppID string `json:"appid"`
  36. }
  37. // SnsLog .
  38. type SnsLog struct {
  39. Mid int64 `json:"mid"`
  40. OpenID string `json:"openid"`
  41. UnionID string `json:"unionid"`
  42. AppID string `json:"appid"`
  43. Platform int `json:"platform"`
  44. Operator string `json:"operator"`
  45. Operate int `json:"operate"`
  46. Description string `json:"description"`
  47. }
  48. // CheckBindResp .
  49. type CheckBindResp struct {
  50. Bind bool `json:"bind"`
  51. Mid int64 `json:"mid"`
  52. }
  53. // Oauth2Info oauth2 info
  54. type Oauth2Info struct {
  55. UnionID string `json:"unionid"`
  56. OpenID string `json:"openid"`
  57. Token string `json:"access_token"`
  58. Refresh string `json:"refresh_token"`
  59. Expires int64 `json:"expires"`
  60. }
  61. // ConvertToProto .
  62. func (t *SnsUser) ConvertToProto() *SnsProto {
  63. return &SnsProto{
  64. Mid: t.Mid,
  65. UnionID: t.UnionID,
  66. Platform: int32(t.Platform),
  67. Expires: t.Expires,
  68. }
  69. }
  70. // ConvertToInfo .
  71. func (p *SnsProto) ConvertToInfo() *api.Info {
  72. return &api.Info{
  73. Mid: p.Mid,
  74. Platform: parsePlatformStr(p.Platform),
  75. UnionId: p.UnionID,
  76. Expires: p.Expires,
  77. }
  78. }
  79. func parsePlatformStr(platform int32) string {
  80. switch platform {
  81. case PlatformQQ:
  82. return PlatformQQStr
  83. case PlatformWEIBO:
  84. return PlatformWEIBOStr
  85. }
  86. return ""
  87. }