wxofficial

package
v0.0.0-...-3adb7df Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

README

微信公众号

API
相关文档

Documentation

Index

Constants

View Source
const (
	// 语言
	LanguageZhCn = "zh_CN" // 简体
	LanguageZhTw = "zh_TW" // 繁体
	LanguageEn   = "en"    // 英语

	// 菜单的响应动作类型
	CustomMenuActionTypeView        = "view"        // 网页类型
	CustomMenuActionTypeClick       = "click"       // 点击类型
	CustomMenuActionTypeMiniProgram = "miniprogram" // 小程序类型
)

Variables

This section is empty.

Functions

func CheckWebAuthAccessToken

func CheckWebAuthAccessToken(accessToken string, openId string) (wxRsp constant.BaseResponse, err error)

网页授权-检验授权凭证(access_token)是否有效

func GetJsApiTicketSign

func GetJsApiTicketSign(
	nonceStr string,
	ticket string,
	timeStamp string,
	url string,
) (ticketSign string)

JS-SDK使用权限-签名算法

Types

type AccessTokenResponse

type AccessTokenResponse struct {
	AccessToken  string `json:"access_token"`  // 获取到的凭证
	ExpiresIn    int64  `json:"expires_in"`    // SessionKey超时时间(秒)
	RefreshToken string `json:"refresh_token"` // 用户刷新access_token
	OpenId       string `json:"openid"`        // 用户唯一标识
	Scope        string `json:"scope"`         // 用户授权的作用域
	ErrCode      int    `json:"errcode"`       // 错误码
	ErrMsg       string `json:"errmsg"`        // 错误信息
}

func GetAccessToken

func GetAccessToken(appId string, appSecret string) (wxRsp AccessTokenResponse, err error)

获取AccessToken

func GetWebAuthAccessToken

func GetWebAuthAccessToken(
	appId string,
	appSecret string,
	code string,
) (wxRsp AccessTokenResponse, err error)

网页授权-通过code换取网页授权access_token

func RefreshWebAuthAccessToken

func RefreshWebAuthAccessToken(appId string, refreshToken string) (wxRsp AccessTokenResponse, err error)

网页授权-刷新access_token

type CustomMenuCreateRequest

type CustomMenuCreateRequest struct {
	Button []CustomMenuItem `json:"button"` // 一级菜单
}

type CustomMenuItem

type CustomMenuItem struct {
	Type      string `json:"type"`                 // 菜单的响应动作类型,参见constant.go/CustomMenuActionType
	Name      string `json:"name"`                 // 菜单标题,不超过16个字节,子菜单不超过60个字节
	Key       string `json:"key,omitempty"`        // 菜单KEY值,用于消息接口推送,不超过128字节,click等点击类型必须
	Url       string `json:"url,omitempty"`        // (type=view|miniprogram) 网页链接,用户点击菜单可打开链接,不超过1024字节。不支持小程序的老版本客户端将打开本url。
	MediaId   string `json:"media_id,omitempty"`   // 调用新增永久素材接口返回的合法media_id。media_id类型和view_limited类型必须
	AppId     string `json:"appid,omitempty"`      // (type=miniprogram) 小程序的appid(仅认证公众号可配置)
	PagePath  string `json:"pagepath,omitempty"`   // (type=miniprogram) 小程序的页面路径
	ArticleId string `json:"article_id,omitempty"` // 发布后获得的合法article_id。article_id类型和article_view_limited类型必须
	SubButton struct {
		List []CustomMenuItem `json:"list"`
	} `json:"sub_button,omitempty"` // 二级菜单
}

自定义菜单项

type CustomMenuQueryResponse

type CustomMenuQueryResponse struct {
	IsMenuOpen   int `json:"is_menu_open"` // 菜单是否开启,0表示未开启,1表示开启
	SelfMenuInfo struct {
		Button []CustomMenuItem `json:"button"` // 菜单按钮
	} `json:"selfmenu_info"` // 菜单信息
}

type GetJsApiTicketResponse

type GetJsApiTicketResponse struct {
	Ticket    string `json:"ticket"`     // 获取到的凭证
	ExpiresIn int64  `json:"expires_in"` // SessionKey超时时间(秒)
	ErrCode   int    `json:"errcode"`    // 错误码
	ErrMsg    string `json:"errmsg"`     // 错误信息
}

func GetJsApiTicket

func GetJsApiTicket(accessToken string) (wxRsp GetJsApiTicketResponse, err error)

JS-SDK使用权限-jsapi_ticket

