token

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Mar 5, 2024 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func URL

func URL(s Server, path string, queries map[string]string) string

URL 生成指定地址的 URL,会在查询参数中添中 access_token 的相关设置

Types

type AccessToken

type AccessToken struct {
	AccessToken string        `json:"access_token"`
	ExpiresIn   time.Duration `json:"expires_in"`
	Created     time.Time     // 该 access_token 的获取时间
}

AccessToken 用于描述从 https://api.weixin.qq.com/cgi-bin/token 正常返回的数据结构。

func Refresh

func Refresh(conf *common.Config) (*AccessToken, error)

Refresh 刷新 access_token

用户最好自己实现一个处理 access_token 的中控服务器来集中处理 access_token 的获取与更新。

func (*AccessToken) IsExpired

func (at *AccessToken) IsExpired() bool

IsExpired 该 access_token 是否还在有效期之内。

type DefaultServer

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

DefaultServer 默认的 access_token 中控服务器

func (*DefaultServer) Config

func (s *DefaultServer) Config() *common.Config

Config 获取相关的配置对象

func (*DefaultServer) Refresh

func (s *DefaultServer) Refresh() (*AccessToken, error)

Refresh 刷新 AccessToken,并获取新的 token

func (*DefaultServer) Token

func (s *DefaultServer) Token() *AccessToken

Token 获取当前的 *AccessToken

type Server

type Server interface {
	// 获取中控服务器缓存的 access_token
	Token() *AccessToken

	// 刷新中控服务器的 access_token
	//
	// 中控服务器应该提供自动刷新机制。
	// 此函数的存在,仅仅是为了在某些特定的情况下,手动刷 access_token 使用。
	Refresh() (*AccessToken, error)

	// 获取相关的配置项
	Config() *common.Config
}

Server 表示中控服务器接口

func NewDefaultServer

func NewDefaultServer(conf *common.Config, errlog *log.Logger) Server

NewDefaultServer 声明一个默认的 access_token 中控服务器

若将 errlog 指定为 nil,则会将错误信息输出到 stderr 中。

Jump to

Keyboard shortcuts

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