Files
AILab/sentinel/main/func.go
T
2025-12-29 16:30:55 +08:00

67 lines
1.4 KiB
Go

package main
import (
"context"
"fmt"
"sentinel/pkg/device"
"sentinel/pkg/log"
"sentinel/pkg/model"
api "sentinel/pkg/net"
"sentinel/pkg/storage"
)
func test() {
// 0. 从海康SDK获取图片以及信息
record := loadData()
// 1. 上传图片到OSS
uploadFile(record.LicensePlateImage, record.VehicleImage)
// 2. 调用分析请求
analytics(record)
}
func loadData() model.Record {
return model.Record{
DeviceId: device.GetDeviceID(),
LicensePlate: "晋A-888888",
LicensePlateImage: "licensePlateImage_test1.jpg",
VehicleType: "大型货车",
VehicleImage: "vehicleImage_test1.jpg",
}
}
func uploadFile(licensePlateImage string, vehicleImage string) {
if err := storage.Init(); err != nil {
log.Fatal(err)
}
// todo 需要压缩图片至1~3MB
size, err := storage.UploadFile(
context.Background(),
"sentinel",
"license_plate/"+licensePlateImage,
"tmp/"+licensePlateImage,
"image/jpeg",
)
if err != nil {
log.Fatal(err)
}
log.Println(fmt.Sprintf("车牌照已上传完毕, 大小: = %d KB", size/1024))
size, err = storage.UploadFile(
context.Background(),
"sentinel",
"vehicle_image/"+vehicleImage,
"tmp/"+vehicleImage,
"image/jpeg",
)
if err != nil {
log.Fatal(err)
}
log.Println(fmt.Sprintf("车身照已上传完毕, 大小: = %d KB", size/1024))
}
func analytics(record model.Record) {
err := api.Analytics(record)
if err != nil {
return
}
}