yidun检测、查询
This commit is contained in:
51
service/yidun/text_detection_service.go
Normal file
51
service/yidun/text_detection_service.go
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user