7 Star 24 Fork 30

go-course / go8

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
model.go 1.89 KB
一键复制 编辑 原始数据 按行查看 历史
Mr.Yu 提交于 2022-12-24 11:20 . 对接钉钉第三方登录
package dingding
import "strings"
type GetUserTokenRequest struct {
ClientId string `json:"clientId"`
ClientSecret string `json:"clientSecret"`
Code string `json:"code"`
RefreshToken string `json:"refreshToken"`
GrantType string `json:"grantType"`
}
func NewDingDingAccessToken() *DingDingAccessToken {
return &DingDingAccessToken{}
}
// {
// "accessToken" : "abcd",
// "refreshToken" : "abcd",
// "expireIn" : 7200,
// "corpId" : "corpxxxx"
// }
type DingDingAccessToken struct {
// 生成的accessToken
AccessToken string `json:"accessToken"`
// 生成的refresh_token。可以使用此刷新token,定期的获取用户的accessToken
RefreshToken string `json:"refreshToken"`
// 超时时间,单位秒。
ExpiresIn int64 `json:"expireIn"`
// 所选企业corpId。
CorpId string `json:"corpId"`
// access_token 颁发时间 <额外记录信息, 用于判断Token是否过期>
IssueAt int64 `json:"issue_at"`
}
func NewUser() *User {
return &User{}
}
// {
// "nick" : "zhangsan",
// "avatarUrl" : "https://xxx",
// "mobile" : "150xxxx9144",
// "openId" : "123",
// "unionId" : "z21HjQliSzpw0Yxxxx",
// "email" : "zhangsan@alibaba-inc.com",
// "stateCode" : "86"
// }
type User struct {
// 用户的钉钉昵称
Nick string `json:"nick"`
// 头像URL
AvatarUrl string `json:"avatarUrl"`
// 用户的手机号 如果要获取用户手机号,需要在开发者后台申请个人手机号信息权限
Mobile string `json:"mobile"`
// 用户的openId
OpenId string `json:"openId"`
// 用户的unionId
UnionId string `json:"unionId"`
// 用户的个人邮箱
Email string `json:"email"`
// 手机号对应的国家号
StateCode string `json:"手机号对应的国家号"`
}
func (u *User) Username() string {
if u.Email != "" {
ud := strings.Split(u.Email, "@")
if len(ud) == 2 {
return ud[1]
}
}
if u.Mobile != "" {
return u.Mobile
}
return u.Nick
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/go-course/go8.git
git@gitee.com:go-course/go8.git
go-course
go8
go8
6a8978f41a84

搜索帮助

344bd9b3 5694891 D2dac590 5694891