- update wechatopen

master
李光春 11 months ago
parent b2ee634db1
commit 3250e2402f

@ -31,9 +31,9 @@ require (
github.com/tencentyun/cos-go-sdk-v5 v0.7.41
go.mongodb.org/mongo-driver v1.11.7
go.uber.org/zap v1.24.0
golang.org/x/crypto v0.9.0
golang.org/x/crypto v0.10.0
golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1
golang.org/x/text v0.9.0
golang.org/x/text v0.10.0
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
gorm.io/datatypes v1.2.0
gorm.io/driver/mysql v1.5.1
@ -62,7 +62,7 @@ require (
github.com/google/go-querystring v1.1.0 // indirect
github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect
github.com/jackc/pgx/v5 v5.3.1 // indirect
github.com/jackc/pgx/v5 v5.4.0 // indirect
github.com/jinzhu/inflection v1.0.0 // indirect
github.com/jinzhu/now v1.1.5 // indirect
github.com/klauspost/compress v1.16.5 // indirect
@ -103,7 +103,7 @@ require (
golang.org/x/mod v0.10.0 // indirect
golang.org/x/net v0.10.0 // indirect
golang.org/x/sync v0.2.0 // indirect
golang.org/x/sys v0.8.0 // indirect
golang.org/x/sys v0.9.0 // indirect
golang.org/x/time v0.3.0 // indirect
golang.org/x/tools v0.9.3 // indirect
google.golang.org/protobuf v1.30.0 // indirect

@ -235,6 +235,7 @@ github.com/jackc/pgconn v1.5.1-0.20200601181101-fa742c524853/go.mod h1:QeD3lBfpT
github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o=
github.com/jackc/pgconn v1.8.1/go.mod h1:JV6m6b6jhjdmzchES0drzCcYcAHS1OPD5xu3OZ/lE2g=
github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY=
github.com/jackc/pgconn v1.13.0/go.mod h1:AnowpAqO4CMIIJNZl2VJp+KrkAZciAkhEl0W0JIobpI=
github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8=
github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE=
github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c=
@ -248,6 +249,7 @@ github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:
github.com/jackc/pgproto3/v2 v2.0.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA=
github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA=
github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA=
github.com/jackc/pgproto3/v2 v2.3.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA=
github.com/jackc/pgservicefile v0.0.0-20200307190119-3430c5407db8/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E=
github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E=
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk=
@ -260,6 +262,7 @@ github.com/jackc/pgtype v1.3.1-0.20200510190516-8cd94a14c75a/go.mod h1:vaogEUkAL
github.com/jackc/pgtype v1.3.1-0.20200606141011-f6355165a91c/go.mod h1:cvk9Bgu/VzJ9/lxTO5R5sf80p0DiucVtN7ZxvaC4GmQ=
github.com/jackc/pgtype v1.7.0/go.mod h1:ZnHF+rMePVqDKaOfJVI4Q8IVvAQMryDlDkZnKOI75BE=
github.com/jackc/pgtype v1.8.0/go.mod h1:PqDKcEBtllAtk/2p6z6SHdXW5UB+MhE75tUol2OKexE=
github.com/jackc/pgtype v1.12.0/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4=
github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y=
github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM=
github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc=
@ -268,13 +271,17 @@ github.com/jackc/pgx/v4 v4.6.1-0.20200510190926-94ba730bb1e9/go.mod h1:t3/cdRQl6
github.com/jackc/pgx/v4 v4.6.1-0.20200606145419-4e5062306904/go.mod h1:ZDaNWkt9sW1JMiNn0kdYBaLelIhw7Pg4qd+Vk6tw7Hg=
github.com/jackc/pgx/v4 v4.11.0/go.mod h1:i62xJgdrtVDsnL3U8ekyrQXEwGNTRoG7/8r+CIdYfcc=
github.com/jackc/pgx/v4 v4.12.0/go.mod h1:fE547h6VulLPA3kySjfnSG/e2D861g/50JlVUa/ub60=
github.com/jackc/pgx/v4 v4.17.2/go.mod h1:lcxIZN44yMIrWI78a5CpucdD14hX0SBDbNRvjDBItsw=
github.com/jackc/pgx/v5 v5.3.1 h1:Fcr8QJ1ZeLi5zsPZqQeUZhNhxfkkKBOgJuYkJHoBOtU=
github.com/jackc/pgx/v5 v5.3.1/go.mod h1:t3JDKnCBlYIc0ewLF0Q7B8MXmoIaBOZj/ic7iHozM/8=
github.com/jackc/pgx/v5 v5.4.0 h1:BSr+GCm4N6QcgIwv0DyTFHK9ugfEFF9DzSbbzxOiXU0=
github.com/jackc/pgx/v5 v5.4.0/go.mod h1:q6iHT8uDNXWiFNOlRqJzBTaSH3+2xCXkokxHZC5qWFY=
github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
github.com/jackc/puddle v1.1.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
github.com/jackc/puddle/v2 v2.2.0/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
@ -617,6 +624,8 @@ golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0
golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g=
golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM=
golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 h1:k/i9J1pBpvlfR+9QsetwPyERsqu1GIbi967PQMq3Ivc=
golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w=
@ -713,6 +722,7 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@ -729,6 +739,8 @@ golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58=
golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=

@ -1,5 +1,5 @@
package go_library
func Version() string {
return "1.0.153"
return "1.0.154"
}

@ -0,0 +1,20 @@
package wechatopen
// MonitorAuthorizerAccessToken 授权方access_token 监控
//func MonitorAuthorizerAccessToken(ctx context.Context, c *Client, authorizerRefreshToken string) (string, error) {
// authorizerAccessToken := GetAuthorizerAccessToken(ctx, c) // 查询
// // 判断
// result, err := c.CgiBinGetCallBackIp(ctx, authorizerAccessToken)
// if err != nil {
// return "", err
// }
// if len(result.Result.IpList) > 0 {
// return authorizerAccessToken, err
// }
// // 重新获取
// resp, err := c.CgiBinComponentApiAuthorizerToken(ctx, authorizerRefreshToken)
// if resp.Result.AuthorizerRefreshToken == "" {
// return authorizerAccessToken, err
// }
// return SetAuthorizerAccessToken(ctx, c, resp.Result.AuthorizerAccessToken), err
//}

@ -54,15 +54,11 @@ func newCgiBinAccountGetAccountBasicInfoResult(result CgiBinAccountGetAccountBas
// CgiBinAccountGetAccountBasicInfo 获取基本信息
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Mini_Program_Basic_Info/Mini_Program_Information_Settings.html
func (c *Client) CgiBinAccountGetAccountBasicInfo(ctx context.Context, notMustParams ...gorequest.Params) (*CgiBinAccountGetAccountBasicInfoResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newCgiBinAccountGetAccountBasicInfoResult(CgiBinAccountGetAccountBasicInfoResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) CgiBinAccountGetAccountBasicInfo(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*CgiBinAccountGetAccountBasicInfoResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/account/getaccountbasicinfo?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodGet)
request, err := c.request(ctx, apiUrl+"/cgi-bin/account/getaccountbasicinfo?access_token="+authorizerAccessToken, params, http.MethodGet)
if err != nil {
return newCgiBinAccountGetAccountBasicInfoResult(CgiBinAccountGetAccountBasicInfoResponse{}, request.ResponseBody, request), err
}

@ -26,18 +26,14 @@ func newCgiBinComponentApiAuthorizerTokenResult(result CgiBinComponentApiAuthori
// CgiBinComponentApiAuthorizerToken 获取/刷新接口调用令牌
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/token/api_authorizer_token.html
func (c *Client) CgiBinComponentApiAuthorizerToken(ctx context.Context, authorizerRefreshToken string, notMustParams ...gorequest.Params) (*CgiBinComponentApiAuthorizerTokenResult, error) {
// 检查
if err := c.checkAuthorizerIsConfig(ctx); err != nil {
return newCgiBinComponentApiAuthorizerTokenResult(CgiBinComponentApiAuthorizerTokenResponse{}, []byte{}, gorequest.Response{}, c.GetAuthorizerAppid(ctx)), err
}
func (c *Client) CgiBinComponentApiAuthorizerToken(ctx context.Context, componentAccessToken, authorizerAppid, authorizerRefreshToken string, notMustParams ...gorequest.Params) (*CgiBinComponentApiAuthorizerTokenResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("component_appid", c.GetComponentAppId(ctx)) // 第三方平台appid
params.Set("authorizer_appid", c.GetAuthorizerAppid(ctx)) // 授权方appid
params.Set("component_appid", c.config.componentAppId) // 第三方平台appid
params.Set("authorizer_appid", authorizerAppid) // 授权方appid
params.Set("authorizer_refresh_token", authorizerRefreshToken) // 授权码会在授权成功时返回给第三方平台
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/api_authorizer_token?component_access_token="+GetComponentAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/api_authorizer_token?component_access_token="+componentAccessToken, params, http.MethodPost)
if err != nil {
return newCgiBinComponentApiAuthorizerTokenResult(CgiBinComponentApiAuthorizerTokenResponse{}, request.ResponseBody, request, params.Get("authorizer_appid").(string)), err
}

@ -24,12 +24,12 @@ func newCgiBinComponentApiComponentTokenResult(result CgiBinComponentApiComponen
// CgiBinComponentApiComponentToken 令牌
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/token/component_access_token.html
func (c *Client) CgiBinComponentApiComponentToken(ctx context.Context, notMustParams ...gorequest.Params) (*CgiBinComponentApiComponentTokenResult, error) {
func (c *Client) CgiBinComponentApiComponentToken(ctx context.Context, componentVerifyTicket string, notMustParams ...gorequest.Params) (*CgiBinComponentApiComponentTokenResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("component_appid", c.GetComponentAppId(ctx)) // 第三方平台appid
params.Set("component_appsecret", c.GetComponentAppSecret(ctx)) // 第三方平台appsecret
params.Set("component_verify_ticket", GetComponentVerifyTicket(ctx, c)) // 微信后台推送的ticket
params.Set("component_appid", c.config.componentAppId) // 第三方平台appid
params.Set("component_appsecret", c.config.componentAppSecret) // 第三方平台appsecret
params.Set("component_verify_ticket", componentVerifyTicket) // 微信后台推送的ticket
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/api_component_token", params, http.MethodPost)
if err != nil {

@ -24,12 +24,12 @@ func newCgiBinComponentApiCreatePreAuthCodenResult(result CgiBinComponentApiCrea
// CgiBinComponentApiCreatePreAuthCoden 预授权码
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/token/pre_auth_code.html
func (c *Client) CgiBinComponentApiCreatePreAuthCoden(ctx context.Context, notMustParams ...gorequest.Params) (*CgiBinComponentApiCreatePreAuthCodenResult, error) {
func (c *Client) CgiBinComponentApiCreatePreAuthCoden(ctx context.Context, componentAccessToken string, notMustParams ...gorequest.Params) (*CgiBinComponentApiCreatePreAuthCodenResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("component_appid", c.GetComponentAppId(ctx)) // 第三方平台appid
params.Set("component_appid", c.config.componentAppId) // 第三方平台appid
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/api_create_preauthcode?component_access_token="+GetComponentAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/api_create_preauthcode?component_access_token="+componentAccessToken, params, http.MethodPost)
if err != nil {
return newCgiBinComponentApiCreatePreAuthCodenResult(CgiBinComponentApiCreatePreAuthCodenResponse{}, request.ResponseBody, request), err
}

@ -82,17 +82,13 @@ func newCgiBinComponentApiGetAuthorizerInfoResult(result CgiBinComponentApiGetAu
// CgiBinComponentApiGetAuthorizerInfo 获取授权帐号详情
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/token/api_get_authorizer_info.html
func (c *Client) CgiBinComponentApiGetAuthorizerInfo(ctx context.Context, notMustParams ...gorequest.Params) (*CgiBinComponentApiGetAuthorizerInfoResult, error) {
// 检查
if err := c.checkAuthorizerIsConfig(ctx); err != nil {
return newCgiBinComponentApiGetAuthorizerInfoResult(CgiBinComponentApiGetAuthorizerInfoResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) CgiBinComponentApiGetAuthorizerInfo(ctx context.Context, authorizerAppid, componentAccessToken string, notMustParams ...gorequest.Params) (*CgiBinComponentApiGetAuthorizerInfoResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("component_appid", c.GetComponentAppId(ctx)) // 第三方平台appid
params.Set("authorizer_appid", c.GetAuthorizerAppid(ctx)) // 授权方appid
params.Set("component_appid", c.config.componentAppId) // 第三方平台appid
params.Set("authorizer_appid", authorizerAppid) // 授权方appid
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/api_get_authorizer_info?component_access_token="+GetComponentAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/api_get_authorizer_info?component_access_token="+componentAccessToken, params, http.MethodPost)
if err != nil {
return newCgiBinComponentApiGetAuthorizerInfoResult(CgiBinComponentApiGetAuthorizerInfoResponse{}, request.ResponseBody, request), err
}

@ -38,13 +38,13 @@ func newCgiBinComponentApiQueryAuthResult(result CgiBinComponentApiQueryAuthResp
// CgiBinComponentApiQueryAuth 使用授权码获取授权信息
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/token/authorization_info.html
func (c *Client) CgiBinComponentApiQueryAuth(ctx context.Context, authorizationCode string, notMustParams ...gorequest.Params) (*CgiBinComponentApiQueryAuthResult, error) {
func (c *Client) CgiBinComponentApiQueryAuth(ctx context.Context, componentAccessToken, authorizationCode string, notMustParams ...gorequest.Params) (*CgiBinComponentApiQueryAuthResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("component_appid", c.GetComponentAppId(ctx)) // 第三方平台appid
params.Set("authorization_code", authorizationCode) // 授权码会在授权成功时返回给第三方平台
params.Set("component_appid", c.config.componentAppId) // 第三方平台appid
params.Set("authorization_code", authorizationCode) // 授权码会在授权成功时返回给第三方平台
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/api_query_auth?component_access_token="+GetComponentAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/api_query_auth?component_access_token="+componentAccessToken, params, http.MethodPost)
if err != nil {
return newCgiBinComponentApiQueryAuthResult(CgiBinComponentApiQueryAuthResponse{}, request.ResponseBody, request), err
}

@ -29,8 +29,8 @@ func newCgiBinComponentApiStartPushTicketResult(result CgiBinComponentApiStartPu
func (c *Client) CgiBinComponentApiStartPushTicket(ctx context.Context, notMustParams ...gorequest.Params) (*CgiBinComponentApiStartPushTicketResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("component_appid", c.GetComponentAppId(ctx)) // 第三方平台appid
params.Set("component_secret", c.GetComponentAppSecret(ctx)) // 第三方平台app_secret
params.Set("component_appid", c.config.componentAppId) // 第三方平台appid
params.Set("component_secret", c.config.componentAppSecret) // 第三方平台app_secret
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/api_start_push_ticket", params, http.MethodPost)
if err != nil {

@ -25,11 +25,11 @@ func newCgiBinComponentFastRegisterWeAppCreateResult(result CgiBinComponentFastR
// CgiBinComponentFastRegisterWeAppCreate 快速注册企业小程序
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/register-management/fast-registration-ent/registerMiniprogram.html
func (c *Client) CgiBinComponentFastRegisterWeAppCreate(ctx context.Context, notMustParams ...gorequest.Params) (*CgiBinComponentFastRegisterWeAppCreateResult, error) {
func (c *Client) CgiBinComponentFastRegisterWeAppCreate(ctx context.Context, componentAccessToken string, notMustParams ...gorequest.Params) (*CgiBinComponentFastRegisterWeAppCreateResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/fastregisterweapp?action=create&component_access_token="+GetComponentAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/fastregisterweapp?action=create&component_access_token="+componentAccessToken, params, http.MethodPost)
if err != nil {
return newCgiBinComponentFastRegisterWeAppCreateResult(CgiBinComponentFastRegisterWeAppCreateResponse{}, request.ResponseBody, request), err
}

@ -25,11 +25,11 @@ func newCgiBinComponentFastRegisterWeAppSearchResult(result CgiBinComponentFastR
// CgiBinComponentFastRegisterWeAppSearch 快速注册企业小程序
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/register-management/fast-registration-ent/registerMiniprogram.html#%E4%BA%8C%E3%80%81%E6%9F%A5%E8%AF%A2%E5%88%9B%E5%BB%BA%E4%BB%BB%E5%8A%A1%E7%8A%B6%E6%80%81
func (c *Client) CgiBinComponentFastRegisterWeAppSearch(ctx context.Context, notMustParams ...gorequest.Params) (*CgiBinComponentFastRegisterWeAppSearchResult, error) {
func (c *Client) CgiBinComponentFastRegisterWeAppSearch(ctx context.Context, componentAccessToken string, notMustParams ...gorequest.Params) (*CgiBinComponentFastRegisterWeAppSearchResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/fastregisterweapp?action=search&component_access_token="+GetComponentAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/fastregisterweapp?action=search&component_access_token="+componentAccessToken, params, http.MethodPost)
if err != nil {
return newCgiBinComponentFastRegisterWeAppSearchResult(CgiBinComponentFastRegisterWeAppSearchResponse{}, request.ResponseBody, request), err
}

@ -57,16 +57,12 @@ func newCgiBinComponentGetPrivacySettingResult(result CgiBinComponentGetPrivacyS
// CgiBinComponentGetPrivacySetting 查询小程序用户隐私保护指引
// @privacyVer 1表示现网版本传1则该接口返回的内容是现网版本的2表示开发版传2则该接口返回的内容是开发版本的。默认是2。
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/privacy_config/get_privacy_setting.html
func (c *Client) CgiBinComponentGetPrivacySetting(ctx context.Context, privacyVer int, notMustParams ...gorequest.Params) (*CgiBinComponentGetPrivacySettingResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newCgiBinComponentGetPrivacySettingResult(CgiBinComponentGetPrivacySettingResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) CgiBinComponentGetPrivacySetting(ctx context.Context, authorizerAccessToken string, privacyVer int, notMustParams ...gorequest.Params) (*CgiBinComponentGetPrivacySettingResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("privacy_ver", privacyVer)
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/getprivacysetting?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/getprivacysetting?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newCgiBinComponentGetPrivacySettingResult(CgiBinComponentGetPrivacySettingResponse{}, request.ResponseBody, request), err
}

@ -24,15 +24,11 @@ func newCgiBinComponentSetPrivacySettingResult(result CgiBinComponentSetPrivacyS
// CgiBinComponentSetPrivacySetting 配置小程序用户隐私保护指引
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/privacy_config/set_privacy_setting.html
func (c *Client) CgiBinComponentSetPrivacySetting(ctx context.Context, notMustParams ...gorequest.Params) (*CgiBinComponentSetPrivacySettingResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newCgiBinComponentSetPrivacySettingResult(CgiBinComponentSetPrivacySettingResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) CgiBinComponentSetPrivacySetting(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*CgiBinComponentSetPrivacySettingResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/setprivacysetting?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/setprivacysetting?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newCgiBinComponentSetPrivacySettingResult(CgiBinComponentSetPrivacySettingResponse{}, request.ResponseBody, request), err
}

@ -8,7 +8,7 @@ import (
)
type GetCallBackIpResponse struct {
IpList []string `json:"ip_list"`
IpList []string `json:"ip_list,omitempty"`
}
type GetCallBackIpResult struct {
@ -21,7 +21,7 @@ func NewGetCallBackIpResult(result GetCallBackIpResponse, body []byte, http gore
return &GetCallBackIpResult{Result: result, Body: body, Http: http}
}
// CgiBinGetApiDomainIp 获取微信服务器IP地址
// CgiBinGetApiDomainIp 获取微信API接口 IP地址
// https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_the_WeChat_server_IP_address.html
func (c *Client) CgiBinGetApiDomainIp(ctx context.Context, componentAccessToken string, notMustParams ...gorequest.Params) (*GetCallBackIpResult, error) {
// 参数

@ -0,0 +1,38 @@
package wechatopen
import (
"context"
"github.com/dtapps/go-library/utils/gojson"
"github.com/dtapps/go-library/utils/gorequest"
"net/http"
)
type CgiBinGetCallBackIpResponse struct {
IpList []string `json:"ip_list,omitempty"`
}
type CgiBinGetCallBackIpResult struct {
Result CgiBinGetCallBackIpResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
}
func NewCgiBinGetCallBackIpResult(result CgiBinGetCallBackIpResponse, body []byte, http gorequest.Response) *CgiBinGetCallBackIpResult {
return &CgiBinGetCallBackIpResult{Result: result, Body: body, Http: http}
}
// CgiBinGetCallBackIp 获取微信callback IP地址
// https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_the_WeChat_server_IP_address.html
func (c *Client) CgiBinGetCallBackIp(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*CgiBinGetCallBackIpResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/get_api_domain_ip?access_token="+authorizerAccessToken, params, http.MethodGet)
if err != nil {
return NewCgiBinGetCallBackIpResult(CgiBinGetCallBackIpResponse{}, request.ResponseBody, request), err
}
// 定义
var response CgiBinGetCallBackIpResponse
err = gojson.Unmarshal(request.ResponseBody, &response)
return NewCgiBinGetCallBackIpResult(response, request.ResponseBody, request), err
}

@ -27,16 +27,12 @@ func newCgiBinMaterialGetMaterialResult(result CgiBinMaterialGetMaterialResponse
// CgiBinMaterialGetMaterial 获取永久素材
// https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/Getting_Permanent_Assets.html
func (c *Client) CgiBinMaterialGetMaterial(ctx context.Context, mediaId string, notMustParams ...gorequest.Params) (*CgiBinMaterialGetMaterialResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newCgiBinMaterialGetMaterialResult(CgiBinMaterialGetMaterialResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) CgiBinMaterialGetMaterial(ctx context.Context, authorizerAccessToken, mediaId string, notMustParams ...gorequest.Params) (*CgiBinMaterialGetMaterialResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("media_id", mediaId) // 要获取的素材的media_id
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/material/get_material?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/cgi-bin/material/get_material?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newCgiBinMaterialGetMaterialResult(CgiBinMaterialGetMaterialResponse{}, request.ResponseBody, request), err
}

@ -25,11 +25,11 @@ func newCgiBinOpenSameEnTityResult(result CgiBinOpenSameEnTityResponse, body []b
// CgiBinOpenSameEnTity 获取授权绑定的商户号列表
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/cloudbase-common/wechatpay/getWechatPayList.html
func (c *Client) CgiBinOpenSameEnTity(ctx context.Context, notMustParams ...gorequest.Params) (*CgiBinOpenSameEnTityResult, error) {
func (c *Client) CgiBinOpenSameEnTity(ctx context.Context, componentAccessToken string, notMustParams ...gorequest.Params) (*CgiBinOpenSameEnTityResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/open/sameentity?access_token="+GetComponentAccessToken(ctx, c), params, http.MethodGet)
request, err := c.request(ctx, apiUrl+"/cgi-bin/open/sameentity?access_token="+componentAccessToken, params, http.MethodGet)
if err != nil {
return newCgiBinOpenSameEnTityResult(CgiBinOpenSameEnTityResponse{}, request.ResponseBody, request), err
}

@ -32,18 +32,14 @@ func newCgiBinOpenapiRidGetResult(result CgiBinOpenapiRidGetResponse, body []byt
// CgiBinOpenapiRidGet 查询rid信息
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/openapi/getRidInfo.html
func (c *Client) CgiBinOpenapiRidGet(ctx context.Context, rid string, notMustParams ...gorequest.Params) (*CgiBinOpenapiRidGetResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newCgiBinOpenapiRidGetResult(CgiBinOpenapiRidGetResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) CgiBinOpenapiRidGet(ctx context.Context, authorizerAccessToken, rid string, notMustParams ...gorequest.Params) (*CgiBinOpenapiRidGetResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
if rid != "" {
params.Set("rid", rid)
}
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/openapi/rid/get?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/cgi-bin/openapi/rid/get?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newCgiBinOpenapiRidGetResult(CgiBinOpenapiRidGetResponse{}, request.ResponseBody, request), err
}

@ -25,17 +25,13 @@ func newCgiBinShortUrlResult(result CgiBinShortUrlResponse, body []byte, http go
// CgiBinShortUrl 将二维码长链接转成短链接
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/qrcode/shorturl.html
func (c *Client) CgiBinShortUrl(ctx context.Context, longUrl string, notMustParams ...gorequest.Params) (*CgiBinShortUrlResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newCgiBinShortUrlResult(CgiBinShortUrlResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) CgiBinShortUrl(ctx context.Context, authorizerAccessToken, longUrl string, notMustParams ...gorequest.Params) (*CgiBinShortUrlResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("action", "long2short") // 此处填long2short代表长链接转短链接
params.Set("long_url", longUrl) // 需要转换的长链接支持http://、https://、weixin://wxpay 格式的url
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/shorturl?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/cgi-bin/shorturl?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newCgiBinShortUrlResult(CgiBinShortUrlResponse{}, request.ResponseBody, request), err
}

@ -24,15 +24,11 @@ func newCgiBinWxOpenQrCodeJumpAddResult(result CgiBinWxOpenQrCodeJumpAddResponse
// CgiBinWxOpenQrCodeJumpAdd 增加或修改二维码规则
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/qrcode/qrcodejumpadd.html
func (c *Client) CgiBinWxOpenQrCodeJumpAdd(ctx context.Context, notMustParams ...gorequest.Params) (*CgiBinWxOpenQrCodeJumpAddResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newCgiBinWxOpenQrCodeJumpAddResult(CgiBinWxOpenQrCodeJumpAddResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) CgiBinWxOpenQrCodeJumpAdd(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*CgiBinWxOpenQrCodeJumpAddResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/wxopen/qrcodejumpadd?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/cgi-bin/wxopen/qrcodejumpadd?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newCgiBinWxOpenQrCodeJumpAddResult(CgiBinWxOpenQrCodeJumpAddResponse{}, request.ResponseBody, request), err
}

@ -24,16 +24,12 @@ func newCgiBinWxOpenQrCodeJumpDeleteResult(result CgiBinWxOpenQrCodeJumpDeleteRe
// CgiBinWxOpenQrCodeJumpDelete 删除已设置的二维码规则
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/qrcode/qrcodejumpdelete.html
func (c *Client) CgiBinWxOpenQrCodeJumpDelete(ctx context.Context, prefix string, notMustParams ...gorequest.Params) (*CgiBinWxOpenQrCodeJumpDeleteResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newCgiBinWxOpenQrCodeJumpDeleteResult(CgiBinWxOpenQrCodeJumpDeleteResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) CgiBinWxOpenQrCodeJumpDelete(ctx context.Context, authorizerAccessToken, prefix string, notMustParams ...gorequest.Params) (*CgiBinWxOpenQrCodeJumpDeleteResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("prefix", prefix)
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/wxopen/qrcodejumpdelete?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/cgi-bin/wxopen/qrcodejumpdelete?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newCgiBinWxOpenQrCodeJumpDeleteResult(CgiBinWxOpenQrCodeJumpDeleteResponse{}, request.ResponseBody, request), err
}

@ -26,15 +26,11 @@ func newCgiBinWxOpenQrCodeJumpDownloadResult(result CgiBinWxOpenQrCodeJumpDownlo
// CgiBinWxOpenQrCodeJumpDownload 获取校验文件名称及内容
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/qrcode/qrcodejumpdownload.html
func (c *Client) CgiBinWxOpenQrCodeJumpDownload(ctx context.Context, notMustParams ...gorequest.Params) (*CgiBinWxOpenQrCodeJumpDownloadResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newCgiBinWxOpenQrCodeJumpDownloadResult(CgiBinWxOpenQrCodeJumpDownloadResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) CgiBinWxOpenQrCodeJumpDownload(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*CgiBinWxOpenQrCodeJumpDownloadResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/wxopen/qrcodejumpdownload?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/cgi-bin/wxopen/qrcodejumpdownload?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newCgiBinWxOpenQrCodeJumpDownloadResult(CgiBinWxOpenQrCodeJumpDownloadResponse{}, request.ResponseBody, request), err
}

@ -35,15 +35,11 @@ func newCgiBinWxOpenQrCodeJumpGetResult(result CgiBinWxOpenQrCodeJumpGetResponse
// CgiBinWxOpenQrCodeJumpGet 获取已设置的二维码规则
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/qrcode/qrcodejumpadd.html
func (c *Client) CgiBinWxOpenQrCodeJumpGet(ctx context.Context, notMustParams ...gorequest.Params) (*CgiBinWxOpenQrCodeJumpGetResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newCgiBinWxOpenQrCodeJumpGetResult(CgiBinWxOpenQrCodeJumpGetResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) CgiBinWxOpenQrCodeJumpGet(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*CgiBinWxOpenQrCodeJumpGetResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/wxopen/qrcodejumpget?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/cgi-bin/wxopen/qrcodejumpget?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newCgiBinWxOpenQrCodeJumpGetResult(CgiBinWxOpenQrCodeJumpGetResponse{}, request.ResponseBody, request), err
}

@ -24,16 +24,12 @@ func newCgiBinWxOpenQrCodeJumpPublishResult(result CgiBinWxOpenQrCodeJumpPublish
// CgiBinWxOpenQrCodeJumpPublish 发布已设置的二维码规则
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/qrcode/qrcodejumppublish.html
func (c *Client) CgiBinWxOpenQrCodeJumpPublish(ctx context.Context, prefix string, notMustParams ...gorequest.Params) (*CgiBinWxOpenQrCodeJumpPublishResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newCgiBinWxOpenQrCodeJumpPublishResult(CgiBinWxOpenQrCodeJumpPublishResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) CgiBinWxOpenQrCodeJumpPublish(ctx context.Context, authorizerAccessToken, prefix string, notMustParams ...gorequest.Params) (*CgiBinWxOpenQrCodeJumpPublishResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("prefix", prefix)
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/wxopen/qrcodejumppublish?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/cgi-bin/wxopen/qrcodejumppublish?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newCgiBinWxOpenQrCodeJumpPublishResult(CgiBinWxOpenQrCodeJumpPublishResponse{}, request.ResponseBody, request), err
}

@ -1,26 +0,0 @@
package wechatopen
import (
"context"
"errors"
)
func (c *Client) checkAuthorizerIsConfig(ctx context.Context) error {
authorizerAppid := c.GetAuthorizerAppid(ctx)
if authorizerAppid == "" {
return errors.New("请配置 authorizerAppid")
}
return nil
}
func (c *Client) checkAuthorizerConfig(ctx context.Context) error {
authorizerAppid := c.GetAuthorizerAppid(ctx)
if authorizerAppid == "" {
return errors.New("请配置 authorizerAppid")
}
authorizerAccessToken := GetAuthorizerAccessToken(ctx, c)
if authorizerAccessToken == "" {
return errors.New("请配置 authorizerAccessToken")
}
return nil
}

@ -2,26 +2,16 @@ package wechatopen
import (
"errors"
"github.com/dtapps/go-library/utils/dorm"
"github.com/dtapps/go-library/utils/golog"
"github.com/dtapps/go-library/utils/gorequest"
)
// 缓存前缀
// wechat_open:component_verify_ticket:
// wechat_open:component_access_token:
// wechat_open:authorizer_access_token:
// wechat_open:pre_auth_code:
type redisCachePrefixFun func() (componentVerifyTicket, componentAccessToken, authorizerAccessToken, preAuthCode string)
// ClientConfig 实例配置
type ClientConfig struct {
ComponentAppId string `json:"component_app_id"` // 第三方平台appid
ComponentAppSecret string `json:"component_app_secret"` // 第三方平台app_secret
MessageToken string `json:"message_token"` // 第三方平台消息令牌
MessageKey string `json:"message_key"` // 第三方平台消息密钥
RedisClient *dorm.RedisClient `json:"redis_client"` // 缓存数据库
RedisCachePrefixFun redisCachePrefixFun `json:"redis_cache_prefix_fun"` // 缓存前缀
ComponentAppId string `json:"component_app_id"` // 第三方平台appid
ComponentAppSecret string `json:"component_app_secret"` // 第三方平台app_secret
MessageToken string `json:"message_token"` // 第三方平台消息令牌
MessageKey string `json:"message_key"` // 第三方平台消息密钥
}
// Client 实例
@ -34,18 +24,11 @@ type Client struct {
messageKey string // 第三方平台消息密钥
componentAccessToken string // 第三方平台access_token
componentVerifyTicket string // 第三方平台推送ticket
preAuthCode string // 第三方平台预授权码
componentPreAuthCode string // 第三方平台预授权码
authorizerAppid string // 授权方appid
authorizerAccessToken string // 授权方access_token
authorizerRefreshToken string // 授权方refresh_token
}
cache struct {
redisClient *dorm.RedisClient // 缓存数据库
componentVerifyTicketPrefix string
componentAccessTokenPrefix string
authorizerAccessTokenPrefix string
preAuthCodePrefix string
}
zap struct {
status bool // 状态
client *golog.ApiZapLog // 日志服务
@ -79,12 +62,5 @@ func NewClient(config *ClientConfig) (*Client, error) {
c.requestClient = gorequest.NewHttp()
c.cache.redisClient = config.RedisClient
c.cache.componentVerifyTicketPrefix, c.cache.componentAccessTokenPrefix, c.cache.authorizerAccessTokenPrefix, c.cache.preAuthCodePrefix = config.RedisCachePrefixFun()
if c.cache.componentVerifyTicketPrefix == "" || c.cache.componentAccessTokenPrefix == "" || c.cache.authorizerAccessTokenPrefix == "" || c.cache.preAuthCodePrefix == "" {
return nil, errors.New("请配置 RedisCachePrefixFun")
}
return c, nil
}

@ -0,0 +1,20 @@
package wechatopen
// MonitorComponentAccessToken 第三方平台access_token 监控
//func MonitorComponentAccessToken(ctx context.Context, c *Client) (string, error) {
// componentAccessToken := GetComponentAccessToken(ctx, c) // 查询
// // 判断
// result, err := c.CgiBinGetApiDomainIp(ctx, componentAccessToken)
// if err != nil {
// return "", err
// }
// if len(result.Result.IpList) > 0 {
// return componentAccessToken, err
// }
// // 重新获取
// resp, err := c.CgiBinComponentApiComponentToken(ctx)
// if resp.Result.ComponentAccessToken == "" {
// return componentAccessToken, err
// }
// return SetComponentAccessToken(ctx, c, resp.Result.ComponentAccessToken), err
//}

@ -0,0 +1,17 @@
package wechatopen
// MonitorComponentPreAuthCode 第三方平台预授权码 监控
//func MonitorComponentPreAuthCode(ctx context.Context, c *Client) (string, error) {
// // 查询
// preAuthCode := GetComponentPreAuthCode(ctx, c)
// // 判断
// if preAuthCode != "" {
// return preAuthCode, nil
// }
// // 重新获取
// resp, err := c.CgiBinComponentApiCreatePreAuthCoden(ctx)
// if resp.Result.PreAuthCode == "" {
// return preAuthCode, err
// }
// return SetComponentPreAuthCode(ctx, c, resp.Result.PreAuthCode), err
//}

@ -2,19 +2,6 @@ package wechatopen
import "github.com/dtapps/go-library/utils/golog"
// ConfigComponent 配置
func (c *Client) ConfigComponent(componentAppId, componentAppSecret string) *Client {
c.config.componentAppId = componentAppId
c.config.componentAppSecret = componentAppSecret
return c
}
// ConfigAuthorizer 配置第三方
func (c *Client) ConfigAuthorizer(authorizerAppid string) *Client {
c.config.authorizerAppid = authorizerAppid
return c
}
// ConfigZapClientFun 日志配置
func (c *Client) ConfigZapClientFun(apiZapLogFun golog.ApiZapLogFun) {
apiZapLog := apiZapLogFun()

@ -31,17 +31,13 @@ func newDataCubeGetWeAnAlySisAppidDailyRetainInfoResult(result DataCubeGetWeAnAl
// DataCubeGetWeAnAlySisAppidDailyRetainInfo 获取用户访问小程序日留存
// https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/data-analysis/visit-retain/getDailyRetain.html
func (c *Client) DataCubeGetWeAnAlySisAppidDailyRetainInfo(ctx context.Context, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidDailyRetainInfoResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newDataCubeGetWeAnAlySisAppidDailyRetainInfoResult(DataCubeGetWeAnAlySisAppidDailyRetainInfoResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) DataCubeGetWeAnAlySisAppidDailyRetainInfo(ctx context.Context, authorizerAccessToken, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidDailyRetainInfoResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("begin_date", beginDate)
params.Set("end_date", endDate)
// 请求
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappiddailyretaininfo?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappiddailyretaininfo?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newDataCubeGetWeAnAlySisAppidDailyRetainInfoResult(DataCubeGetWeAnAlySisAppidDailyRetainInfoResponse{}, request.ResponseBody, request), err
}

@ -28,17 +28,13 @@ func newDataCubeGetWeAnAlySisAppidDailySummaryTrendResult(result DataCubeGetWeAn
// DataCubeGetWeAnAlySisAppidDailySummaryTrend 获取用户访问小程序数据概况
// https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/data-analysis/others/getDailySummary.html
func (c *Client) DataCubeGetWeAnAlySisAppidDailySummaryTrend(ctx context.Context, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidDailySummaryTrendResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newDataCubeGetWeAnAlySisAppidDailySummaryTrendResult(DataCubeGetWeAnAlySisAppidDailySummaryTrendResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) DataCubeGetWeAnAlySisAppidDailySummaryTrend(ctx context.Context, authorizerAccessToken, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidDailySummaryTrendResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("begin_date", beginDate)
params.Set("end_date", endDate)
// 请求
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappiddailysummarytrend?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappiddailysummarytrend?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newDataCubeGetWeAnAlySisAppidDailySummaryTrendResult(DataCubeGetWeAnAlySisAppidDailySummaryTrendResponse{}, request.ResponseBody, request), err
}

@ -32,17 +32,13 @@ func newDataCubeGetWeAnAlySisAppidDailyVisitTrendResult(result DataCubeGetWeAnAl
// DataCubeGetWeAnAlySisAppidDailyVisitTrend 获取用户访问小程序数据日趋势
// https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/data-analysis/visit-trend/getDailyVisitTrend.html
func (c *Client) DataCubeGetWeAnAlySisAppidDailyVisitTrend(ctx context.Context, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidDailyVisitTrendResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newDataCubeGetWeAnAlySisAppidDailyVisitTrendResult(DataCubeGetWeAnAlySisAppidDailyVisitTrendResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) DataCubeGetWeAnAlySisAppidDailyVisitTrend(ctx context.Context, authorizerAccessToken, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidDailyVisitTrendResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("begin_date", beginDate)
params.Set("end_date", endDate)
// 请求
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappiddailyvisittrend?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappiddailyvisittrend?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newDataCubeGetWeAnAlySisAppidDailyVisitTrendResult(DataCubeGetWeAnAlySisAppidDailyVisitTrendResponse{}, request.ResponseBody, request), err
}

@ -31,17 +31,13 @@ func newDataCubeGetWeAnAlySisAppidMonthlyRetainInfoResult(result DataCubeGetWeAn
// DataCubeGetWeAnAlySisAppidMonthlyRetainInfo 获取用户访问小程序月留存
// https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/data-analysis/visit-retain/getMonthlyRetain.html
func (c *Client) DataCubeGetWeAnAlySisAppidMonthlyRetainInfo(ctx context.Context, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidMonthlyRetainInfoResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newDataCubeGetWeAnAlySisAppidMonthlyRetainInfoResult(DataCubeGetWeAnAlySisAppidMonthlyRetainInfoResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) DataCubeGetWeAnAlySisAppidMonthlyRetainInfo(ctx context.Context, authorizerAccessToken, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidMonthlyRetainInfoResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("begin_date", beginDate)
params.Set("end_date", endDate)
// 请求
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappidmonthlyretaininfo?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappidmonthlyretaininfo?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newDataCubeGetWeAnAlySisAppidMonthlyRetainInfoResult(DataCubeGetWeAnAlySisAppidMonthlyRetainInfoResponse{}, request.ResponseBody, request), err
}

@ -32,17 +32,13 @@ func newDataCubeGetWeAnAlySisAppidMonthlyVisitTrendResult(result DataCubeGetWeAn
// DataCubeGetWeAnAlySisAppidMonthlyVisitTrend 获取用户访问小程序数据月趋势
// https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/data-analysis/visit-trend/getMonthlyVisitTrend.html
func (c *Client) DataCubeGetWeAnAlySisAppidMonthlyVisitTrend(ctx context.Context, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidMonthlyVisitTrendResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newDataCubeGetWeAnAlySisAppidMonthlyVisitTrendResult(DataCubeGetWeAnAlySisAppidMonthlyVisitTrendResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) DataCubeGetWeAnAlySisAppidMonthlyVisitTrend(ctx context.Context, authorizerAccessToken, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidMonthlyVisitTrendResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("begin_date", beginDate)
params.Set("end_date", endDate)
// 请求
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappidmonthlyvisittrend?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappidmonthlyvisittrend?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newDataCubeGetWeAnAlySisAppidMonthlyVisitTrendResult(DataCubeGetWeAnAlySisAppidMonthlyVisitTrendResponse{}, request.ResponseBody, request), err
}

@ -85,17 +85,13 @@ func newDataCubeGetWeAnAlySisAppidUserPortraitResult(result DataCubeGetWeAnAlySi
// DataCubeGetWeAnAlySisAppidUserPortrait 获取小程序用户画像分布
// https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/data-analysis/others/getUserPortrait.html
func (c *Client) DataCubeGetWeAnAlySisAppidUserPortrait(ctx context.Context, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidUserPortraitResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newDataCubeGetWeAnAlySisAppidUserPortraitResult(DataCubeGetWeAnAlySisAppidUserPortraitResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) DataCubeGetWeAnAlySisAppidUserPortrait(ctx context.Context, authorizerAccessToken, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidUserPortraitResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("begin_date", beginDate)
params.Set("end_date", endDate)
// 请求
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappiduserportrait?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappiduserportrait?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newDataCubeGetWeAnAlySisAppidUserPortraitResult(DataCubeGetWeAnAlySisAppidUserPortraitResponse{}, request.ResponseBody, request), err
}

@ -30,17 +30,13 @@ func newDataCubeGetWeAnAlysIsAppidVisitDistributionResult(result DataCubeGetWeAn
// DataCubeGetWeAnAlysIsAppidVisitDistribution 获取用户小程序访问分布数据
// https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/data-analysis/others/getVisitDistribution.html
func (c *Client) DataCubeGetWeAnAlysIsAppidVisitDistribution(ctx context.Context, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlysIsAppidVisitDistributionResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newDataCubeGetWeAnAlysIsAppidVisitDistributionResult(DataCubeGetWeAnAlysIsAppidVisitDistributionResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) DataCubeGetWeAnAlysIsAppidVisitDistribution(ctx context.Context, authorizerAccessToken, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlysIsAppidVisitDistributionResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("begin_date", beginDate)
params.Set("end_date", endDate)
// 请求
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappidvisitdistribution?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappidvisitdistribution?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newDataCubeGetWeAnAlysIsAppidVisitDistributionResult(DataCubeGetWeAnAlysIsAppidVisitDistributionResponse{}, request.ResponseBody, request), err
}

@ -33,17 +33,13 @@ func newDataCubeGetWeAnAlySisAppidVisitPageResult(result DataCubeGetWeAnAlySisAp
// DataCubeGetWeAnAlySisAppidVisitPage 获取访问页面数据
// https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/data-analysis/others/getVisitPage.html
func (c *Client) DataCubeGetWeAnAlySisAppidVisitPage(ctx context.Context, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidVisitPageResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newDataCubeGetWeAnAlySisAppidVisitPageResult(DataCubeGetWeAnAlySisAppidVisitPageResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) DataCubeGetWeAnAlySisAppidVisitPage(ctx context.Context, authorizerAccessToken, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidVisitPageResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("begin_date", beginDate)
params.Set("end_date", endDate)
// 请求
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappidvisitpage?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappidvisitpage?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newDataCubeGetWeAnAlySisAppidVisitPageResult(DataCubeGetWeAnAlySisAppidVisitPageResponse{}, request.ResponseBody, request), err
}

@ -31,17 +31,13 @@ func newDataCubeGetWeAnAlySisAppidWeeklyRetainInfoResult(result DataCubeGetWeAnA
// DataCubeGetWeAnAlySisAppidWeeklyRetainInfo 获取用户访问小程序周留存
// https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/data-analysis/visit-retain/getWeeklyRetain.html
func (c *Client) DataCubeGetWeAnAlySisAppidWeeklyRetainInfo(ctx context.Context, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidWeeklyRetainInfoResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newDataCubeGetWeAnAlySisAppidWeeklyRetainInfoResult(DataCubeGetWeAnAlySisAppidWeeklyRetainInfoResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) DataCubeGetWeAnAlySisAppidWeeklyRetainInfo(ctx context.Context, authorizerAccessToken, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidWeeklyRetainInfoResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("begin_date", beginDate)
params.Set("end_date", endDate)
// 请求
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappidweeklyretaininfo?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappidweeklyretaininfo?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newDataCubeGetWeAnAlySisAppidWeeklyRetainInfoResult(DataCubeGetWeAnAlySisAppidWeeklyRetainInfoResponse{}, request.ResponseBody, request), err
}

@ -32,17 +32,13 @@ func newDataCubeGetWeAnAlySisAppidWeeklyVisitTrendResult(result DataCubeGetWeAnA
// DataCubeGetWeAnAlySisAppidWeeklyVisitTrend 获取用户访问小程序数据周趋势
// https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/data-analysis/visit-trend/getWeeklyVisitTrend.html
func (c *Client) DataCubeGetWeAnAlySisAppidWeeklyVisitTrend(ctx context.Context, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidWeeklyVisitTrendResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newDataCubeGetWeAnAlySisAppidWeeklyVisitTrendResult(DataCubeGetWeAnAlySisAppidWeeklyVisitTrendResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) DataCubeGetWeAnAlySisAppidWeeklyVisitTrend(ctx context.Context, authorizerAccessToken, beginDate, endDate string, notMustParams ...gorequest.Params) (*DataCubeGetWeAnAlySisAppidWeeklyVisitTrendResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("begin_date", beginDate)
params.Set("end_date", endDate)
// 请求
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappidweeklyvisittrend?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/datacube/getweanalysisappidweeklyvisittrend?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newDataCubeGetWeAnAlySisAppidWeeklyVisitTrendResult(DataCubeGetWeAnAlySisAppidWeeklyVisitTrendResponse{}, request.ResponseBody, request), err
}

@ -1,40 +0,0 @@
package wechatopen
import (
"context"
)
// GetComponentAppId 第三方平台appid
func (c *Client) GetComponentAppId(ctx context.Context) string {
return c.config.componentAppId
}
// GetComponentAppSecret 第三方平台app_secret
func (c *Client) GetComponentAppSecret(ctx context.Context) string {
return c.config.componentAppSecret
}
// GetMessageToken 第三方平台消息令牌
func (c *Client) GetMessageToken(ctx context.Context) string {
return c.config.messageToken
}
// GetMessageKey 第三方平台消息密钥
func (c *Client) GetMessageKey(ctx context.Context) string {
return c.config.messageKey
}
// GetAuthorizerAppid 授权方appid
func (c *Client) GetAuthorizerAppid(ctx context.Context) string {
return c.config.authorizerAppid
}
// GetAuthorizerAccessToken 授权方access_token
func (c *Client) GetAuthorizerAccessToken(ctx context.Context) string {
return c.config.authorizerAccessToken
}
// GetAuthorizerRefreshToken 授权方refresh_token
func (c *Client) GetAuthorizerRefreshToken(ctx context.Context) string {
return c.config.authorizerRefreshToken
}

@ -1,55 +0,0 @@
package wechatopen
import (
"context"
"errors"
"fmt"
"time"
)
// GetAuthorizerAccessTokenCacheKeyName 授权方access_token 缓存名称
func GetAuthorizerAccessTokenCacheKeyName(ctx context.Context, c *Client) string {
return c.cache.authorizerAccessTokenPrefix + c.GetComponentAppId(ctx) + ":" + c.GetAuthorizerAppid(ctx)
}
// GetAuthorizerAccessToken 授权方access_token
func GetAuthorizerAccessToken(ctx context.Context, c *Client) string {
if c.config.authorizerAccessToken != "" {
return c.config.authorizerAccessToken
}
if c.cache.redisClient.GetDb() == nil {
return c.config.authorizerAccessToken
}
result, _ := c.cache.redisClient.Get(ctx, GetAuthorizerAccessTokenCacheKeyName(ctx, c)).Result()
return result
}
// SetAuthorizerAccessToken 授权方access_token
func SetAuthorizerAccessToken(ctx context.Context, c *Client, authorizerAccessToken string) string {
if authorizerAccessToken == "" {
return ""
}
c.cache.redisClient.Set(ctx, GetAuthorizerAccessTokenCacheKeyName(ctx, c), authorizerAccessToken, time.Hour*2)
return GetAuthorizerAccessToken(ctx, c)
}
// DelAuthorizerAccessToken 授权方access_token 删除
func DelAuthorizerAccessToken(ctx context.Context, c *Client) error {
return c.cache.redisClient.Del(ctx, GetAuthorizerAccessTokenCacheKeyName(ctx, c)).Err()
}
// MonitorAuthorizerAccessToken 授权方access_token 监控
func MonitorAuthorizerAccessToken(ctx context.Context, c *Client, authorizerRefreshToken string) (string, error) {
// 查询
authorizerAccessToken := GetAuthorizerAccessToken(ctx, c)
// 判断
if authorizerAccessToken != "" {
return authorizerAccessToken, nil
}
// 重新获取
resp, err := c.CgiBinComponentApiAuthorizerToken(ctx, authorizerRefreshToken)
if resp.Result.AuthorizerRefreshToken == "" {
return authorizerAccessToken, errors.New(fmt.Sprintf("获取失败:%v", err))
}
return SetAuthorizerAccessToken(ctx, c, resp.Result.AuthorizerAccessToken), err
}

@ -1,51 +0,0 @@
package wechatopen
import (
"context"
"time"
)
// GetComponentAccessTokenCacheKeyName 第三方平台access_token 缓存名称
func GetComponentAccessTokenCacheKeyName(ctx context.Context, c *Client) string {
return c.cache.componentAccessTokenPrefix + c.GetComponentAppId(ctx)
}
// GetComponentAccessToken 第三方平台access_token 获取
func GetComponentAccessToken(ctx context.Context, c *Client) string {
if c.cache.redisClient.GetDb() == nil {
return c.config.componentAccessToken
}
result, _ := c.cache.redisClient.GetDb().Get(ctx, GetComponentAccessTokenCacheKeyName(ctx, c)).Result()
return result
}
// SetComponentAccessToken 第三方平台access_token 设置
func SetComponentAccessToken(ctx context.Context, c *Client, componentAccessToken string) string {
if componentAccessToken == "" {
return ""
}
c.cache.redisClient.Set(ctx, GetComponentAccessTokenCacheKeyName(ctx, c), componentAccessToken, time.Second*7200)
return GetComponentAccessToken(ctx, c)
}
// DelComponentAccessToken 第三方平台access_token 删除
func DelComponentAccessToken(ctx context.Context, c *Client) error {
return c.cache.redisClient.Del(ctx, GetComponentAccessTokenCacheKeyName(ctx, c)).Err()
}
// MonitorComponentAccessToken 第三方平台access_token 监控
func MonitorComponentAccessToken(ctx context.Context, c *Client) (string, error) {
// 查询
componentAccessToken := GetComponentAccessToken(ctx, c)
// 判断
result, err := c.CgiBinGetApiDomainIp(ctx, componentAccessToken)
if err != nil {
return "", err
}
if len(result.Result.IpList) > 0 {
return componentAccessToken, err
}
// 重新获取
resp, err := c.CgiBinComponentApiComponentToken(ctx)
return SetComponentAccessToken(ctx, c, resp.Result.ComponentAccessToken), err
}

@ -1,34 +0,0 @@
package wechatopen
import (
"context"
"time"
)
// GetComponentVerifyTicketCacheKeyName 第三方平台推送ticket 缓存名称
func GetComponentVerifyTicketCacheKeyName(ctx context.Context, c *Client) string {
return c.cache.componentVerifyTicketPrefix + c.GetComponentAppId(ctx)
}
// GetComponentVerifyTicket 第三方平台推送ticket 获取
func GetComponentVerifyTicket(ctx context.Context, c *Client) string {
if c.cache.redisClient.GetDb() == nil {
return c.config.componentVerifyTicket
}
result, _ := c.cache.redisClient.Get(ctx, GetComponentVerifyTicketCacheKeyName(ctx, c)).Result()
return result
}
// SetComponentVerifyTicket 第三方平台推送ticket 设置
func SetComponentVerifyTicket(ctx context.Context, c *Client, componentVerifyTicket string) string {
if componentVerifyTicket == "" {
return ""
}
c.cache.redisClient.Set(ctx, GetComponentVerifyTicketCacheKeyName(ctx, c), componentVerifyTicket, time.Hour*12)
return GetComponentVerifyTicket(ctx, c)
}
// DelComponentVerifyTicket 第三方平台推送ticket 删除
func DelComponentVerifyTicket(ctx context.Context, c *Client) error {
return c.cache.redisClient.Del(ctx, GetComponentVerifyTicketCacheKeyName(ctx, c)).Err()
}

@ -1,47 +0,0 @@
package wechatopen
import (
"context"
"time"
)
// GetPreAuthCodeCacheKeyName 第三方平台预授权码 缓存名称
func GetPreAuthCodeCacheKeyName(ctx context.Context, c *Client) string {
return c.cache.preAuthCodePrefix + c.GetComponentAppId(ctx)
}
// GetPreAuthCode 第三方平台预授权码 获取
func GetPreAuthCode(ctx context.Context, c *Client) string {
if c.cache.redisClient.GetDb() == nil {
return c.config.authorizerAccessToken
}
result, _ := c.cache.redisClient.Get(ctx, GetPreAuthCodeCacheKeyName(ctx, c)).Result()
return result
}
// SetPreAuthCode 第三方平台预授权码 设置
func SetPreAuthCode(ctx context.Context, c *Client, preAuthCode string) string {
if preAuthCode == "" {
return ""
}
c.cache.redisClient.Set(ctx, GetPreAuthCodeCacheKeyName(ctx, c), preAuthCode, time.Second*1700)
return GetPreAuthCode(ctx, c)
}
// DelPreAuthCode 第三方平台预授权码 删除
func DelPreAuthCode(ctx context.Context, c *Client) error {
return c.cache.redisClient.Del(ctx, GetPreAuthCodeCacheKeyName(ctx, c)).Err()
}
// MonitorPreAuthCode 第三方平台预授权码 监控
func MonitorPreAuthCode(ctx context.Context, c *Client) (string, error) {
// 查询
preAuthCode := GetPreAuthCode(ctx, c)
// 判断
if preAuthCode != "" {
return preAuthCode, nil
}
// 重新获取
resp, err := c.CgiBinComponentApiCreatePreAuthCoden(ctx)
return SetPreAuthCode(ctx, c, resp.Result.PreAuthCode), err
}

@ -13,9 +13,6 @@ func (c *Client) request(ctx context.Context, url string, params map[string]inte
// 设置请求地址
client.SetUri(url)
client.SetHeader("component_app_id", c.GetComponentAppId(ctx))
client.SetHeader("authorizer_appid", c.GetAuthorizerAppid(ctx))
// 设置方式
client.SetMethod(method)

@ -7,7 +7,7 @@ import (
)
// ServeHttpAuthorizerAppid 授权跳转
func (c *Client) ServeHttpAuthorizerAppid(ctx context.Context, r *http.Request) (resp CgiBinComponentApiQueryAuthResponse, agentUserId string, err error) {
func (c *Client) ServeHttpAuthorizerAppid(ctx context.Context, r *http.Request, componentAccessToken string) (resp CgiBinComponentApiQueryAuthResponse, agentUserId string, err error) {
var (
query = r.URL.Query()
@ -25,7 +25,7 @@ func (c *Client) ServeHttpAuthorizerAppid(ctx context.Context, r *http.Request)
return resp, agentUserId, errors.New("找不到过期时间参数")
}
info, err := c.CgiBinComponentApiQueryAuth(ctx, authCode)
info, err := c.CgiBinComponentApiQueryAuth(ctx, componentAccessToken, authCode)
if err != nil {
return resp, agentUserId, err
}

@ -58,7 +58,7 @@ func (c *Client) ServeHttpVerifyTicket(ctx context.Context, r *http.Request) (re
return resp, errors.New("未找到随机数参数")
}
wantSignature = Sign(c.GetMessageToken(ctx), timestamp, nonce)
wantSignature = Sign(c.config.messageToken, timestamp, nonce)
if haveSignature != wantSignature {
return resp, errors.New("签名错误")
}
@ -97,7 +97,7 @@ func (c *Client) ServeHttpVerifyTicket(ctx context.Context, r *http.Request) (re
return resp, errors.New(fmt.Sprintf("Encrypt 解码字符串错误:%v", err))
}
AesKey, err := base64.StdEncoding.DecodeString(c.GetMessageKey(ctx) + "=")
AesKey, err := base64.StdEncoding.DecodeString(c.config.messageKey + "=")
if err != nil {
return resp, errors.New(fmt.Sprintf("messageKey 解码字符串错误:%v", err))
}

@ -1,21 +0,0 @@
package wechatopen
import "context"
// SetAuthorizerAccessToken 授权方access_token
func (c *Client) SetAuthorizerAccessToken(ctx context.Context, authorizerAccessToken string) string {
if authorizerAccessToken == "" {
return ""
}
c.config.authorizerAccessToken = authorizerAccessToken
return c.config.authorizerAccessToken
}
// SetAuthorizerRefreshToken 授权方refresh_token
func (c *Client) SetAuthorizerRefreshToken(ctx context.Context, authorizerRefreshToken string) string {
if authorizerRefreshToken == "" {
return ""
}
c.config.authorizerRefreshToken = authorizerRefreshToken
return c.config.authorizerRefreshToken
}

@ -29,7 +29,7 @@ func (c *Client) SignDecrypt(ctx context.Context, params SignDecryptParams, strX
return nil, errors.New("未找到随机数参数")
}
wantSignature := Sign(c.GetMessageToken(ctx), params.Timestamp, params.Nonce)
wantSignature := Sign(c.config.messageToken, params.Timestamp, params.Nonce)
if params.Signature != wantSignature {
return nil, errors.New("签名错误")
}
@ -47,7 +47,7 @@ func (c *Client) SignDecrypt(ctx context.Context, params SignDecryptParams, strX
return nil, errors.New(fmt.Sprintf("Encrypt 解码字符串错误:%v", err))
}
AesKey, err := base64.StdEncoding.DecodeString(c.GetMessageKey(ctx) + "=")
AesKey, err := base64.StdEncoding.DecodeString(c.config.messageKey + "=")
if err != nil {
return nil, errors.New(fmt.Sprintf("messageKey 解码字符串错误:%v", err))
}

@ -30,18 +30,14 @@ func newSnsComponentJsCode2sessionResult(result SnsComponentJsCode2sessionRespon
// SnsComponentJsCode2session 小程序登录
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/others/WeChat_login.html
func (c *Client) SnsComponentJsCode2session(ctx context.Context, jsCode string, notMustParams ...gorequest.Params) (*SnsComponentJsCode2sessionResult, error) {
// 检查
if err := c.checkAuthorizerIsConfig(ctx); err != nil {
return newSnsComponentJsCode2sessionResult(SnsComponentJsCode2sessionResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) SnsComponentJsCode2session(ctx context.Context, componentAccessToken, authorizerAppid, jsCode string, notMustParams ...gorequest.Params) (*SnsComponentJsCode2sessionResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params["appid"] = c.GetAuthorizerAppid(ctx) // 小程序的 appId
params["js_code"] = jsCode // wx.login 获取的 code
params["grant_type"] = "authorization_code" // 填 authorization_code
params["component_appid"] = c.GetComponentAppId(ctx) // 第三方平台 appid
params["component_access_token"] = GetComponentAccessToken(ctx, c) // 第三方平台的component_access_token
params["appid"] = authorizerAppid // 小程序的 appId
params["js_code"] = jsCode // wx.login 获取的 code
params["grant_type"] = "authorization_code" // 填 authorization_code
params["component_appid"] = c.config.componentAppId // 第三方平台 appid
params["component_access_token"] = componentAccessToken // 第三方平台的component_access_token
// 请求
request, err := c.request(ctx, apiUrl+"/sns/component/jscode2session", params, http.MethodGet)
if err != nil {

@ -32,11 +32,11 @@ func newTckWxPayListResult(result TckWxPayListResponse, body []byte, http gorequ
// TckWxPayList 获取授权绑定的商户号列表
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/cloudbase-common/wechatpay/getWechatPayList.html
func (c *Client) TckWxPayList(ctx context.Context, notMustParams ...gorequest.Params) (*TckWxPayListResult, error) {
func (c *Client) TckWxPayList(ctx context.Context, componentAccessToken string, notMustParams ...gorequest.Params) (*TckWxPayListResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/tcb/wxpaylist?access_token="+GetComponentAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/tcb/wxpaylist?access_token="+componentAccessToken, params, http.MethodPost)
if err != nil {
return newTckWxPayListResult(TckWxPayListResponse{}, request.ResponseBody, request), err
}

@ -24,13 +24,13 @@ func newWxaAddToTemplateResult(result WxaAddToTemplateResponse, body []byte, htt
// WxaAddToTemplate 将草稿添加到代码模板库
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/code_template/addtotemplate.html
func (c *Client) WxaAddToTemplate(ctx context.Context, draftId string, templateType int, notMustParams ...gorequest.Params) (*WxaAddToTemplateResult, error) {
func (c *Client) WxaAddToTemplate(ctx context.Context, componentAccessToken, draftId string, templateType int, notMustParams ...gorequest.Params) (*WxaAddToTemplateResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("draft_id", draftId)
params.Set("template_type", templateType)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/addtotemplate?access_token="+GetComponentAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/addtotemplate?access_token="+componentAccessToken, params, http.MethodPost)
if err != nil {
return newWxaAddToTemplateResult(WxaAddToTemplateResponse{}, request.ResponseBody, request), err
}

@ -25,16 +25,12 @@ func newWxaBindTesterResult(result WxaBindTesterResponse, body []byte, http gore
// WxaBindTester 绑定微信用户为体验者
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Mini_Program_AdminManagement/Admin.html
func (c *Client) WxaBindTester(ctx context.Context, wechatid string, notMustParams ...gorequest.Params) (*WxaBindTesterResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaBindTesterResult(WxaBindTesterResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaBindTester(ctx context.Context, authorizerAccessToken, wechatid string, notMustParams ...gorequest.Params) (*WxaBindTesterResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params["wechatid"] = wechatid
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/bind_tester?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/bind_tester?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaBindTesterResult(WxaBindTesterResponse{}, request.ResponseBody, request), err
}

@ -33,16 +33,12 @@ func newWxaBusinessGetUserPhoneNumberResult(result WxaBusinessGetUserPhoneNumber
// WxaBusinessGetUserPhoneNumber code换取用户手机号。 每个 code 只能使用一次code的有效期为5min
// https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/phonenumber/phonenumber.getPhoneNumber.html
func (c *Client) WxaBusinessGetUserPhoneNumber(ctx context.Context, code string, notMustParams ...gorequest.Params) (*WxaBusinessGetUserPhoneNumberResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaBusinessGetUserPhoneNumberResult(WxaBusinessGetUserPhoneNumberResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaBusinessGetUserPhoneNumber(ctx context.Context, authorizerAccessToken, code string, notMustParams ...gorequest.Params) (*WxaBusinessGetUserPhoneNumberResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("code", code)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/business/getuserphonenumber?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/business/getuserphonenumber?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaBusinessGetUserPhoneNumberResult(WxaBusinessGetUserPhoneNumberResponse{}, request.ResponseBody, request), err
}

@ -24,15 +24,11 @@ func newWxaCommitResult(result WxaCommitResponse, body []byte, http gorequest.Re
// WxaCommit 上传小程序代码并生成体验版
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/code/commit.html
func (c *Client) WxaCommit(ctx context.Context, notMustParams ...gorequest.Params) (*WxaCommitResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaCommitResult(WxaCommitResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaCommit(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaCommitResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/commit?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/commit?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaCommitResult(WxaCommitResponse{}, request.ResponseBody, request), err
}

@ -24,12 +24,12 @@ func newWxaDeleteTemplateResult(result WxaDeleteTemplateResponse, body []byte, h
// WxaDeleteTemplate 删除指定代码模板
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/code_template/deletetemplate.html
func (c *Client) WxaDeleteTemplate(ctx context.Context, templateId string, notMustParams ...gorequest.Params) (*WxaDeleteTemplateResult, error) {
func (c *Client) WxaDeleteTemplate(ctx context.Context, componentAccessToken, templateId string, notMustParams ...gorequest.Params) (*WxaDeleteTemplateResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("template_id", templateId)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/deletetemplate?access_token="+GetComponentAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/deletetemplate?access_token="+componentAccessToken, params, http.MethodPost)
if err != nil {
return newWxaDeleteTemplateResult(WxaDeleteTemplateResponse{}, request.ResponseBody, request), err
}

@ -28,16 +28,12 @@ func newWxaGetAuditStatusResult(result WxaGetAuditStatusResponse, body []byte, h
// WxaGetAuditStatus 查询指定发布审核单的审核状态
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/code/get_auditstatus.html
func (c *Client) WxaGetAuditStatus(ctx context.Context, auditid int64, notMustParams ...gorequest.Params) (*WxaGetAuditStatusResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaGetAuditStatusResult(WxaGetAuditStatusResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaGetAuditStatus(ctx context.Context, authorizerAccessToken string, auditid int64, notMustParams ...gorequest.Params) (*WxaGetAuditStatusResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("auditid", auditid)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/get_auditstatus?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/get_auditstatus?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaGetAuditStatusResult(WxaGetAuditStatusResponse{}, request.ResponseBody, request), err
}

@ -32,15 +32,11 @@ func newWxaGetCategoryResult(result WxaGetCategoryResponse, body []byte, http go
// WxaGetCategory 获取审核时可填写的类目信息
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/category/get_category.html
func (c *Client) WxaGetCategory(ctx context.Context, notMustParams ...gorequest.Params) (*WxaGetCategoryResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaGetCategoryResult(WxaGetCategoryResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaGetCategory(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaGetCategoryResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/get_category?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodGet)
request, err := c.request(ctx, apiUrl+"/wxa/get_category?access_token="+authorizerAccessToken, params, http.MethodGet)
if err != nil {
return newWxaGetCategoryResult(WxaGetCategoryResponse{}, request.ResponseBody, request), err
}

@ -48,15 +48,11 @@ func newWxaGetEffectiveDomainResult(result WxaGetEffectiveDomainResponse, body [
// WxaGetEffectiveDomain 获取发布后生效服务器域名列表
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Mini_Program_Basic_Info/get_effective_domain.html
func (c *Client) WxaGetEffectiveDomain(ctx context.Context, notMustParams ...gorequest.Params) (*WxaGetEffectiveDomainResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaGetEffectiveDomainResult(WxaGetEffectiveDomainResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaGetEffectiveDomain(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaGetEffectiveDomainResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/get_effective_domain?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/get_effective_domain?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaGetEffectiveDomainResult(WxaGetEffectiveDomainResponse{}, request.ResponseBody, request), err
}

@ -31,15 +31,11 @@ func newWxaGetLatestAuditStatusResult(result WxaGetLatestAuditStatusResponse, bo
// WxaGetLatestAuditStatus 查询最新一次提交的审核状态
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/code/get_auditstatus.html
func (c *Client) WxaGetLatestAuditStatus(ctx context.Context, notMustParams ...gorequest.Params) (*WxaGetLatestAuditStatusResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaGetLatestAuditStatusResult(WxaGetLatestAuditStatusResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaGetLatestAuditStatus(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaGetLatestAuditStatusResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/get_latest_auditstatus?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodGet)
request, err := c.request(ctx, apiUrl+"/wxa/get_latest_auditstatus?access_token="+authorizerAccessToken, params, http.MethodGet)
if err != nil {
return newWxaGetLatestAuditStatusResult(WxaGetLatestAuditStatusResponse{}, request.ResponseBody, request), err
}

@ -25,15 +25,11 @@ func newWxaGetPageResult(result WxaGetPageResponse, body []byte, http gorequest.
// WxaGetPage 获取已上传的代码的页面列表
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/code/get_page.html
func (c *Client) WxaGetPage(ctx context.Context, notMustParams ...gorequest.Params) (*WxaGetPageResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaGetPageResult(WxaGetPageResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaGetPage(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaGetPageResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/get_page?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodGet)
request, err := c.request(ctx, apiUrl+"/wxa/get_page?access_token="+authorizerAccessToken, params, http.MethodGet)
if err != nil {
return newWxaGetPageResult(WxaGetPageResponse{}, request.ResponseBody, request), err
}

@ -27,18 +27,14 @@ func newWxaGetQrcodeResult(result WxaGetQrcodeResponse, body []byte, http gorequ
// WxaGetQrcode 获取体验版二维码
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/code/get_qrcode.html
func (c *Client) WxaGetQrcode(ctx context.Context, path string, notMustParams ...gorequest.Params) (*WxaGetQrcodeResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaGetQrcodeResult(WxaGetQrcodeResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaGetQrcode(ctx context.Context, authorizerAccessToken, path string, notMustParams ...gorequest.Params) (*WxaGetQrcodeResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
if path != "" {
params.Set("path", path) // 指定二维码扫码后直接进入指定页面并可同时带上参数)
}
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/get_qrcode?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodGet)
request, err := c.request(ctx, apiUrl+"/wxa/get_qrcode?access_token="+authorizerAccessToken, params, http.MethodGet)
if err != nil {
return newWxaGetQrcodeResult(WxaGetQrcodeResponse{}, request.ResponseBody, request), err
}

@ -25,16 +25,12 @@ func newWxaGetDefaultamsInfoAgencyGetCustomShareRatioResult(result WxaGetDefault
// WxaGetDefaultamsInfoAgencyGetCustomShareRatio 查询自定义分账比例
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/percentage/GetCustomShareRatio.html
func (c *Client) WxaGetDefaultamsInfoAgencyGetCustomShareRatio(ctx context.Context, notMustParams ...gorequest.Params) (*WxaGetDefaultamsInfoAgencyGetCustomShareRatioResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaGetDefaultamsInfoAgencyGetCustomShareRatioResult(WxaGetDefaultamsInfoAgencyGetCustomShareRatioResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaGetDefaultamsInfoAgencyGetCustomShareRatio(ctx context.Context, authorizerAppid, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaGetDefaultamsInfoAgencyGetCustomShareRatioResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("appid", c.GetAuthorizerAppid(ctx))
params.Set("appid", authorizerAppid)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/getdefaultamsinfo?action=agency_get_custom_share_ratio&access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/getdefaultamsinfo?action=agency_get_custom_share_ratio&access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaGetDefaultamsInfoAgencyGetCustomShareRatioResult(WxaGetDefaultamsInfoAgencyGetCustomShareRatioResponse{}, request.ResponseBody, request), err
}

@ -24,16 +24,12 @@ func newWxaGetDefaultamsInfoGetShareRatioResult(result WxaGetDefaultamsInfoGetSh
// WxaGetDefaultamsInfoGetShareRatio 查询分账比例
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/percentage/GetShareRatio.html
func (c *Client) WxaGetDefaultamsInfoGetShareRatio(ctx context.Context, notMustParams ...gorequest.Params) (*WxaGetDefaultamsInfoGetShareRatioResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaGetDefaultamsInfoGetShareRatioResult(WxaGetDefaultamsInfoGetShareRatioResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaGetDefaultamsInfoGetShareRatio(ctx context.Context, authorizerAppid, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaGetDefaultamsInfoGetShareRatioResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("appid", c.GetAuthorizerAppid(ctx))
params.Set("appid", authorizerAppid)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/getdefaultamsinfo?action=get_share_ratio&access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/getdefaultamsinfo?action=get_share_ratio&access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaGetDefaultamsInfoGetShareRatioResult(WxaGetDefaultamsInfoGetShareRatioResponse{}, request.ResponseBody, request), err
}

@ -34,11 +34,11 @@ func newWxaGetTemplateDraftListResult(result WxaGetTemplateDraftListResponse, bo
// WxaGetTemplateDraftList 获取代码草稿列表
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/code_template/gettemplatedraftlist.html
func (c *Client) WxaGetTemplateDraftList(ctx context.Context, notMustParams ...gorequest.Params) (*WxaGetTemplateDraftListResult, error) {
func (c *Client) WxaGetTemplateDraftList(ctx context.Context, componentAccessToken string, notMustParams ...gorequest.Params) (*WxaGetTemplateDraftListResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/gettemplatedraftlist?access_token="+GetComponentAccessToken(ctx, c), params, http.MethodGet)
request, err := c.request(ctx, apiUrl+"/wxa/gettemplatedraftlist?access_token="+componentAccessToken, params, http.MethodGet)
if err != nil {
return newWxaGetTemplateDraftListResult(WxaGetTemplateDraftListResponse{}, request.ResponseBody, request), err
}

@ -35,11 +35,11 @@ func newWxaGetTemplateListResult(result WxaGetTemplateListResponse, body []byte,
// WxaGetTemplateList 获取代码模板列表
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/ThirdParty/code_template/gettemplatelist.html
func (c *Client) WxaGetTemplateList(ctx context.Context, notMustParams ...gorequest.Params) (*WxaGetTemplateListResult, error) {
func (c *Client) WxaGetTemplateList(ctx context.Context, componentAccessToken string, notMustParams ...gorequest.Params) (*WxaGetTemplateListResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/gettemplatelist?access_token="+GetComponentAccessToken(ctx, c), params, http.MethodGet)
request, err := c.request(ctx, apiUrl+"/wxa/gettemplatelist?access_token="+componentAccessToken, params, http.MethodGet)
if err != nil {
return newWxaGetTemplateListResult(WxaGetTemplateListResponse{}, request.ResponseBody, request), err
}

@ -26,16 +26,12 @@ func newWxaGetUserRiskRankResult(result WxaGetUserRiskRankResponse, body []byte,
// WxaGetUserRiskRank 获取用户安全等级
// https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/sec-center/safety-control-capability/getUserRiskRank.html
func (c *Client) WxaGetUserRiskRank(ctx context.Context, notMustParams ...gorequest.Params) (*WxaGetUserRiskRankResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaGetUserRiskRankResult(WxaGetUserRiskRankResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaGetUserRiskRank(ctx context.Context, authorizerAppid, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaGetUserRiskRankResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("appid", c.GetAuthorizerAppid(ctx))
params.Set("appid", authorizerAppid)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/getuserriskrank?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/getuserriskrank?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaGetUserRiskRankResult(WxaGetUserRiskRankResponse{}, request.ResponseBody, request), err
}

@ -34,15 +34,11 @@ func newWxaGetVersionInfoResult(result WxaGetVersionInfoResponse, body []byte, h
// WxaGetVersionInfo 查询小程序版本信息
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/code/get_versioninfo.html
func (c *Client) WxaGetVersionInfo(ctx context.Context, notMustParams ...gorequest.Params) (*WxaGetVersionInfoResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaGetVersionInfoResult(WxaGetVersionInfoResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaGetVersionInfo(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaGetVersionInfoResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/getversioninfo?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/getversioninfo?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaGetVersionInfoResult(WxaGetVersionInfoResponse{}, request.ResponseBody, request), err
}

@ -26,15 +26,11 @@ func newWxaGetWxaCodeUnLimitResult(result WxaGetWxaCodeUnLimitResponse, body []b
// WxaGetWxaCodeUnLimit 获取小程序码,适用于需要的码数量极多的业务场景。通过该接口生成的小程序码,永久有效,数量暂无限制
// https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.getUnlimited.html
func (c *Client) WxaGetWxaCodeUnLimit(ctx context.Context, notMustParams ...gorequest.Params) (*WxaGetWxaCodeUnLimitResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaGetWxaCodeUnLimitResult(WxaGetWxaCodeUnLimitResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaGetWxaCodeUnLimit(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaGetWxaCodeUnLimitResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/getwxacodeunlimit?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/getwxacodeunlimit?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaGetWxaCodeUnLimitResult(WxaGetWxaCodeUnLimitResponse{}, request.ResponseBody, request), err
}

@ -43,15 +43,11 @@ func newWxaMediaCheckAsyncResult(result WxaMediaCheckAsyncResponse, body []byte,
// WxaMediaCheckAsync 音视频内容安全识别
// https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/sec-center/sec-check/mediaCheckAsync.html
func (c *Client) WxaMediaCheckAsync(ctx context.Context, notMustParams ...gorequest.Params) (*WxaMediaCheckAsyncResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaMediaCheckAsyncResult(WxaMediaCheckAsyncResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaMediaCheckAsync(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaMediaCheckAsyncResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/media_check_async?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/media_check_async?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaMediaCheckAsyncResult(WxaMediaCheckAsyncResponse{}, request.ResponseBody, request), err
}

@ -27,16 +27,12 @@ func newWxaMemberAuthResult(result WxaMemberAuthResponse, body []byte, http gore
// WxaMemberAuth 获取体验者列表
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Mini_Program_AdminManagement/memberauth.html
func (c *Client) WxaMemberAuth(ctx context.Context, notMustParams ...gorequest.Params) (*WxaMemberAuthResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaMemberAuthResult(WxaMemberAuthResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaMemberAuth(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaMemberAuthResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("action", "get_experiencer")
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/memberauth?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/memberauth?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaMemberAuthResult(WxaMemberAuthResponse{}, request.ResponseBody, request), err
}

@ -37,15 +37,11 @@ func newWxaModifyDomainResult(result WxaModifyDomainResponse, body []byte, http
// WxaModifyDomain 配置小程序服务器域名
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/domain-management/modifyServerDomain.html
func (c *Client) WxaModifyDomain(ctx context.Context, notMustParams ...gorequest.Params) (*WxaModifyDomainResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaModifyDomainResult(WxaModifyDomainResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaModifyDomain(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaModifyDomainResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/modify_domain?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/modify_domain?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaModifyDomainResult(WxaModifyDomainResponse{}, request.ResponseBody, request), err
}

@ -37,15 +37,11 @@ func newWxaModifyDomainDirectlyResult(result WxaModifyDomainDirectlyResponse, bo
// WxaModifyDomainDirectly 快速配置小程序服务器域名
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/domain-management/modifyServerDomainDirectly.html
func (c *Client) WxaModifyDomainDirectly(ctx context.Context, notMustParams ...gorequest.Params) (*WxaModifyDomainDirectlyResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaModifyDomainDirectlyResult(WxaModifyDomainDirectlyResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaModifyDomainDirectly(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaModifyDomainDirectlyResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/modify_domain_directly?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/modify_domain_directly?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaModifyDomainDirectlyResult(WxaModifyDomainDirectlyResponse{}, request.ResponseBody, request), err
}

@ -38,15 +38,11 @@ func newWxaMsgSecCheckResult(result WxaMsgSecCheckResponse, body []byte, http go
// WxaMsgSecCheck 文本内容安全识别
// https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.getUnlimited.html
func (c *Client) WxaMsgSecCheck(ctx context.Context, notMustParams ...gorequest.Params) (*WxaMsgSecCheckResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaMsgSecCheckResult(WxaMsgSecCheckResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaMsgSecCheck(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaMsgSecCheckResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/msg_sec_check?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/msg_sec_check?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaMsgSecCheckResult(WxaMsgSecCheckResponse{}, request.ResponseBody, request), err
}

@ -25,15 +25,11 @@ func newWxaOperationamsAgencyCheckCanOpenPublisherResult(result WxaOperationamsA
// WxaOperationamsAgencyCheckCanOpenPublisher 检测是否能开通流量主
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/open/AgencyCheckCanOpenPublisher.html
func (c *Client) WxaOperationamsAgencyCheckCanOpenPublisher(ctx context.Context, notMustParams ...gorequest.Params) (*WxaOperationamsAgencyCheckCanOpenPublisherResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaOperationamsAgencyCheckCanOpenPublisherResult(WxaOperationamsAgencyCheckCanOpenPublisherResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaOperationamsAgencyCheckCanOpenPublisher(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaOperationamsAgencyCheckCanOpenPublisherResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/operationams?action=agency_check_can_open_publisher&access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/operationams?action=agency_check_can_open_publisher&access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaOperationamsAgencyCheckCanOpenPublisherResult(WxaOperationamsAgencyCheckCanOpenPublisherResponse{}, request.ResponseBody, request), err
}

@ -24,15 +24,11 @@ func newWxaOperationamsAgencyCreatePublisherResult(result WxaOperationamsAgencyC
// WxaOperationamsAgencyCreatePublisher 检测是否能开通流量主
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/open/AgencyCheckCanOpenPublisher.html
func (c *Client) WxaOperationamsAgencyCreatePublisher(ctx context.Context, notMustParams ...gorequest.Params) (*WxaOperationamsAgencyCreatePublisherResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaOperationamsAgencyCreatePublisherResult(WxaOperationamsAgencyCreatePublisherResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaOperationamsAgencyCreatePublisher(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaOperationamsAgencyCreatePublisherResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/operationams?action=agency_check_can_open_publisher&access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/operationams?action=agency_check_can_open_publisher&access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaOperationamsAgencyCreatePublisherResult(WxaOperationamsAgencyCreatePublisherResponse{}, request.ResponseBody, request), err
}

@ -24,15 +24,11 @@ func newWxaReleaseResult(result WxaReleaseResponse, body []byte, http gorequest.
// WxaRelease 发布已通过审核的小程序
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/code/release.html
func (c *Client) WxaRelease(ctx context.Context, notMustParams ...gorequest.Params) (*WxaReleaseResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaReleaseResult(WxaReleaseResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaRelease(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaReleaseResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/release?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/release?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaReleaseResult(WxaReleaseResponse{}, request.ResponseBody, request), err
}

@ -30,15 +30,11 @@ func newWxaRevertCodeReleaseResult(result WxaRevertCodeReleaseResponse, body []b
// WxaRevertCodeRelease 小程序版本回退
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/code-management/revertCodeRelease.html
func (c *Client) WxaRevertCodeRelease(ctx context.Context, notMustParams ...gorequest.Params) (*WxaRevertCodeReleaseResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaRevertCodeReleaseResult(WxaRevertCodeReleaseResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaRevertCodeRelease(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaRevertCodeReleaseResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/revertcoderelease?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodGet)
request, err := c.request(ctx, apiUrl+"/wxa/revertcoderelease?access_token="+authorizerAccessToken, params, http.MethodGet)
if err != nil {
return newWxaRevertCodeReleaseResult(WxaRevertCodeReleaseResponse{}, request.ResponseBody, request), err
}

@ -25,15 +25,11 @@ func newWxaSecurityApplyPrivacyInterfaceResult(result WxaSecurityApplyPrivacyInt
// WxaSecurityApplyPrivacyInterface 申请接口
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/apply_api/apply_privacy_interface.html
func (c *Client) WxaSecurityApplyPrivacyInterface(ctx context.Context, notMustParams ...gorequest.Params) (*WxaSecurityApplyPrivacyInterfaceResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaSecurityApplyPrivacyInterfaceResult(WxaSecurityApplyPrivacyInterfaceResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaSecurityApplyPrivacyInterface(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaSecurityApplyPrivacyInterfaceResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/security/apply_privacy_interface?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/security/apply_privacy_interface?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaSecurityApplyPrivacyInterfaceResult(WxaSecurityApplyPrivacyInterfaceResponse{}, request.ResponseBody, request), err
}

@ -24,15 +24,11 @@ func newWxaSecurityApplySetOrderPathInfoResult(result WxaSecurityApplySetOrderPa
// WxaSecurityApplySetOrderPathInfo 申请设置订单页 path 信息
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/basic-info-management/applySetOrderPathInfo.html
func (c *Client) WxaSecurityApplySetOrderPathInfo(ctx context.Context, notMustParams ...gorequest.Params) (*WxaSecurityApplySetOrderPathInfoResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaSecurityApplySetOrderPathInfoResult(WxaSecurityApplySetOrderPathInfoResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaSecurityApplySetOrderPathInfo(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaSecurityApplySetOrderPathInfoResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/security/applysetorderpathinfo?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/security/applysetorderpathinfo?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaSecurityApplySetOrderPathInfoResult(WxaSecurityApplySetOrderPathInfoResponse{}, request.ResponseBody, request), err
}

@ -35,15 +35,11 @@ func newWxaSecurityGetPrivacyInterfaceResult(result WxaSecurityGetPrivacyInterfa
// WxaSecurityGetPrivacyInterface 获取接口列表
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/apply_api/get_privacy_interface.html
func (c *Client) WxaSecurityGetPrivacyInterface(ctx context.Context, notMustParams ...gorequest.Params) (*WxaSecurityGetPrivacyInterfaceResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaSecurityGetPrivacyInterfaceResult(WxaSecurityGetPrivacyInterfaceResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaSecurityGetPrivacyInterface(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaSecurityGetPrivacyInterfaceResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/security/get_privacy_interface?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodGet)
request, err := c.request(ctx, apiUrl+"/wxa/security/get_privacy_interface?access_token="+authorizerAccessToken, params, http.MethodGet)
if err != nil {
return newWxaSecurityGetPrivacyInterfaceResult(WxaSecurityGetPrivacyInterfaceResponse{}, request.ResponseBody, request), err
}

@ -34,16 +34,12 @@ func newWxaSecurityGetOrderPathInfoResult(result WxaSecurityGetOrderPathInfoResp
// WxaSecurityGetOrderPathInfo 获取订单页 path 信息
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/basic-info-management/getOrderPathInfo.html
func (c *Client) WxaSecurityGetOrderPathInfo(ctx context.Context, infoType int, notMustParams ...gorequest.Params) (*WxaSecurityGetOrderPathInfoResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaSecurityGetOrderPathInfoResult(WxaSecurityGetOrderPathInfoResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaSecurityGetOrderPathInfo(ctx context.Context, authorizerAccessToken string, infoType int, notMustParams ...gorequest.Params) (*WxaSecurityGetOrderPathInfoResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("info_type", infoType)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/security/getorderpathinfo?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/security/getorderpathinfo?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaSecurityGetOrderPathInfoResult(WxaSecurityGetOrderPathInfoResponse{}, request.ResponseBody, request), err
}

@ -24,18 +24,14 @@ func newWxaSetDefaultamsInfoAgencySetCustomShareRatioResult(result WxaSetDefault
// WxaSetDefaultamsInfoAgencySetCustomShareRatio 设置自定义分账比例
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/percentage/SetCustomShareRatio.html
func (c *Client) WxaSetDefaultamsInfoAgencySetCustomShareRatio(ctx context.Context, shareRatio int64, notMustParams ...gorequest.Params) (*WxaSetDefaultamsInfoAgencySetCustomShareRatioResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaSetDefaultamsInfoAgencySetCustomShareRatioResult(WxaSetDefaultamsInfoAgencySetCustomShareRatioResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaSetDefaultamsInfoAgencySetCustomShareRatio(ctx context.Context, authorizerAccessToken string, shareRatio int64, notMustParams ...gorequest.Params) (*WxaSetDefaultamsInfoAgencySetCustomShareRatioResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
if shareRatio > 0 {
params.Set("share_ratio", shareRatio)
}
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/setdefaultamsinfo?action=agency_set_custom_share_ratio&access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/setdefaultamsinfo?action=agency_set_custom_share_ratio&access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaSetDefaultamsInfoAgencySetCustomShareRatioResult(WxaSetDefaultamsInfoAgencySetCustomShareRatioResponse{}, request.ResponseBody, request), err
}

@ -24,18 +24,14 @@ func newWxaSetDefaultamsInfoSetShareRatioResult(result WxaSetDefaultamsInfoSetSh
// WxaSetDefaultamsInfoSetShareRatio 设置默认分账比例
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/ams/percentage/SetShareRatio.html
func (c *Client) WxaSetDefaultamsInfoSetShareRatio(ctx context.Context, shareRatio int64, notMustParams ...gorequest.Params) (*WxaSetDefaultamsInfoSetShareRatioResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaSetDefaultamsInfoSetShareRatioResult(WxaSetDefaultamsInfoSetShareRatioResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaSetDefaultamsInfoSetShareRatio(ctx context.Context, authorizerAccessToken string, shareRatio int64, notMustParams ...gorequest.Params) (*WxaSetDefaultamsInfoSetShareRatioResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
if shareRatio > 0 {
params.Set("share_ratio", shareRatio)
}
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/setdefaultamsinfo?action=set_share_ratio&access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/setdefaultamsinfo?action=set_share_ratio&access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaSetDefaultamsInfoSetShareRatioResult(WxaSetDefaultamsInfoSetShareRatioResponse{}, request.ResponseBody, request), err
}

@ -24,15 +24,11 @@ func newWxaSetWebViewDoMainResult(result WxaSetWebViewDoMainResponse, body []byt
// WxaSetWebViewDoMain 配置小程序业务域名
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/domain-management/modifyJumpDomain.html
func (c *Client) WxaSetWebViewDoMain(ctx context.Context, notMustParams ...gorequest.Params) (*WxaSetWebViewDoMainResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaSetWebViewDoMainResult(WxaSetWebViewDoMainResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaSetWebViewDoMain(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaSetWebViewDoMainResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/setwebviewdomain?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/setwebviewdomain?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaSetWebViewDoMainResult(WxaSetWebViewDoMainResponse{}, request.ResponseBody, request), err
}

@ -25,15 +25,11 @@ func newWxaSubmitAuditResult(result WxaSubmitAuditResponse, body []byte, http go
// WxaSubmitAudit 提交审核
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/code/submit_audit.html
func (c *Client) WxaSubmitAudit(ctx context.Context, notMustParams ...gorequest.Params) (*WxaSubmitAuditResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaSubmitAuditResult(WxaSubmitAuditResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaSubmitAudit(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaSubmitAuditResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/submit_audit?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/submit_audit?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaSubmitAuditResult(WxaSubmitAuditResponse{}, request.ResponseBody, request), err
}

@ -24,11 +24,7 @@ func newWxaUnbindTesterResult(result WxaUnbindTesterResponse, body []byte, http
// WxaUnbindTester 解除绑定体验者
// https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Mini_Program_AdminManagement/unbind_tester.html
func (c *Client) WxaUnbindTester(ctx context.Context, wechatid, userstr string, notMustParams ...gorequest.Params) (*WxaUnbindTesterResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaUnbindTesterResult(WxaUnbindTesterResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaUnbindTester(ctx context.Context, authorizerAccessToken, wechatid, userstr string, notMustParams ...gorequest.Params) (*WxaUnbindTesterResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
if wechatid != "" {
@ -36,7 +32,7 @@ func (c *Client) WxaUnbindTester(ctx context.Context, wechatid, userstr string,
}
params.Set("userstr", userstr)
// 请求
request, err := c.request(ctx, apiUrl+"/wxa/unbind_tester?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxa/unbind_tester?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaUnbindTesterResult(WxaUnbindTesterResponse{}, request.ResponseBody, request), err
}

@ -24,15 +24,11 @@ func newWxaApiWxaembeddedAddEmbeddedResult(result WxaApiWxaembeddedAddEmbeddedRe
// WxaApiWxaembeddedAddEmbedded 添加半屏小程序
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/embedded-management/addEmbedded.html
func (c *Client) WxaApiWxaembeddedAddEmbedded(ctx context.Context, notMustParams ...gorequest.Params) (*WxaApiWxaembeddedAddEmbeddedResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaApiWxaembeddedAddEmbeddedResult(WxaApiWxaembeddedAddEmbeddedResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaApiWxaembeddedAddEmbedded(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaApiWxaembeddedAddEmbeddedResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxaapi/wxaembedded/add_embedded?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxaapi/wxaembedded/add_embedded?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaApiWxaembeddedAddEmbeddedResult(WxaApiWxaembeddedAddEmbeddedResponse{}, request.ResponseBody, request), err
}

@ -24,15 +24,11 @@ func newWxaApiWxaembeddedDelEmbeddedResult(result WxaApiWxaembeddedDelEmbeddedRe
// WxaApiWxaembeddedDelEmbedded 删除半屏小程序
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/embedded-management/deleteEmbedded.html
func (c *Client) WxaApiWxaembeddedDelEmbedded(ctx context.Context, notMustParams ...gorequest.Params) (*WxaApiWxaembeddedDelEmbeddedResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaApiWxaembeddedDelEmbeddedResult(WxaApiWxaembeddedDelEmbeddedResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaApiWxaembeddedDelEmbedded(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaApiWxaembeddedDelEmbeddedResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxaapi/wxaembedded/del_embedded?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxaapi/wxaembedded/del_embedded?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaApiWxaembeddedDelEmbeddedResult(WxaApiWxaembeddedDelEmbeddedResponse{}, request.ResponseBody, request), err
}

@ -24,15 +24,11 @@ func newWxaApiWxaembeddedDelAuthorizeResult(result WxaApiWxaembeddedDelAuthorize
// WxaApiWxaembeddedDelAuthorize 取消授权小程序
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/embedded-management/deleteAuthorizedEmbedded.html
func (c *Client) WxaApiWxaembeddedDelAuthorize(ctx context.Context, notMustParams ...gorequest.Params) (*WxaApiWxaembeddedDelAuthorizeResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaApiWxaembeddedDelAuthorizeResult(WxaApiWxaembeddedDelAuthorizeResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaApiWxaembeddedDelAuthorize(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaApiWxaembeddedDelAuthorizeResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxaapi/wxaembedded/del_authorize?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxaapi/wxaembedded/del_authorize?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaApiWxaembeddedDelAuthorizeResult(WxaApiWxaembeddedDelAuthorizeResponse{}, request.ResponseBody, request), err
}

@ -33,15 +33,11 @@ func newWxaApiWxaembeddedGetListResult(result WxaApiWxaembeddedGetListResponse,
// WxaApiWxaembeddedGetList 获取半屏小程序调用列表
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/embedded-management/getEmbeddedList.html
func (c *Client) WxaApiWxaembeddedGetList(ctx context.Context, notMustParams ...gorequest.Params) (*WxaApiWxaembeddedGetListResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaApiWxaembeddedGetListResult(WxaApiWxaembeddedGetListResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaApiWxaembeddedGetList(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaApiWxaembeddedGetListResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxaapi/wxaembedded/get_list?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodGet)
request, err := c.request(ctx, apiUrl+"/wxaapi/wxaembedded/get_list?access_token="+authorizerAccessToken, params, http.MethodGet)
if err != nil {
return newWxaApiWxaembeddedGetListResult(WxaApiWxaembeddedGetListResponse{}, request.ResponseBody, request), err
}

@ -33,15 +33,11 @@ func newWxaApiWxAembeddedGetOwnListResult(result WxaApiWxAembeddedGetOwnListResp
// WxaApiWxAembeddedGetOwnList 获取半屏小程序授权列表
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/embedded-management/getOwnList.html
func (c *Client) WxaApiWxAembeddedGetOwnList(ctx context.Context, notMustParams ...gorequest.Params) (*WxaApiWxAembeddedGetOwnListResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaApiWxAembeddedGetOwnListResult(WxaApiWxAembeddedGetOwnListResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaApiWxAembeddedGetOwnList(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaApiWxAembeddedGetOwnListResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxaapi/wxaembedded/get_own_list?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodGet)
request, err := c.request(ctx, apiUrl+"/wxaapi/wxaembedded/get_own_list?access_token="+authorizerAccessToken, params, http.MethodGet)
if err != nil {
return newWxaApiWxAembeddedGetOwnListResult(WxaApiWxAembeddedGetOwnListResponse{}, request.ResponseBody, request), err
}

@ -25,15 +25,11 @@ func newWxaApiWxAembeddedSetAuthorizeResult(result WxaApiWxAembeddedSetAuthorize
// WxaApiWxAembeddedSetAuthorize 设置授权方式
// checkComponentIsConfig && checkAuthorizerConfig
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/embedded-management/setAuthorizedEmbedded.html
func (c *Client) WxaApiWxAembeddedSetAuthorize(ctx context.Context, notMustParams ...gorequest.Params) (*WxaApiWxAembeddedSetAuthorizeResult, error) {
// 检查
if err := c.checkAuthorizerConfig(ctx); err != nil {
return newWxaApiWxAembeddedSetAuthorizeResult(WxaApiWxAembeddedSetAuthorizeResponse{}, []byte{}, gorequest.Response{}), err
}
func (c *Client) WxaApiWxAembeddedSetAuthorize(ctx context.Context, authorizerAccessToken string, notMustParams ...gorequest.Params) (*WxaApiWxAembeddedSetAuthorizeResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/wxaapi/wxaembedded/set_authorize?access_token="+GetAuthorizerAccessToken(ctx, c), params, http.MethodPost)
request, err := c.request(ctx, apiUrl+"/wxaapi/wxaembedded/set_authorize?access_token="+authorizerAccessToken, params, http.MethodPost)
if err != nil {
return newWxaApiWxAembeddedSetAuthorizeResult(WxaApiWxAembeddedSetAuthorizeResponse{}, request.ResponseBody, request), err
}

Loading…
Cancel
Save