From 47141740133a399f11f3584eb538ca6989828770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=85=89=E6=98=A5?= Date: Fri, 26 Aug 2022 14:29:00 +0800 Subject: [PATCH] - update log --- cgi-bin.component.api_authorizer_token.go | 6 +- cgi-bin.component.api_component_token.go | 4 +- cgi-bin.component.api_create_preauthcode.go | 2 +- cgi-bin.component.api_get_authorizer_info.go | 4 +- cgi-bin.component.api_query_auth.go | 4 +- cgi-bin.component.api_start_push_ticket.go | 4 +- client.go | 110 +++++++++++-------- config.go | 14 +++ const.go | 2 +- get.go | 38 ++++++- go.mod | 37 ++++--- go.sum | 75 +++++++------ redis.go | 42 +++---- request.go | 7 +- service_http.verify_ticket.go | 4 +- set.go | 2 +- sns.component.jscode2session.go | 4 +- 17 files changed, 222 insertions(+), 137 deletions(-) create mode 100644 config.go diff --git a/cgi-bin.component.api_authorizer_token.go b/cgi-bin.component.api_authorizer_token.go index d318bed..255682e 100644 --- a/cgi-bin.component.api_authorizer_token.go +++ b/cgi-bin.component.api_authorizer_token.go @@ -31,8 +31,8 @@ func newCgiBinComponentApiAuthorizerTokenResult(result CgiBinComponentApiAuthori func (c *Client) CgiBinComponentApiAuthorizerToken(ctx context.Context, authorizerRefreshToken string) *CgiBinComponentApiAuthorizerTokenResult { // 参数 param := gorequest.NewParams() - param["component_appid"] = c.config.ComponentAppId // 第三方平台 appid - param["authorizer_appid"] = c.config.AuthorizerAppid // 授权方 appid + param["component_appid"] = c.GetComponentAppId() // 第三方平台 appid + param["authorizer_appid"] = c.GetAuthorizerAppid() // 授权方 appid param["authorizer_refresh_token"] = authorizerRefreshToken // 授权码, 会在授权成功时返回给第三方平台 params := gorequest.NewParamsWith(param) // 请求 @@ -40,5 +40,5 @@ func (c *Client) CgiBinComponentApiAuthorizerToken(ctx context.Context, authoriz // 定义 var response CgiBinComponentApiAuthorizerTokenResponse err = json.Unmarshal(request.ResponseBody, &response) - return newCgiBinComponentApiAuthorizerTokenResult(response, request.ResponseBody, request, err, c.config.AuthorizerAppid) + return newCgiBinComponentApiAuthorizerTokenResult(response, request.ResponseBody, request, err, c.GetAuthorizerAppid()) } diff --git a/cgi-bin.component.api_component_token.go b/cgi-bin.component.api_component_token.go index 53412ed..1d14a74 100644 --- a/cgi-bin.component.api_component_token.go +++ b/cgi-bin.component.api_component_token.go @@ -28,8 +28,8 @@ func newCgiBinComponentApiComponentTokenResult(result CgiBinComponentApiComponen func (c *Client) CgiBinComponentApiComponentToken(ctx context.Context) *CgiBinComponentApiComponentTokenResult { // 参数 param := gorequest.NewParams() - param["component_appid"] = c.config.ComponentAppId // 第三方平台 appid - param["component_appsecret"] = c.config.ComponentAppSecret // 第三方平台 appsecret + param["component_appid"] = c.GetComponentAppId() // 第三方平台 appid + param["component_appsecret"] = c.GetComponentAppSecret() // 第三方平台 appsecret param["component_verify_ticket"] = c.GetComponentVerifyTicket(ctx) // 微信后台推送的 ticket params := gorequest.NewParamsWith(param) // 请求 diff --git a/cgi-bin.component.api_create_preauthcode.go b/cgi-bin.component.api_create_preauthcode.go index 357e345..443b192 100644 --- a/cgi-bin.component.api_create_preauthcode.go +++ b/cgi-bin.component.api_create_preauthcode.go @@ -29,7 +29,7 @@ func newCgiBinComponentApiCreatePreAuthCodenResult(result CgiBinComponentApiCrea func (c *Client) CgiBinComponentApiCreatePreAuthCoden(ctx context.Context) *CgiBinComponentApiCreatePreAuthCodenResult { // 参数 param := gorequest.NewParams() - param["component_appid"] = c.config.ComponentAppId // 第三方平台 appid + param["component_appid"] = c.GetComponentAppId() // 第三方平台 appid params := gorequest.NewParamsWith(param) // 请求 request, err := c.request(ctx, fmt.Sprintf(apiUrl+"/cgi-bin/component/api_create_preauthcode?component_access_token=%v", c.GetComponentAccessToken(ctx)), params, http.MethodPost) diff --git a/cgi-bin.component.api_get_authorizer_info.go b/cgi-bin.component.api_get_authorizer_info.go index 812216e..e6ea5f4 100644 --- a/cgi-bin.component.api_get_authorizer_info.go +++ b/cgi-bin.component.api_get_authorizer_info.go @@ -87,8 +87,8 @@ func newCgiBinComponentApiGetAuthorizerInfoResult(result CgiBinComponentApiGetAu func (c *Client) CgiBinComponentApiGetAuthorizerInfo(ctx context.Context) *CgiBinComponentApiGetAuthorizerInfoResult { // 参数 param := gorequest.NewParams() - param["component_appid"] = c.config.ComponentAppId // 第三方平台 appid - param["authorizer_appid"] = c.config.AuthorizerAppid // 授权方 appid + param["component_appid"] = c.GetComponentAppId() // 第三方平台 appid + param["authorizer_appid"] = c.GetAuthorizerAppid() // 授权方 appid params := gorequest.NewParamsWith(param) // 请求 request, err := c.request(ctx, fmt.Sprintf(apiUrl+"/cgi-bin/component/api_get_authorizer_info?component_access_token=%v", c.GetComponentAccessToken(ctx)), params, http.MethodPost) diff --git a/cgi-bin.component.api_query_auth.go b/cgi-bin.component.api_query_auth.go index aeb63fd..c199cfb 100644 --- a/cgi-bin.component.api_query_auth.go +++ b/cgi-bin.component.api_query_auth.go @@ -43,8 +43,8 @@ func newCgiBinComponentApiQueryAuthResult(result CgiBinComponentApiQueryAuthResp func (c *Client) CgiBinComponentApiQueryAuth(ctx context.Context, authorizationCode string) *CgiBinComponentApiQueryAuthResult { // 参数 param := gorequest.NewParams() - param["component_appid"] = c.config.ComponentAppId // 第三方平台 appid - param["authorization_code"] = authorizationCode // 授权码, 会在授权成功时返回给第三方平台 + param["component_appid"] = c.GetComponentAppId() // 第三方平台 appid + param["authorization_code"] = authorizationCode // 授权码, 会在授权成功时返回给第三方平台 params := gorequest.NewParamsWith(param) // 请求 request, err := c.request(ctx, fmt.Sprintf(apiUrl+"/cgi-bin/component/api_query_auth?component_access_token=%v", c.GetComponentAccessToken(ctx)), params, http.MethodPost) diff --git a/cgi-bin.component.api_start_push_ticket.go b/cgi-bin.component.api_start_push_ticket.go index 1431f31..043d160 100644 --- a/cgi-bin.component.api_start_push_ticket.go +++ b/cgi-bin.component.api_start_push_ticket.go @@ -30,8 +30,8 @@ func newCgiBinComponentApiStartPushTicketResult(result CgiBinComponentApiStartPu func (c *Client) CgiBinComponentApiStartPushTicket(ctx context.Context) *CgiBinComponentApiStartPushTicketResult { // 参数 param := gorequest.NewParams() - param["component_appid"] = c.config.ComponentAppId // 平台型第三方平台的appid - param["component_secret"] = c.config.ComponentAppSecret // 平台型第三方平台的APPSECRET + param["component_appid"] = c.GetComponentAppId() // 平台型第三方平台的appid + param["component_secret"] = c.GetComponentAppSecret() // 平台型第三方平台的APPSECRET params := gorequest.NewParamsWith(param) // 请求 request, err := c.request(ctx, apiUrl+"/cgi-bin/component/api_start_push_ticket", params, http.MethodPost) diff --git a/client.go b/client.go index de87eea..868a4a1 100644 --- a/client.go +++ b/client.go @@ -6,64 +6,84 @@ import ( "go.dtapp.net/gorequest" ) -type ConfigClient struct { - ComponentAccessToken string // 第三方平台 access_token - ComponentVerifyTicket string // 微信后台推送的 ticket - PreAuthCode string // 预授权码 - AuthorizerAccessToken string // 接口调用令牌 - AuthorizerRefreshToken string // 刷新令牌 - AuthorizerAppid string // 授权方 appid - ComponentAppId string // 第三方平台 appid - ComponentAppSecret string // 第三方平台 app_secret - MessageToken string - MessageKey string - RedisClient *dorm.RedisClient // 缓存数据库 - GormClient *dorm.GormClient // 日志数据库 - LogClient *golog.ZapLog // 日志驱动 - LogDebug bool // 日志开关 -} - -// Client 微信公众号服务 +// Client 实例 type Client struct { - requestClient *gorequest.App // 请求服务 - redisClient *dorm.RedisClient // 缓存服务 - logClient *golog.ApiClient // 日志服务 - config *ConfigClient // 配置 + requestClient *gorequest.App // 请求服务 + config struct { + componentAccessToken string // 第三方平台 access_token + componentVerifyTicket string // 微信后台推送的 ticket + preAuthCode string // 预授权码 + authorizerAccessToken string // 接口调用令牌 + authorizerRefreshToken string // 刷新令牌 + authorizerAppid string // 授权方 appid + componentAppId string // 第三方平台appid + componentAppSecret string // 第三方平台app_secret + messageToken string + messageKey string + } + cache struct { + redisClient *dorm.RedisClient // 缓存数据库 + } + log struct { + gormClient *dorm.GormClient // 日志数据库 + gorm bool // 日志开关 + logGormClient *golog.ApiClient // 日志服务 + mongoClient *dorm.MongoClient // 日志数据库 + mongo bool // 日志开关 + logMongoClient *golog.ApiClient // 日志服务 + } } -func NewClient(config *ConfigClient) (*Client, error) { +// client *dorm.GormClient +type gormClientFun func() *dorm.GormClient + +// client *dorm.MongoClient +// databaseName string +type mongoClientFun func() (*dorm.MongoClient, string) + +// NewClient 创建实例化 +// componentAppId 第三方平台appid +// componentAppSecret 第三方平台app_secret +// messageToken +// messageKey +// redisClient 缓存数据库 +func NewClient(componentAppId, componentAppSecret, messageToken, messageKey string, redisClient *dorm.RedisClient, gormClientFun gormClientFun, mongoClientFun mongoClientFun, debug bool) (*Client, error) { var err error - c := &Client{config: config} + c := &Client{} - c.requestClient = gorequest.NewHttp() + c.config.componentAppId = componentAppId + c.config.componentAppSecret = componentAppSecret + c.config.messageToken = messageToken + c.config.messageKey = messageKey - c.redisClient = config.RedisClient + c.requestClient = gorequest.NewHttp() - if c.config.GormClient.Db != nil { - c.logClient, err = golog.NewApiClient(&golog.ApiClientConfig{ - GormClient: c.config.GormClient, - TableName: logTable, - LogClient: c.config.LogClient, - LogDebug: c.config.LogDebug, - }) + gormClient := gormClientFun() + if gormClient.Db != nil { + c.log.logGormClient, err = golog.NewApiGormClient(func() (client *dorm.GormClient, tableName string) { + return gormClient, logTable + }, debug) if err != nil { return nil, err } + c.log.gorm = true } + c.log.gormClient = gormClient - return c, nil -} + mongoClient, databaseName := mongoClientFun() + if mongoClient.Db != nil { + c.log.logMongoClient, err = golog.NewApiMongoClient(func() (*dorm.MongoClient, string, string) { + return mongoClient, databaseName, logTable + }, debug) + if err != nil { + return nil, err + } + c.log.mongo = true + } + c.log.mongoClient = mongoClient -// ConfigComponent 配置 -func (c *Client) ConfigComponent(componentAppId, componentAppSecret string) *Client { - c.config.ComponentAppId = componentAppId - c.config.ComponentAppSecret = componentAppSecret - return c -} + c.cache.redisClient = redisClient -// ConfigAuthorizer 配置第三方 -func (c *Client) ConfigAuthorizer(authorizerAppid string) *Client { - c.config.AuthorizerAppid = authorizerAppid - return c + return c, nil } diff --git a/config.go b/config.go new file mode 100644 index 0000000..2bbd7f3 --- /dev/null +++ b/config.go @@ -0,0 +1,14 @@ +package wechatopen + +// 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 +} diff --git a/const.go b/const.go index 09d7869..83a7cca 100644 --- a/const.go +++ b/const.go @@ -8,4 +8,4 @@ const ( logTable = "wechatopen" ) -const Version = "1.0.13" +const Version = "1.0.14" diff --git a/get.go b/get.go index 46a23cc..b781a29 100644 --- a/get.go +++ b/get.go @@ -1,5 +1,41 @@ package wechatopen +//func (c *Client) GetComponentAppId() string { +// return c.config.componentAccessToken +//} + +//func (c *Client) GetComponentVerifyTicket() string { +// return c.config.componentVerifyTicket +//} + +//func (c *Client) GetPreAuthCode() string { +// return c.config.preAuthCode +//} + +//func (c *Client) GetAuthorizerAccessToken() string { +// return c.config.authorizerAccessToken +//} + +func (c *Client) GetAuthorizerRefreshToken() string { + return c.config.authorizerRefreshToken +} + +func (c *Client) GetAuthorizerAppid() string { + return c.config.authorizerAppid +} + func (c *Client) GetComponentAppId() string { - return c.config.ComponentAppId + return c.config.componentAppId +} + +func (c *Client) GetComponentAppSecret() string { + return c.config.componentAppSecret +} + +func (c *Client) GetMessageToken() string { + return c.config.messageToken +} + +func (c *Client) GetMessageKey() string { + return c.config.messageKey } diff --git a/go.mod b/go.mod index 8f8e4f3..19406ff 100644 --- a/go.mod +++ b/go.mod @@ -4,13 +4,14 @@ go 1.19 require ( github.com/mitchellh/mapstructure v1.5.0 - go.dtapp.net/dorm v1.0.26 - go.dtapp.net/golog v1.0.29 + go.dtapp.net/dorm v1.0.29 + go.dtapp.net/golog v1.0.42 go.dtapp.net/gorequest v1.0.27 ) require ( github.com/basgys/goxml2json v1.1.0 // indirect + github.com/beego/beego/v2 v2.0.5 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/gin-contrib/sse v0.1.0 // indirect @@ -20,9 +21,10 @@ require ( github.com/go-playground/validator/v10 v10.11.0 // indirect github.com/go-redis/redis/v9 v9.0.0-beta.2 // indirect github.com/go-sql-driver/mysql v1.6.0 // indirect - github.com/goccy/go-json v0.9.10 // indirect + github.com/goccy/go-json v0.9.11 // indirect github.com/golang-sql/sqlexp v0.1.0 // indirect github.com/golang/snappy v0.0.4 // indirect + github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/jackc/chunkreader/v2 v2.0.1 // indirect github.com/jackc/pgconn v1.13.0 // indirect github.com/jackc/pgio v1.0.0 // indirect @@ -37,17 +39,18 @@ require ( github.com/klauspost/compress v1.15.9 // indirect github.com/leodido/go-urn v1.2.1 // indirect github.com/lib/pq v1.10.6 // indirect - github.com/mattn/go-colorable v0.1.12 // indirect - github.com/mattn/go-isatty v0.0.14 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.16 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/montanaflynn/stats v0.6.6 // indirect github.com/natefinch/lumberjack v2.0.0+incompatible // indirect - github.com/pelletier/go-toml/v2 v2.0.2 // indirect + github.com/pelletier/go-toml/v2 v2.0.4 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/rs/zerolog v1.27.0 // indirect github.com/saracen/go7z v0.0.0-20191010121135-9c09b6bd7fda // indirect github.com/saracen/solidblock v0.0.0-20190426153529-45df20abab6f // indirect + github.com/shiena/ansicolor v0.0.0-20200904210342-c7312218db18 // indirect github.com/sirupsen/logrus v1.9.0 // indirect github.com/syndtr/goleveldb v1.0.0 // indirect github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect @@ -64,31 +67,31 @@ require ( github.com/xdg-go/scram v1.1.1 // indirect github.com/xdg-go/stringprep v1.0.3 // indirect github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a // indirect - go.dtapp.net/goip v1.0.25 // indirect + go.dtapp.net/goip v1.0.28 // indirect go.dtapp.net/gojson v1.0.1 // indirect go.dtapp.net/gorandom v1.0.1 // indirect - go.dtapp.net/gostring v1.0.6 // indirect + go.dtapp.net/gostring v1.0.9 // indirect go.dtapp.net/gotime v1.0.5 // indirect - go.dtapp.net/gotrace_id v1.0.5 // indirect + go.dtapp.net/gotrace_id v1.0.6 // indirect go.dtapp.net/gourl v1.0.0 // indirect go.dtapp.net/goxml v1.0.1 // indirect go.mongodb.org/mongo-driver v1.10.1 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.8.0 // indirect - go.uber.org/zap v1.22.0 // indirect - golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa // indirect + go.uber.org/zap v1.23.0 // indirect + golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503 // indirect golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect - golang.org/x/net v0.0.0-20220812174116-3211cb980234 // indirect - golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect - golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab // indirect + golang.org/x/net v0.0.0-20220822230855-b0a4917ee28c // indirect + golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde // indirect + golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64 // indirect golang.org/x/text v0.3.7 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gorm.io/datatypes v1.0.7 // indirect - gorm.io/driver/mysql v1.3.5 // indirect - gorm.io/driver/postgres v1.3.8 // indirect + gorm.io/driver/mysql v1.3.6 // indirect + gorm.io/driver/postgres v1.3.9 // indirect gorm.io/gorm v1.23.8 // indirect - mellium.im/sasl v0.2.1 // indirect + mellium.im/sasl v0.3.0 // indirect xorm.io/builder v0.3.12 // indirect xorm.io/xorm v1.3.1 // indirect ) diff --git a/go.sum b/go.sum index e2963eb..4ffaf9a 100644 --- a/go.sum +++ b/go.sum @@ -30,6 +30,8 @@ github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/basgys/goxml2json v1.1.0 h1:4ln5i4rseYfXNd86lGEB+Vi652IsIXIvggKM/BhUKVw= github.com/basgys/goxml2json v1.1.0/go.mod h1:wH7a5Np/Q4QoECFIU8zTQlZwZkrilY0itPfecMw41Dw= +github.com/beego/beego/v2 v2.0.5 h1:fa2TBWfKGDs35Ck9an9SVnpS0zM8sRTXlW8rFjpeYlE= +github.com/beego/beego/v2 v2.0.5/go.mod h1:CH2/JIaB4ceGYVQlYqTAFft4pVk/ol1ZkakUrUvAyns= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= @@ -109,8 +111,8 @@ github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfC github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/goccy/go-json v0.8.1/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/goccy/go-json v0.9.10 h1:hCeNmprSNLB8B8vQKWl6DpuH0t60oEs+TAk9a7CScKc= -github.com/goccy/go-json v0.9.10/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v4.0.0+incompatible h1:1SD/1F5pU8p29ybwgQSwpQk+mwdRrXCYuPhW6m+TnJw= @@ -177,6 +179,8 @@ github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09 github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= @@ -310,8 +314,9 @@ github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaO github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= @@ -319,12 +324,13 @@ github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-sqlite3 v1.14.9/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v1.14.12/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= -github.com/mattn/go-sqlite3 v1.14.14 h1:qZgc/Rwetq+MtyE18WhzjokPD93dNqLGNT3QJuLvBGw= +github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= @@ -378,8 +384,8 @@ github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnh github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-toml/v2 v2.0.2 h1:+jQXlF3scKIcSEKkdHzXhCTDLPFi5r1wnK6yPS+49Gw= -github.com/pelletier/go-toml/v2 v2.0.2/go.mod h1:MovirKjgVRESsAvNZlAjtFwV867yGuwRkXbG66OzopI= +github.com/pelletier/go-toml/v2 v2.0.4 h1:MHHO+ZUPwPZQ6BmnnT81iQg5cuurp78CRH7rNsguSMk= +github.com/pelletier/go-toml/v2 v2.0.4/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= @@ -434,6 +440,8 @@ github.com/saracen/solidblock v0.0.0-20190426153529-45df20abab6f h1:1cJITU3JUI8q github.com/saracen/solidblock v0.0.0-20190426153529-45df20abab6f/go.mod h1:LyBTue+RWeyIfN3ZJ4wVxvDuvlGJtDgCLgCb6HCPgps= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/shiena/ansicolor v0.0.0-20200904210342-c7312218db18 h1:DAYUYH5869yV94zvCES9F51oYtN5oGlwjxJJz7ZCnik= +github.com/shiena/ansicolor v0.0.0-20200904210342-c7312218db18/go.mod h1:nkxAfR/5quYxwPZhyDxgasBMnRtBZd0FCEpawpjMUFg= github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= @@ -465,7 +473,6 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE= @@ -509,24 +516,24 @@ github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a/go.mod h1:ul22v+Nro/ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= -go.dtapp.net/dorm v1.0.26 h1:UkNuEVwlwB/chWr4LV1qKdt2tpcoDvPmR3KbGGeMWts= -go.dtapp.net/dorm v1.0.26/go.mod h1:bHG7BmgeLaAlc56myYF63lwZAIuMeWRAqHBb/L84dLM= -go.dtapp.net/goip v1.0.25 h1:GSgQkR7dc28TX8E1mF3wAy+EEGZ++tgqc8Q85OKZPEY= -go.dtapp.net/goip v1.0.25/go.mod h1:dKeNuWJttH4AvvYVHV0FagB6BVvFM1HGDKFxLKr+hkQ= +go.dtapp.net/dorm v1.0.29 h1:viOJ66S0x84dzSVUd9rHr4aGCziQupfrJGWPXI6GDAo= +go.dtapp.net/dorm v1.0.29/go.mod h1:4YgRRh77Y+zn5eitmID8h33kyGSKYuYIWRlo9oI2YxI= +go.dtapp.net/goip v1.0.28 h1:wZt+wbzNhOLRUJnepG4c8HhUr4V9jNXOF6wJ1h7jUvU= +go.dtapp.net/goip v1.0.28/go.mod h1:ZqPPUvpOSzdtB/dEZFiaD0CBRZmvIzjDmm3XkpMC9Bo= go.dtapp.net/gojson v1.0.1 h1:MHeSGlq1KxzL7rCkm18fhwW4GNORHohdDMmxY5PupKY= go.dtapp.net/gojson v1.0.1/go.mod h1:TkkpTNxHBKxul0e7gC5MrL1K4ICFB9mQ7wHzjBah3/k= -go.dtapp.net/golog v1.0.29 h1:tkNZ2KENquglBVaim5ISj0yOeXxwmuPxgQTeUd3I75c= -go.dtapp.net/golog v1.0.29/go.mod h1:W0fqSbKfiTLZjF92TbUp6v0TlqGpKKOIvLy/O3hQXcU= +go.dtapp.net/golog v1.0.42 h1:yoPmy5kfdPVREHqkl4/U44k1qOAa3fxr8QyaJ1+uMKs= +go.dtapp.net/golog v1.0.42/go.mod h1:0GAxp9lXgeRqgVCl76OjamKneleG4Zdewdo1uexu5Nc= go.dtapp.net/gorandom v1.0.1 h1:IWfMClh1ECPvyUjlqD7MwLq4mZdUusD1qAwAdsvEJBs= go.dtapp.net/gorandom v1.0.1/go.mod h1:ZPdgalKpvFV/ATQqR0k4ns/F/IpITAZpx6WkWirr5Y8= go.dtapp.net/gorequest v1.0.27 h1:Hip1mfSZJDNcmE2iZgB3PYa0C/7BAMEJLsCaMd6t9iE= go.dtapp.net/gorequest v1.0.27/go.mod h1:922s7pjYulKIytUMGAYS4aHU6cnzTbOQURGBPCKSxAk= -go.dtapp.net/gostring v1.0.6 h1:XqNaThEfHpweLofru5sBqm1UUzc9JWsXyB/M/rTk29w= -go.dtapp.net/gostring v1.0.6/go.mod h1:AMnnLjyNxH+cphxyASJGYCzWpVrkP5RncuVo8xL8s3E= +go.dtapp.net/gostring v1.0.9 h1:ditLXN4Suv0RKwhZBxWBzRHRD1VMJ6w9Dw6RkqYWXm4= +go.dtapp.net/gostring v1.0.9/go.mod h1:L4kREy89a9AraMHB5tUjjl+5rxP1gpXkDouRKKuzT50= go.dtapp.net/gotime v1.0.5 h1:12aNgB2ULpP6QgQHEUkLilZ4ASvhpFxMFQkBwn0par8= go.dtapp.net/gotime v1.0.5/go.mod h1:Gq7eNLr2iMLP18UNWONRq4V3Uhf/ADp4bIrS+Tc6ktY= -go.dtapp.net/gotrace_id v1.0.5 h1:znUwvMcX7ADQn8f750yIb5xJa9tJ4P0fHb5tSo7EFeg= -go.dtapp.net/gotrace_id v1.0.5/go.mod h1:476T5KMJw9c6DM/rJn7y6d28hcNDv4+wew4sd+powes= +go.dtapp.net/gotrace_id v1.0.6 h1:q6s8jy50vt1820b69JKQaFqbhGS5yJGMVtocwOGOPO0= +go.dtapp.net/gotrace_id v1.0.6/go.mod h1:o5kSzNK4s3GrrKpkRKXtAhArtBG1e5N5O5KGPlBlWG4= go.dtapp.net/gourl v1.0.0 h1:Zbe0GiMFyyRy2+bjbVsYulakH5d58w3CDZkUPonlMoQ= go.dtapp.net/gourl v1.0.0/go.mod h1:x9A/pJ3iKDTb6Gu2RtJy2iHg56IowXIcIGQdogqpGjs= go.dtapp.net/goxml v1.0.1 h1:WODsjNpmHTtoeLsXgOjC81qRbu4aXZ3LKBHApNGaPjY= @@ -555,10 +562,9 @@ go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9E go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.22.0 h1:Zcye5DUgBloQ9BaT4qc9BnjOFog5TvBSAGkJ3Nf70c0= -go.uber.org/zap v1.22.0/go.mod h1:H4siCOZOrAolnUPJEkfaSjDqyP+BDS0DdDWzwcgt3+U= +go.uber.org/zap v1.23.0 h1:OjGQ5KQDEUawVHxNwQgPpiypGHOxo2mNZsOqTak4fFY= +go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -581,8 +587,9 @@ golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220307211146-efcb8507fb70/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa h1:zuSxTR4o9y82ebqCUJYNGJbGPo6sKVl54f/TVDObg1c= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503 h1:vJ2V3lFLg+bBhgroYuRfyN583UzVveQmIXjc8T/y3to= +golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20181106170214-d68db9428509/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -615,8 +622,8 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220812174116-3211cb980234 h1:RDqmgfe7SvlMWoqC3xwQ2blLO3fcWcxMa3eBLRdRW7E= -golang.org/x/net v0.0.0-20220812174116-3211cb980234/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20220822230855-b0a4917ee28c h1:JVAXQ10yGGVbSyoer5VILysz6YKjdNT2bsvlayjqhes= +golang.org/x/net v0.0.0-20220822230855-b0a4917ee28c/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -627,8 +634,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde h1:ejfdSekXMDxDLbRrJMwUk6KnSLZ2McaUCVcIKM+N6jc= +golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -662,8 +669,9 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab h1:2QkjZIsXupsJbJIdSjjUOgWK3aEtzyuh2mPt3l/CkeU= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64 h1:UiNENfZ8gDvpiWw7IpOMQ27spWmThO1RwwdQVbJahJM= +golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/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/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -750,17 +758,18 @@ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gorm.io/datatypes v1.0.7 h1:8NhJN4+annFjwV1WufDhFiPjdUvV1lSGUdg1UCjQIWY= gorm.io/datatypes v1.0.7/go.mod h1:l9qkCuy0CdzDEop9HKUdcnC9gHC2sRlaFtHkTzsZRqg= gorm.io/driver/mysql v1.3.2/go.mod h1:ChK6AHbHgDCFZyJp0F+BmVGb06PSIoh9uVYKAlRbb2U= -gorm.io/driver/mysql v1.3.5 h1:iWBTVW/8Ij5AG4e0G/zqzaJblYkBI1VIL1LG2HUGsvY= -gorm.io/driver/mysql v1.3.5/go.mod h1:sSIebwZAVPiT+27jK9HIwvsqOGKx3YMPmrA3mBJR10c= +gorm.io/driver/mysql v1.3.6 h1:BhX1Y/RyALb+T9bZ3t07wLnPZBukt+IRkMn8UZSNbGM= +gorm.io/driver/mysql v1.3.6/go.mod h1:sSIebwZAVPiT+27jK9HIwvsqOGKx3YMPmrA3mBJR10c= gorm.io/driver/postgres v1.3.4/go.mod h1:y0vEuInFKJtijuSGu9e5bs5hzzSzPK+LancpKpvbRBw= -gorm.io/driver/postgres v1.3.8 h1:8bEphSAB69t3odsCR4NDzt581iZEWQuRM27Cg6KgfPY= -gorm.io/driver/postgres v1.3.8/go.mod h1:qB98Aj6AhRO/oyu/jmZsi/YM9g6UzVCjMxO/6frFvcA= +gorm.io/driver/postgres v1.3.9 h1:lWGiVt5CijhQAg0PWB7Od1RNcBw/jS4d2cAScBcSDXg= +gorm.io/driver/postgres v1.3.9/go.mod h1:qw/FeqjxmYqW5dBcYNBsnhQULIApQdk7YuuDPktVi1U= gorm.io/driver/sqlite v1.3.1/go.mod h1:wJx0hJspfycZ6myN38x1O/AqLtNS6c5o9TndewFbELg= gorm.io/driver/sqlite v1.3.6 h1:Fi8xNYCUplOqWiPa3/GuCeowRNBRGTf62DEmhMDHeQQ= gorm.io/driver/sqlserver v1.3.1/go.mod h1:w25Vrx2BG+CJNUu/xKbFhaKlGxT/nzRkhWCCoptX8tQ= gorm.io/driver/sqlserver v1.3.2 h1:yYt8f/xdAKLY7lCCyXxIUEgZ/WsURos3dHrx8MKFGAk= gorm.io/gorm v1.23.1/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= gorm.io/gorm v1.23.6/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= +gorm.io/gorm v1.23.7/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= gorm.io/gorm v1.23.8 h1:h8sGJ+biDgBA1AD1Ha9gFCx7h8npU7AsLdlkX0n2TpE= gorm.io/gorm v1.23.8/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -769,8 +778,8 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI= -mellium.im/sasl v0.2.1 h1:nspKSRg7/SyO0cRGY71OkfHab8tf9kCts6a6oTDut0w= -mellium.im/sasl v0.2.1/go.mod h1:ROaEDLQNuf9vjKqE1SrAfnsobm2YKXT1gnN1uDp1PjQ= +mellium.im/sasl v0.3.0 h1:0qoaTCTo5Py7u/g0cBIQZcMOgG/5LM71nshbXwznBh8= +mellium.im/sasl v0.3.0/go.mod h1:xm59PUYpZHhgQ9ZqoJ5QaCqzWMi8IeS49dhp6plPCzw= modernc.org/b v1.0.2/go.mod h1:fVGfCIzkZw5RsuF2A2WHbJmY7FiMIq30nP4s52uWsoY= modernc.org/cc/v3 v3.33.6/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= modernc.org/cc/v3 v3.33.9/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= diff --git a/redis.go b/redis.go index e548776..307249b 100644 --- a/redis.go +++ b/redis.go @@ -8,7 +8,7 @@ import ( // 微信后台推送的ticke func (c *Client) getComponentVerifyTicketCacheKeyName() string { - return fmt.Sprintf("wechat_open:component_verify_ticket:%v", c.config.ComponentAppId) + return fmt.Sprintf("wechat_open:component_verify_ticket:%v", c.GetComponentAppId()) } // SetComponentVerifyTicket 设置微信后台推送的ticke @@ -16,22 +16,22 @@ func (c *Client) SetComponentVerifyTicket(ctx context.Context, componentVerifyTi if componentVerifyTicket == "" { return "" } - c.redisClient.Set(ctx, c.getComponentVerifyTicketCacheKeyName(), componentVerifyTicket, time.Hour*12) + c.cache.redisClient.Set(ctx, c.getComponentVerifyTicketCacheKeyName(), componentVerifyTicket, time.Hour*12) return c.GetComponentVerifyTicket(ctx) } // GetComponentVerifyTicket 获取微信后台推送的ticke func (c *Client) GetComponentVerifyTicket(ctx context.Context) string { - if c.redisClient.Db == nil { - return c.config.ComponentVerifyTicket + if c.cache.redisClient.Db == nil { + return c.config.componentVerifyTicket } - result, _ := c.redisClient.Get(ctx, c.getComponentVerifyTicketCacheKeyName()).Result() + result, _ := c.cache.redisClient.Get(ctx, c.getComponentVerifyTicketCacheKeyName()).Result() return result } // 令牌 func (c *Client) getComponentAccessTokenCacheKeyName() string { - return fmt.Sprintf("wechat_open:component_access_token:%v", c.config.ComponentAppId) + return fmt.Sprintf("wechat_open:component_access_token:%v", c.GetComponentAppId()) } // SetComponentAccessToken 设置令牌 @@ -39,16 +39,16 @@ func (c *Client) SetComponentAccessToken(ctx context.Context, componentAccessTok if componentAccessToken == "" { return "" } - c.redisClient.Set(ctx, c.getComponentAccessTokenCacheKeyName(), componentAccessToken, time.Second*7200) + c.cache.redisClient.Set(ctx, c.getComponentAccessTokenCacheKeyName(), componentAccessToken, time.Second*7200) return c.GetComponentAccessToken(ctx) } // GetComponentAccessToken 获取令牌 func (c *Client) GetComponentAccessToken(ctx context.Context) string { - if c.redisClient.Db == nil { - return c.config.ComponentAccessToken + if c.cache.redisClient.Db == nil { + return c.config.componentAccessToken } - result, _ := c.redisClient.Db.Get(ctx, c.getComponentAccessTokenCacheKeyName()).Result() + result, _ := c.cache.redisClient.Db.Get(ctx, c.getComponentAccessTokenCacheKeyName()).Result() return result } @@ -67,7 +67,7 @@ func (c *Client) MonitorComponentAccessToken(ctx context.Context) string { // 授权方令牌 func (c *Client) getAuthorizerAccessTokenCacheKeyName() string { - return fmt.Sprintf("wechat_open:authorizer_access_token:%v:%v", c.config.ComponentAppId, c.config.AuthorizerAppid) + return fmt.Sprintf("wechat_open:authorizer_access_token:%v:%v", c.GetComponentAppId(), c.GetAuthorizerAppid()) } // SetAuthorizerAccessToken 设置授权方令牌 @@ -75,16 +75,16 @@ func (c *Client) SetAuthorizerAccessToken(ctx context.Context, authorizerAccessT if authorizerAccessToken == "" { return "" } - c.redisClient.Set(ctx, c.getAuthorizerAccessTokenCacheKeyName(), authorizerAccessToken, time.Hour*2) + c.cache.redisClient.Set(ctx, c.getAuthorizerAccessTokenCacheKeyName(), authorizerAccessToken, time.Hour*2) return c.GetComponentAccessToken(ctx) } // GetAuthorizerAccessToken 获取授权方令牌 func (c *Client) GetAuthorizerAccessToken(ctx context.Context) string { - if c.redisClient.Db == nil { - return c.config.AuthorizerAccessToken + if c.cache.redisClient.Db == nil { + return c.config.authorizerAccessToken } - result, _ := c.redisClient.Get(ctx, c.getAuthorizerAccessTokenCacheKeyName()).Result() + result, _ := c.cache.redisClient.Get(ctx, c.getAuthorizerAccessTokenCacheKeyName()).Result() return result } @@ -102,7 +102,7 @@ func (c *Client) MonitorAuthorizerAccessToken(ctx context.Context, authorizerRef // 预授权码 func (c *Client) getPreAuthCodeCacheKeyName() string { - return fmt.Sprintf("wechat_open:pre_auth_code:%v", c.config.ComponentAppId) + return fmt.Sprintf("wechat_open:pre_auth_code:%v", c.GetComponentAppId()) } // SetPreAuthCode 设置预授权码 @@ -110,22 +110,22 @@ func (c *Client) SetPreAuthCode(ctx context.Context, preAuthCode string) string if preAuthCode == "" { return "" } - c.redisClient.Set(ctx, c.getPreAuthCodeCacheKeyName(), preAuthCode, time.Second*1700) + c.cache.redisClient.Set(ctx, c.getPreAuthCodeCacheKeyName(), preAuthCode, time.Second*1700) return c.GetComponentAccessToken(ctx) } // GetPreAuthCode 获取预授权码 func (c *Client) GetPreAuthCode(ctx context.Context) string { - if c.redisClient.Db == nil { - return c.config.AuthorizerAccessToken + if c.cache.redisClient.Db == nil { + return c.config.authorizerAccessToken } - result, _ := c.redisClient.Get(ctx, c.getPreAuthCodeCacheKeyName()).Result() + result, _ := c.cache.redisClient.Get(ctx, c.getPreAuthCodeCacheKeyName()).Result() return result } // DelPreAuthCode 删除预授权码 func (c *Client) DelPreAuthCode(ctx context.Context) error { - return c.redisClient.Del(ctx, c.getPreAuthCodeCacheKeyName()).Err() + return c.cache.redisClient.Del(ctx, c.getPreAuthCodeCacheKeyName()).Err() } // MonitorPreAuthCode 监控预授权码 diff --git a/request.go b/request.go index 2561990..19917d8 100644 --- a/request.go +++ b/request.go @@ -29,8 +29,11 @@ func (c *Client) request(ctx context.Context, url string, params map[string]inte } // 日志 - if c.config.GormClient.Db != nil { - go c.logClient.GormMiddleware(ctx, request, Version) + if c.log.gorm == true { + go c.log.logGormClient.GormMiddleware(ctx, request, Version) + } + if c.log.mongo == true { + go c.log.logMongoClient.MongoMiddleware(ctx, request, Version) } return request, err diff --git a/service_http.verify_ticket.go b/service_http.verify_ticket.go index b6d635e..408ef30 100644 --- a/service_http.verify_ticket.go +++ b/service_http.verify_ticket.go @@ -58,7 +58,7 @@ func (c *Client) ServeHttpVerifyTicket(ctx context.Context, r *http.Request) (re return resp, errors.New("未找到随机数参数") } - wantSignature = Sign(c.config.MessageToken, timestamp, nonce) + wantSignature = Sign(c.GetMessageToken(), 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.config.MessageKey + "=") + AesKey, err := base64.StdEncoding.DecodeString(c.GetMessageKey() + "=") if err != nil { return resp, errors.New(fmt.Sprintf("messageKey 解码字符串错误:%v", err)) } diff --git a/set.go b/set.go index 50a98cd..b000bb6 100644 --- a/set.go +++ b/set.go @@ -2,6 +2,6 @@ package wechatopen // SetAuthorizerAppid 设置代理商小程序 func (c *Client) SetAuthorizerAppid(authorizerAppid string) { - c.config.AuthorizerAppid = authorizerAppid + c.config.authorizerAppid = authorizerAppid return } diff --git a/sns.component.jscode2session.go b/sns.component.jscode2session.go index 5fb0275..833b70d 100644 --- a/sns.component.jscode2session.go +++ b/sns.component.jscode2session.go @@ -34,10 +34,10 @@ func newSnsComponentJsCode2sessionResult(result SnsComponentJsCode2sessionRespon func (c *Client) SnsComponentJsCode2session(ctx context.Context, jsCode string) *SnsComponentJsCode2sessionResult { // 参数 params := gorequest.NewParams() - params["appid"] = c.config.AuthorizerAppid // 小程序的 appId + params["appid"] = c.GetAuthorizerAppid() // 小程序的 appId params["js_code"] = jsCode // wx.login 获取的 code params["grant_type"] = "authorization_code" // 填 authorization_code - params["component_appid"] = c.config.ComponentAppId // 第三方平台 appid + params["component_appid"] = c.GetComponentAppId() // 第三方平台 appid params["component_access_token"] = c.GetComponentAccessToken(ctx) // 第三方平台的component_access_token // 请求 request, err := c.request(ctx, apiUrl+"/sns/component/jscode2session", params, http.MethodGet)