type GetSnsUserInfoResponse

type GetSnsUserInfoResponse struct {
	OpenId         string   `json:"openid"`          // 用户唯一标识
	Nickname       string   `json:"nickname"`        // 用户的昵称
	Sex            int      `json:"sex"`             // 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
	Province       string   `json:"province"`        // 用户所在省份
	City           string   `json:"city"`            // 用户所在城市
	Country        string   `json:"country"`         // 用户所在国家
	HeadimgUrl     string   `json:"headimgurl"`      // 用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空。若用户更换头像,原有头像URL将失效。
	Privilege      []string `json:"privilege"`       // 用户特权信息
	UnionId        string   `json:"unionid"`         // 只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。
	IsSnapshotUser int      `json:"is_snapshotuser"` // 是否为是否为快照页模式虚拟账号,值为0时是普通用户,1时是虚拟帐号
}

func GetSnsUserInfo

func GetSnsUserInfo(accessToken string, openId string, lang string) (wxRsp GetSnsUserInfoResponse, err error)

网页授权-拉取用户信息(需scope为snsapi_userinfo)

type SendTemplateMessageItem

type SendTemplateMessageItem struct {
	Value string `json:"value"` // 值
	Color string `json:"color"` // 颜色
}

type SendTemplateMessageResponse

type SendTemplateMessageResponse struct {
	ErrCode    int64  `json:"errcode"`    // 错误编码
	ErrMessage string `json:"errmsg"`     // 错误信息
	MessageID  int64  `json:"message_id"` // 消息ID
}

func SendTemplateMessage

func SendTemplateMessage(
	accessToken string,
	toUserOpenID string,
	templateID string,
	detailURL string,
	topColor string,
	data map[string]SendTemplateMessageItem,
) (rsp SendTemplateMessageResponse, err error)

模板消息发送接口 https://mp.weixin.qq.com/advanced/tmplmsg?action=faq&lang=zh_CN

type UserInfoResponse

type UserInfoResponse struct {
	OpenId         string   `json:"openid"`          // 用户唯一标识
	Nickname       string   `json:"nickname"`        // 用户的昵称
	Sex            int      `json:"sex"`             // 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
	Language       string   `json:"language"`        // 用户的语言,简体中文为zh_CN
	Province       string   `json:"province"`        // 用户所在省份
	City           string   `json:"city"`            // 用户所在城市
	Country        string   `json:"country"`         // 用户所在国家
	HeadimgUrl     string   `json:"headimgurl"`      // 用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空。若用户更换头像,原有头像URL将失效。
	Privilege      []string `json:"privilege"`       // 用户特权信息
	UnionId        string   `json:"unionid"`         // 只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。
	Subscribe      int      `json:"subscribe"`       // 用户是否订阅该公众号标识,值为0时,代表此用户没有关注该公众号,拉取不到其余信息。
	SubscribeTime  int      `json:"subscribe_time"`  // 用户关注时间,为时间戳。如果用户曾多次关注,则取最后关注时间
	SubscribeScene string   `json:"subscribe_scene"` // 返回用户关注的渠道来源,ADD_SCENE_SEARCH 公众号搜索,ADD_SCENE_ACCOUNT_MIGRATION 公众号迁移,ADD_SCENE_PROFILE_CARD 名片分享,ADD_SCENE_QR_CODE 扫描二维码,ADD_SCENEPROFILE LINK 图文页内名称点击,ADD_SCENE_PROFILE_ITEM 图文页右上角菜单,ADD_SCENE_PAID 支付后关注,ADD_SCENE_OTHERS 其他
	Remark         string   `json:"remark"`          // 公众号运营者对粉丝的备注,公众号运营者可在微信公众平台用户管理界面对粉丝添加备注
	GroupId        int      `json:"groupid"`         // 用户所在的分组ID(兼容旧的用户分组接口)
	TagidList      []int    `json:"tagid_list"`      // 用户被打上的标签ID列表
	QrScene        int      `json:"qr_scene"`        // 二维码扫码场景(开发者自定义)
	QrSceneStr     string   `json:"qr_scene_str"`    // 二维码扫码场景描述(开发者自定义)
	ErrCode        int      `json:"errcode"`         // 错误码
	ErrMsg         string   `json:"errmsg"`          // 错误信息
}

func GetUserInfo

func GetUserInfo(accessToken string, openId string, lang string) (wxRsp UserInfoResponse, err error)

获取用户基本信息(UnionID机制)

Jump to

Keyboard shortcuts

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