package main import ( "context" "fmt" "sentinel/app/log" "sentinel/app/model" "sentinel/app/net" "sentinel/app/storage" ) func main() { banner := ` ========================================================================== _______ _______ _ __________________ _ _______ _ ( ____ \( ____ \( ( /|\__ __/\__ __/( ( /|( ____ \( \ | (_____ | (__ | \ | | | | | | | \ | || (__ | | (_____ )| __) | (\ \) | | | | | | (\ \) || __) | | /\____) || (____/\| ) \ | | | ___) (___| ) \ || (____/\| (____/\ \_______)(_______/|/ )_) )_( \_______/|/ )_)(_______/(_______/ ========================================================================== ` deviceID := "6823316af0e540bea818ec1be25cc14a" log.Init() // 初始化日志目录 log.Info("Device id: " + deviceID) // 第一次启动记录 log.Info(banner) // 0. 从海康SDK获取图片以及信息 record := loadData(deviceID) // 1. 上传图片到OSS uploadFile(record.LicensePlateImage, record.VehicleImage) // 2. 调用分析请求 analytics(record) } func loadData(deviceID string) model.Record { return model.Record{ DeviceId: deviceID, //从环境变量取 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 } }