54 lines
1.9 KiB
Go
54 lines
1.9 KiB
Go
|
|
package yidun
|
|||
|
|
|
|||
|
|
import (
|
|||
|
|
"context"
|
|||
|
|
|
|||
|
|
"github.com/gogf/gf/v2/frame/g"
|
|||
|
|
"github.com/yidun/yidun-golang-sdk/yidun/service/antispam/image/v5"
|
|||
|
|
text "github.com/yidun/yidun-golang-sdk/yidun/service/antispam/text"
|
|||
|
|
"github.com/yidun/yidun-golang-sdk/yidun/service/antispam/videosolution"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// YidunClients 易盾客户端集合(直接使用SDK客户端)
|
|||
|
|
type YidunClients struct {
|
|||
|
|
TextClient *text.TextClient
|
|||
|
|
ImageClient *image.ImageClient
|
|||
|
|
VideoClient *videosolution.VideoSolutionClient
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var DefaultClients *YidunClients
|
|||
|
|
|
|||
|
|
// InitYidunClients 初始化所有易盾客户端
|
|||
|
|
func InitYidunClients(ctx context.Context) error {
|
|||
|
|
clients := &YidunClients{}
|
|||
|
|
|
|||
|
|
// 文本检测
|
|||
|
|
secretId := g.Cfg().MustGet(ctx, "yidun.text.secret_id").String()
|
|||
|
|
secretKey := g.Cfg().MustGet(ctx, "yidun.text.secret_key").String()
|
|||
|
|
if secretId != "" && secretKey != "" {
|
|||
|
|
clients.TextClient = text.NewTextClientWithAccessKey(secretId, secretKey)
|
|||
|
|
g.Log().Info(ctx, "文本检测客户端初始化成功")
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 图片检测
|
|||
|
|
secretId = g.Cfg().MustGet(ctx, "yidun.image.secret_id").String()
|
|||
|
|
secretKey = g.Cfg().MustGet(ctx, "yidun.image.secret_key").String()
|
|||
|
|
businessId := g.Cfg().MustGet(ctx, "yidun.image.business_id").String()
|
|||
|
|
if secretId != "" && secretKey != "" {
|
|||
|
|
clients.ImageClient = image.NewImageClientWithAccessKey(secretId, secretKey)
|
|||
|
|
g.Log().Infof(ctx, "图片检测客户端初始化成功, business_id: %s", businessId)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 视频检测
|
|||
|
|
secretId = g.Cfg().MustGet(ctx, "yidun.video.secret_id").String()
|
|||
|
|
secretKey = g.Cfg().MustGet(ctx, "yidun.video.secret_key").String()
|
|||
|
|
businessId = g.Cfg().MustGet(ctx, "yidun.video.business_id").String()
|
|||
|
|
if secretId != "" && secretKey != "" {
|
|||
|
|
clients.VideoClient = videosolution.NewVideoSolutionClientWithAccessKey(secretId, secretKey)
|
|||
|
|
g.Log().Infof(ctx, "视频检测客户端初始化成功, business_id: %s", businessId)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
DefaultClients = clients
|
|||
|
|
return nil
|
|||
|
|
}
|