- update wechatopen

- update wechatminiprogram
master v1.0.112
李光春 1 year ago
parent a0c4903cd4
commit 831266f9fb

@ -1,4 +1,4 @@
## v1.0.111
## v1.0.111-v1.0.112
- update [wechatopen](service%2Fwechatopen)
- update [wechatminiprogram](service%2Fwechatminiprogram)

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

@ -12,20 +12,19 @@ type redisCachePrefixFun func() (wechatAccessToken string)
// ClientConfig 实例配置
type ClientConfig struct {
AppId string // 小程序唯一凭证,即 appId
AppSecret string // 小程序唯一凭证密钥,即 appSecret
RedisClient *dorm.RedisClient // 缓存数据库
RedisCachePrefixFun redisCachePrefixFun // 缓存前缀
AppId string // 小程序唯一凭证,即 appId
AppSecret string // 小程序唯一凭证密钥,即 appSecret
}
// Client 实例
type Client struct {
requestClient *gorequest.App // 请求服务
config struct {
appId string // 小程序唯一凭证,即 appId
appSecret string // 小程序唯一凭证密钥,即 appSecret
accessToken string // 接口调用凭证
jsapiTicket string // 签名凭证
appId string // 小程序唯一凭证,即 appId
appSecret string // 小程序唯一凭证密钥,即 appSecret
accessToken string // 接口调用凭证
jsapiTicket string // 签名凭证
selfAccessToken bool // 自己设置接口调用凭证
}
cache struct {
redisClient *dorm.RedisClient // 缓存数据库
@ -47,12 +46,5 @@ func NewClient(config *ClientConfig) (*Client, error) {
c.requestClient = gorequest.NewHttp()
c.cache.redisClient = config.RedisClient
c.cache.wechatAccessTokenPrefix = config.RedisCachePrefixFun()
if c.cache.wechatAccessTokenPrefix == "" {
return nil, redisCachePrefixNoConfig
}
return c, nil
}

@ -1,6 +1,9 @@
package wechatminiprogram
import "github.com/dtapps/go-library/utils/golog"
import (
"github.com/dtapps/go-library/utils/dorm"
"github.com/dtapps/go-library/utils/golog"
)
// ConfigApp 配置
func (c *Client) ConfigApp(appId, appSecret string) *Client {
@ -17,3 +20,17 @@ func (c *Client) ConfigApiClientFun(apiClientFun golog.ApiClientFun) {
c.log.status = true
}
}
// ConfigRedisClient 缓存数据库
func (c *Client) ConfigRedisClient(client *dorm.RedisClient) {
c.cache.redisClient = client
}
// ConfigRedisCachePrefixFunWechatAccessToken 缓存前缀
func (c *Client) ConfigRedisCachePrefixFunWechatAccessToken(config string) error {
c.cache.wechatAccessTokenPrefix = config
if c.cache.wechatAccessTokenPrefix == "" {
return redisCachePrefixNoConfig
}
return nil
}

@ -14,6 +14,9 @@ func (c *Client) GetAppSecret() string {
}
func (c *Client) getAccessToken(ctx context.Context) string {
if c.config.selfAccessToken {
return c.config.accessToken
}
c.config.accessToken = c.GetAccessToken(ctx)
return c.config.accessToken
}

@ -0,0 +1,11 @@
package wechatminiprogram
import (
"context"
)
func (c *Client) SetAccessToken(ctx context.Context, accessToken string) string {
c.config.accessToken = accessToken
c.config.selfAccessToken = true
return c.config.accessToken
}

@ -19,22 +19,25 @@ type WxaGetUserRiskRankResult struct {
Result WxaGetUserRiskRankResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
Err error // 错误
}
func newWxaGetUserRiskRankResult(result WxaGetUserRiskRankResponse, body []byte, http gorequest.Response, err error) *WxaGetUserRiskRankResult {
return &WxaGetUserRiskRankResult{Result: result, Body: body, Http: http, Err: err}
func newWxaGetUserRiskRankResult(result WxaGetUserRiskRankResponse, body []byte, http gorequest.Response) *WxaGetUserRiskRankResult {
return &WxaGetUserRiskRankResult{Result: result, Body: body, Http: http}
}
// 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 {
func (c *Client) WxaGetUserRiskRank(ctx context.Context, notMustParams ...gorequest.Params) (*WxaGetUserRiskRankResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("appid", c.GetAppId())
// 请求
request, err := c.request(ctx, fmt.Sprintf(apiUrl+"/wxa/getuserriskrank?access_token=%s", c.getAccessToken(ctx)), params, http.MethodPost)
if err != nil {
return newWxaGetUserRiskRankResult(WxaGetUserRiskRankResponse{}, request.ResponseBody, request), err
}
// 定义
var response WxaGetUserRiskRankResponse
err = gojson.Unmarshal(request.ResponseBody, &response)
return newWxaGetUserRiskRankResult(response, request.ResponseBody, request, err)
return newWxaGetUserRiskRankResult(response, request.ResponseBody, request), err
}

@ -36,22 +36,24 @@ type WxaMediaCheckAsyncResult struct {
Result WxaMediaCheckAsyncResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
Err error // 错误
}
func newWxaMediaCheckAsyncResult(result WxaMediaCheckAsyncResponse, body []byte, http gorequest.Response, err error) *WxaMediaCheckAsyncResult {
return &WxaMediaCheckAsyncResult{Result: result, Body: body, Http: http, Err: err}
func newWxaMediaCheckAsyncResult(result WxaMediaCheckAsyncResponse, body []byte, http gorequest.Response) *WxaMediaCheckAsyncResult {
return &WxaMediaCheckAsyncResult{Result: result, Body: body, Http: http}
}
// 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 {
func (c *Client) WxaMediaCheckAsync(ctx context.Context, notMustParams ...gorequest.Params) (*WxaMediaCheckAsyncResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, fmt.Sprintf(apiUrl+"/wxa/media_check_async?access_token=%s", c.getAccessToken(ctx)), params, http.MethodPost)
if err != nil {
return newWxaMediaCheckAsyncResult(WxaMediaCheckAsyncResponse{}, request.ResponseBody, request), err
}
// 定义
var response WxaMediaCheckAsyncResponse
err = gojson.Unmarshal(request.ResponseBody, &response)
return newWxaMediaCheckAsyncResult(response, request.ResponseBody, request, err)
return newWxaMediaCheckAsyncResult(response, request.ResponseBody, request), err
}

@ -31,22 +31,24 @@ type WxaMsgSecCheckResult struct {
Result WxaMsgSecCheckResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
Err error // 错误
}
func newWxaMsgSecCheckResult(result WxaMsgSecCheckResponse, body []byte, http gorequest.Response, err error) *WxaMsgSecCheckResult {
return &WxaMsgSecCheckResult{Result: result, Body: body, Http: http, Err: err}
func newWxaMsgSecCheckResult(result WxaMsgSecCheckResponse, body []byte, http gorequest.Response) *WxaMsgSecCheckResult {
return &WxaMsgSecCheckResult{Result: result, Body: body, Http: http}
}
// 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 {
func (c *Client) WxaMsgSecCheck(ctx context.Context, notMustParams ...gorequest.Params) (*WxaMsgSecCheckResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, fmt.Sprintf(apiUrl+"/wxa/msg_sec_check?access_token=%s", c.getAccessToken(ctx)), params, http.MethodPost)
if err != nil {
return newWxaMsgSecCheckResult(WxaMsgSecCheckResponse{}, request.ResponseBody, request), err
}
// 定义
var response WxaMsgSecCheckResponse
err = gojson.Unmarshal(request.ResponseBody, &response)
return newWxaMsgSecCheckResult(response, request.ResponseBody, request, err)
return newWxaMsgSecCheckResult(response, request.ResponseBody, request), err
}

@ -19,22 +19,25 @@ type WxaGetUserRiskRankResult struct {
Result WxaGetUserRiskRankResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
Err error // 错误
}
func newWxaGetUserRiskRankResult(result WxaGetUserRiskRankResponse, body []byte, http gorequest.Response, err error) *WxaGetUserRiskRankResult {
return &WxaGetUserRiskRankResult{Result: result, Body: body, Http: http, Err: err}
func newWxaGetUserRiskRankResult(result WxaGetUserRiskRankResponse, body []byte, http gorequest.Response) *WxaGetUserRiskRankResult {
return &WxaGetUserRiskRankResult{Result: result, Body: body, Http: http}
}
// 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 {
func (c *Client) WxaGetUserRiskRank(ctx context.Context, notMustParams ...gorequest.Params) (*WxaGetUserRiskRankResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
params.Set("appid", c.GetAuthorizerAppid())
// 请求
request, err := c.request(ctx, fmt.Sprintf(apiUrl+"/wxa/getuserriskrank?access_token=%s", c.GetAuthorizerAccessToken(ctx)), params, http.MethodPost)
if err != nil {
return newWxaGetUserRiskRankResult(WxaGetUserRiskRankResponse{}, request.ResponseBody, request), err
}
// 定义
var response WxaGetUserRiskRankResponse
err = gojson.Unmarshal(request.ResponseBody, &response)
return newWxaGetUserRiskRankResult(response, request.ResponseBody, request, err)
return newWxaGetUserRiskRankResult(response, request.ResponseBody, request), err
}

@ -36,22 +36,24 @@ type WxaMediaCheckAsyncResult struct {
Result WxaMediaCheckAsyncResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
Err error // 错误
}
func newWxaMediaCheckAsyncResult(result WxaMediaCheckAsyncResponse, body []byte, http gorequest.Response, err error) *WxaMediaCheckAsyncResult {
return &WxaMediaCheckAsyncResult{Result: result, Body: body, Http: http, Err: err}
func newWxaMediaCheckAsyncResult(result WxaMediaCheckAsyncResponse, body []byte, http gorequest.Response) *WxaMediaCheckAsyncResult {
return &WxaMediaCheckAsyncResult{Result: result, Body: body, Http: http}
}
// 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 {
func (c *Client) WxaMediaCheckAsync(ctx context.Context, notMustParams ...gorequest.Params) (*WxaMediaCheckAsyncResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, fmt.Sprintf(apiUrl+"/wxa/media_check_async?access_token=%s", c.GetAuthorizerAccessToken(ctx)), params, http.MethodPost)
if err != nil {
return newWxaMediaCheckAsyncResult(WxaMediaCheckAsyncResponse{}, request.ResponseBody, request), err
}
// 定义
var response WxaMediaCheckAsyncResponse
err = gojson.Unmarshal(request.ResponseBody, &response)
return newWxaMediaCheckAsyncResult(response, request.ResponseBody, request, err)
return newWxaMediaCheckAsyncResult(response, request.ResponseBody, request), err
}

@ -31,22 +31,24 @@ type WxaMsgSecCheckResult struct {
Result WxaMsgSecCheckResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
Err error // 错误
}
func newWxaMsgSecCheckResult(result WxaMsgSecCheckResponse, body []byte, http gorequest.Response, err error) *WxaMsgSecCheckResult {
return &WxaMsgSecCheckResult{Result: result, Body: body, Http: http, Err: err}
func newWxaMsgSecCheckResult(result WxaMsgSecCheckResponse, body []byte, http gorequest.Response) *WxaMsgSecCheckResult {
return &WxaMsgSecCheckResult{Result: result, Body: body, Http: http}
}
// 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 {
func (c *Client) WxaMsgSecCheck(ctx context.Context, notMustParams ...gorequest.Params) (*WxaMsgSecCheckResult, error) {
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, fmt.Sprintf(apiUrl+"/wxa/msg_sec_check?access_token=%s", c.GetAuthorizerAccessToken(ctx)), params, http.MethodPost)
if err != nil {
return newWxaMsgSecCheckResult(WxaMsgSecCheckResponse{}, request.ResponseBody, request), err
}
// 定义
var response WxaMsgSecCheckResponse
err = gojson.Unmarshal(request.ResponseBody, &response)
return newWxaMsgSecCheckResult(response, request.ResponseBody, request, err)
return newWxaMsgSecCheckResult(response, request.ResponseBody, request), err
}

Loading…
Cancel
Save