Havoc412 609e02dfd2 feat(catface): 优化猫脸识别功能
- 新增猫脸识别失败的错误码和错误信息
- 重构猫脸识别结果处理逻辑,增加对结果为空的处理
- 优化猫脸识别结果展示,包括品种翻译和动物信息展示
- 新增测试用例,验证猫脸识别功能正常工作
2024-11-23 01:30:13 +08:00

46 lines
916 B
Go

package catface
import (
"catface/app/global/variable"
"catface/app/utils/micro_service"
"context"
"fmt"
"github.com/carlmjohnson/requests"
)
type FaceData struct {
FaceBreed string `json:"face_breed"`
Cats []struct {
Id int64 `json:"id"`
Conf float64 `json:"conf"`
} `json:"cats"`
}
type CatFaceRes struct {
Status int `json:"status"`
Data FaceData `json:"data"`
}
func GetCatfaceResult(filePath string) (*FaceData, error) {
body := map[string]interface{}{
"file_path": filePath,
}
var res CatFaceRes
err := requests.URL(micro_service.FetchPythonServiceUrl("cnn/detect_cat")).
BodyJSON(&body).
ToJSON(&res).
Fetch(context.Background())
if err != nil {
variable.ZapLog.Error("获取cat face结果集失败: " + err.Error())
return nil, err
}
if res.Status != 200 {
return nil, fmt.Errorf("请求状态码错误: %d", res.Status)
}
return &res.Data, nil
}