wxwork

package
v0.8.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 26, 2022 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	URLGetToken                   = "https://qyapi.weixin.qq.com/cgi-bin/gettoken"
	URLFromCodeGetUserInfo        = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo"
	URLGetUserInfo         string = "https://qyapi.weixin.qq.com/cgi-bin/user/get"
)

Functions

This section is empty.

Types

type Config

type Config struct {
	CorpID     string `bson:"corp_id" json:"corp_id"`
	AgentID    string `bson:"agent_id" json:"agent_id"`
	CorpSecret string `bson:"corp_secret" json:"corp_secret"`
	State      string `bson:"state" json:"state"`
}

Config 企业微信相关认证配置

func NewDefaultConfig

func NewDefaultConfig() *Config

NewDefaultConfig 初始化默认配置

func (*Config) Validate

func (c *Config) Validate() error

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

Provider todo

func NewProvider

func NewProvider(conf *Config) *Provider

NewProvider todo

func (*Provider) Check

func (p *Provider) Check() error

type Response

type Response struct {
	ErrCode        int    `json:"errcode"`         // 返回码
	ErrMsg         string `json:"errmsg"`          // 对返回码的文本描述内容
	ExpiresIN      int64  `json:"expires_in"`      // 有效期
	AccessToken    string `json:"access_token"`    // 认证Token
	ExternalUserID string `json:"external_userid"` // 外部联系人id,当且仅当用户是企业的客户,且跟进人在应用的可见范围内时返回。
	// 如果是第三方应用调用,针对同一个客户,同一个服务商不同应用获取到的id相同
	UserInfo
}

type ScanCodeRequest

type ScanCodeRequest struct {
	Service string `form:"service" binding:"required"`
	Code    string `form:"code" binding:"required"`
	State   string `form:"state" binding:"required"`
	AppID   string `form:"appid" binding:"required"`
}

type UserInfo

type UserInfo struct {
	UserID   string `json:"UserId"`   // 成员UserID
	OpenID   string `json:"OpenId"`   // 非企业成员的标识,对当前企业唯一
	DeviceID string `json:"DeviceId"` // 手机设备号
}

type Wechat

type Wechat struct {
	AppID           string `json:"app_id" bson:"app_id"`
	AgentID         string `json:"agent_id" bson:"agent_id"`
	AppSecret       string `json:"app_secret" bson:"app_secret"`
	AccessToken     string
	ExpiresIN       int64 `json:"expires_in"`        // 有效期
	CreateTokenDate int64 `json:"create_token_date"` // 创建时时间
}

func NewAuth

func NewAuth(appID, appSecret, agentID string) *Wechat

func (*Wechat) CheckCallBack

func (w *Wechat) CheckCallBack(param *ScanCodeRequest) (string, error)

func (Wechat) FromCodeGetUserInfo

func (w Wechat) FromCodeGetUserInfo(code, accessToken string) *Response

func (*Wechat) GetAccessToken

func (w *Wechat) GetAccessToken() string

func (*Wechat) GetUserInfo

func (w *Wechat) GetUserInfo(userID string) *WechatUser

GetUserInfo 说明文档: https://work.weixin.qq.com/api/doc/90000/90135/90196

type WechatUser

type WechatUser struct {
	ErrCode      int    `json:"errcode"`    // 返回码
	ErrMsg       string `json:"errmsg"`     // 对返回码的文本描述内容
	UserID       string `json:"userid"`     // 用户ID
	Avatar       string `json:"avatar"`     // 头像
	Position     string `json:"position"`   // 职称
	Name         string `json:"name"`       // 别名
	Email        string `json:"email"`      // 邮箱
	Mobile       string `json:"mobile"`     // 电话
	DepartmentID []int  `json:"department"` // 部门IDs
	IsLeader     int    `json:"isleader"`   //是否为负责人
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL