Documentation ¶
Overview ¶
*
- RESTful API implementation
- GET /wx -- 用于实现服务号接口配置,实际路径通过http路由关联
- POST /wx -- 处理微信消息/事件的入口,实际路径通过http路由关联
- GET /redirect -- 微信网页授权接口,处理服务号菜单的总入口,
- 不同菜单通过网页授权参数state区分,实际路径通过http路由关联
- Rosbit Xu
*
- 注册微信消息/事件处理器,用于覆盖缺省处理器
*
- signature checker as a http middleware
- Rosbit Xu
Index ¶
- func Echo(w http.ResponseWriter, r *http.Request)
- func InitWxAPI(workerNum int, logger io.Writer)
- func NewWxSignatureChecker(wxToken string, timeout int, uriPrefixes []string) func(http.ResponseWriter, *http.Request, http.HandlerFunc)
- func Redirect(w http.ResponseWriter, r *http.Request)
- func RegisterRedictHandler(handler RedirectHandler)
- func RegisterRedirectUrl(redirectUrl string, userInfoFlag ...string)
- func RegisterWxMsghandler(msgHandler wxmsg.WxMsgHandler)
- func Request(w http.ResponseWriter, r *http.Request)
- type RedirectHandler
- type WxHandler
- func (wx *WxHandler) Echo(w http.ResponseWriter, r *http.Request)
- func (wx *WxHandler) Redirect(w http.ResponseWriter, r *http.Request)
- func (h *WxHandler) RegisterRedictHandler(handler wxauth.RedirectHandler)
- func (h *WxHandler) RegisterRedirectUrl(redirectUrl string, userInfoFlag ...string)
- func (h *WxHandler) RegisterWxMsghandler(msgHandler wxmsg.WxMsgHandler)
- func (wx *WxHandler) Request(w http.ResponseWriter, r *http.Request)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewWxSignatureChecker ¶
func NewWxSignatureChecker(wxToken string, timeout int, uriPrefixes []string) func(http.ResponseWriter, *http.Request, http.HandlerFunc)
*
- 创建http处理中间件,验证消息签名,如果非法直接返回错误
- @param wxToken 公众号在微信管理后台定义的token
- @param timeout 消息时间戳超时处理,秒数,如果<=0不检查时间戳
- @param uriPrefixes 需要检查签名的URI前缀列表,不相关的URI忽略检查;如果为nil,全部检查
func RegisterRedictHandler ¶
func RegisterRedictHandler(handler RedirectHandler)
*
- @deprecated,建议使用RegisterRedirectUrl()
- 注册微信网页授权处理函数
func RegisterRedirectUrl ¶ added in v0.4.0
注册转发HTTP(s) URL,该URL将全权决定网页授权的处理。如果该URL存在,优先级要"高于"RegisterRedictHandler()注册函数。 参数JSON: {"appId": "xxx", "openId": "xxx", "state": "state"} 该URL的以POST形式接收参数,而且会得到所有的HTTP头信息,可以设置任何的响应头信息,响应结果直接显示在公众号浏览器中 响应时间要控制好,避免微信服务超时 userInfoFlag只取第一个,用于检查转发url中是否有标志串,表示使用 snsapi_userinfo 获取用户信息
func RegisterWxMsghandler ¶ added in v0.1.0
func RegisterWxMsghandler(msgHandler wxmsg.WxMsgHandler)
*
- 注册消息/事件处理器
- @msgHandler 消息处理器
Types ¶
type RedirectHandler ¶
type RedirectHandler = wxauth.RedirectHandlerWithoutAppId
*
- @deprecated,建议使用RegisterRedirectUrl()
- [函数签名]根据服务号菜单state做跳转
- @param openId 订阅用户的openId
- @param state 微信网页授权中的参数,用来标识某个菜单
- @return
- c 需要显示服务号对话框中的内容
- h 需要在微信内嵌浏览器中设置的header信息,包括Cookie
- r 需要通过302跳转的URL。如果r不是空串,c的内容被忽略
- err 如果没有错误返回nil,非nil表示错误
type WxHandler ¶ added in v0.2.0
type WxHandler struct {
// contains filtered or unexported fields
}
func InitWxAPIWithParams ¶ added in v0.2.0
func (*WxHandler) Echo ¶ added in v0.2.0
func (wx *WxHandler) Echo(w http.ResponseWriter, r *http.Request)
func (*WxHandler) Redirect ¶ added in v0.2.0
func (wx *WxHandler) Redirect(w http.ResponseWriter, r *http.Request)
func (*WxHandler) RegisterRedictHandler ¶ added in v0.2.0
func (h *WxHandler) RegisterRedictHandler(handler wxauth.RedirectHandler)
@deprecated,建议使用RegisterRedirectUrl()
func (*WxHandler) RegisterRedirectUrl ¶ added in v0.4.0
注册转发HTTP(s) URL,该URL将全权决定网页授权的处理。如果该URL存在,优先级要"高于"RegisterRedictHandler()注册函数。 参数JSON: {"appId": "xxx", "openId": "xxx", "state": "state"} 该URL的以POST形式接收参数,而且会得到所有的HTTP头信息,可以设置任何的响应头信息,响应结果直接显示在公众号浏览器中 响应时间要控制好,避免微信服务超时 userInfoFlag只取第一个,用于检查转发url中是否有标志串,表示使用 snsapi_userinfo 获取用户信息
func (*WxHandler) RegisterWxMsghandler ¶ added in v0.2.0
func (h *WxHandler) RegisterWxMsghandler(msgHandler wxmsg.WxMsgHandler)
---------------- 支持多服务号 ------------------