You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
go-library/service/wechatoffice/client.go

54 lines
1.3 KiB

package wechatoffice
import (
"go.dtapp.net/library/utils/dorm"
"go.dtapp.net/library/utils/golog"
"go.dtapp.net/library/utils/gorequest"
"gorm.io/gorm"
)
type ConfigClient struct {
AppId string // 小程序唯一凭证,即 appId
AppSecret string // 小程序唯一凭证密钥,即 appSecret
AccessToken string // 接口调用凭证
JsapiTicket string // 签名凭证
RedisClient *dorm.RedisClient // 缓存数据库
TokenDb *gorm.DB // 令牌数据库
PgsqlDb *gorm.DB // pgsql数据库
}
// Client 微信公众号服务
type Client struct {
client *gorequest.App // 请求客户端
log *golog.ApiClient // 日志服务
logStatus bool // 日志状态
config *ConfigClient // 配置
}
func NewClient(config *ConfigClient) (*Client, error) {
var err error
c := &Client{config: config}
c.client = gorequest.NewHttp()
if c.config.PgsqlDb != nil {
c.logStatus = true
c.log, err = golog.NewApiClient(&golog.ConfigApiClient{
Db: c.config.PgsqlDb,
TableName: logTable,
})
if err != nil {
return nil, err
}
}
return c, nil
}
// ConfigApp 配置
func (c *Client) ConfigApp(appId, appSecret string) *Client {
c.config.AppId = appId
c.config.AppSecret = appSecret
return c
}