yidun检测、查询

This commit is contained in:
2026-05-08 09:33:40 +08:00
parent 22dd73c37f
commit 51d26aeee7
10 changed files with 2321 additions and 41 deletions

View File

@@ -0,0 +1,51 @@
package yidun
import (
"context"
"fmt"
"github.com/gogf/gf/v2/frame/g"
"github.com/yidun/yidun-golang-sdk/yidun/service/antispam/text/v5/check/async/single"
)
// TextDetectionService 文本检测服务
type TextDetectionService struct{}
var TextDetection = new(TextDetectionService)
// DetectText 提交文本异步检测任务
func (s *TextDetectionService) DetectText(ctx context.Context, req *single.TextAsyncCheckRequest) (string, error) {
if DefaultClients == nil || DefaultClients.TextClient == nil {
return "", fmt.Errorf("易盾文本检测客户端未初始化")
}
response, err := DefaultClients.TextClient.AsyncCheckText(req)
if err != nil {
g.Log().Errorf(ctx, "文本检测提交失败: %v", err)
return "", fmt.Errorf("文本检测提交失败: %w", err)
}
if response.GetCode() != 200 {
g.Log().Errorf(ctx, "文本检测API错误: code=%d, msg=%s", response.GetCode(), response.GetMsg())
return "", fmt.Errorf("文本检测API错误: code=%d, msg=%s", response.GetCode(), response.GetMsg())
}
var taskID string
if response.Result != nil && len(response.Result.CheckTexts) > 0 {
taskID = *response.Result.CheckTexts[0].TaskID
}
g.Log().Infof(ctx, "文本检测任务提交成功, taskID: %s", taskID)
return taskID, nil
}
// GetTextResult 获取文本检测结果
func (s *TextDetectionService) GetTextResult(ctx context.Context, taskID string) (interface{}, error) {
if DefaultClients == nil || DefaultClients.TextClient == nil {
return nil, fmt.Errorf("易盾文本检测客户端未初始化")
}
g.Log().Infof(ctx, "查询文本检测结果, taskID: %s", taskID)
// TODO: 根据实际业务需求实现查询逻辑
return nil, nil
}