token.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package global
  2. import (
  3. "Cold_Logistic/internal/pkg/common/constant"
  4. "context"
  5. "encoding/json"
  6. )
  7. type TokenInfo struct {
  8. AccountId int `json:"accountId"` // 账号ID
  9. AccountUuid string `json:"accountUuid"` // 冷链系统的账号ID
  10. Pid int `json:"pid"` // 公司ID;冷链系统那边的
  11. AccountType int `json:"accountType"` // 账号类型
  12. Role string `json:"role"` // 角色
  13. Name string `json:"name"` // 名字
  14. Phone string `json:"phone"` // 手机号
  15. Gender string `json:"gender"` // 性别
  16. CompanyName string `json:"companyName"` // 公司
  17. Openid string `json:"openid"` // 微信Id
  18. IsFirst int `json:"isFirst"` // 是否首次登录,1-是 2-否
  19. UsePid int `json:"usePid"` // 登录账号所使用的公司ID
  20. PowerId int `json:"powerId"` // 权限ID
  21. CarId int `json:"carId"` // 车ID
  22. WarehouseId int `json:"warehouseId"` // 仓库ID
  23. }
  24. // MarshalBinary ..
  25. func (d *TokenInfo) MarshalBinary() ([]byte, error) {
  26. return json.Marshal(d)
  27. }
  28. func GetTokenInfoFromContext(c context.Context) TokenInfo {
  29. if t, ok := c.Value(constant.TokenInfoKey).(TokenInfo); ok {
  30. return t
  31. }
  32. return TokenInfo{}
  33. }