package wxcomponent import ( "gitee.com/yansen_zh/wxcomponent/api/mp/webpage" "gitee.com/yansen_zh/wxcomponent/config" ) // 代公众号服务 type MPService struct { appID string } // GetMpService 获取代公众号服务 func GetMpService(appID string) *MPService { return &MPService{appID: appID} } // JsapiTicket 代公众号使用js sdk func (t *MPService) JsapiTicket(url string) (*webpage.JsapiSignature, error) { ticket, err := webpage.GetJSTicket(config.GetAuthorizer().GetAccessToken(t.appID)) if err != nil { return nil, err } signature := webpage.GetJSAPISignature(ticket.Ticket, url) return signature, nil } // GetOpenID 网页授权 code 换取 OpenID func (t *MPService) GetOpenID(code string) (string, error) { token, err := webpage.GetOAuthAccessToken(t.appID, code) if err != nil { return "", err } return token.OpenID, nil } // GetSnsUserInfo 网页授权, 获取用户信息 func (t *MPService) GetSnsUserInfo(code string) (*webpage.SnsApiUserInfo, error) { token, err := webpage.GetOAuthAccessToken(t.appID, code) if err != nil { return nil, err } return webpage.GetSnsApiUserInfo(token.AccessToken, token.OpenID, "") }