zhangmeng
2019-05-24 469c7cf3b121d86cb7798c8a51b045170b90e17f
protomsg.proto
@@ -7,6 +7,7 @@
   int32 index = 3 ;
}
//SdkMessage struct test
message SdkMessage {
   string cid = 1;
   TaskLabel tasklab = 2;
@@ -19,3 +20,189 @@
    int32 height = 2;
    bytes data = 3;
}
//Area结构体
message Area{
    int32 id = 1;
    int32 parentid = 2;
    string name = 3;
}
//Camera结构体
message Camera {
    string id = 1;
    string name = 2;
    int32 type = 3;
    string addr = 4;
    int32 areaid = 5;
    float longitude = 6;
    float latitude = 7;
    string rtsp = 8;
    string ip = 9;
    int32 port = 10;
    string username = 11;
    string password = 12;
    string brand = 13;
    string reserved = 14;
}
//摄像机的任务信息
message CameraAndTaskInfo {
    Camera camera = 1;//摄像机信息
    repeated Task tasks = 2;//任务列表
}
//Task结构体
message Task {
    string taskid = 1;
    string taskname = 2;
    string create_at = 3;
    string create_by = 4;
    string update_at = 5;
    bool enable = 6;
    bool is_alarm = 7;
    bool del_flag = 8;
}
message TaskSdkInfo {
    Task task = 1;
    repeated Sdk sdks = 2;
}
//摄像机任务
message CameraTask {
    string id = 1;
    string camera_ids = 2;//摄像机id
    string task_id = 3;//任务id
    repeated DayCtl time_rule = 4;//布防时间
    string react_rule = 5;//联动方式
    string react_device = 6;//联动设备
    bool del_flag = 7; //逻辑删除标记
    bool update_flag = 8;//是否参数更新了
    bool enable = 9; //是否启用
    int32 sort = 10; //任务排序
    bool is_full = 11;//参数是否设置完整
    string link_group_id = 12;
}
//DayCtl struct   每天的时间控制规则
message DayCtl {
    int32 day = 1;//1-7表示星期一到星期日
    repeated TimeRange time_range = 2;
}
//时间起始范围
message TimeRange {
    string start = 1;//开始
    string end = 2;//结束
}
//Polygon struct
message Polygon {
    string id = 1;//形状id
    string name = 2;//形状的名称
    repeated Point points = 4;//点的集合
}
message CameraTaskArgs {
    string id =1;
    string camera_task_id =2;
    string camera_id =3;
    string polygon_id =4;
    string sdk_id = 5;
    string sdk_arg_alias = 6;
    string operator = 7;
    string operator_type = 8;
    string sdk_arg_value = 9;
    int32 sort = 10;
    string rule_with_next = 11;
    string group_id =12;
}
//Sdk struct
message Sdk {
    string id = 1;
    string sdk_type = 2;//算法类型
    string sdk_name = 3;//sdk名称
    repeated SdkArg args = 4;//算法参数
    string icon = 5;//算法图标
    string url = 6;//算法下载地址
    string create_time = 7;
    string update_time = 8;
    string create_by = 9;
    string enabled = 10;//是否启用
    string del_flag = 11;//是否删除
}
//SdkArg struct
message SdkArg {
    string alias = 2;//参数别名
    string name = 3;//参数名称
    string type = 4;//参数类型
    bool must = 5;//参数是否必填
    string range = 6;//参数的范围
    int32 sort = 7;//参数排序
}
// struct for sdk
message Point{
   int32 x = 1;
   int32 y = 2;
}
message Rect{
   int32 left = 1;
   int32 top = 2;
   int32 right = 3;
   int32 bottom = 4;
}
message FaceAngle{
   int32 yaw = 1;
   int32 pitch =2;
   int32 roll = 3;
   float confidence =4;
}
message ThftResult{
   int32 gender = 1;
   int32 age = 2;
   int32 race = 3;
   int32 beauty = 4;
   int32 smile = 5;
}
message FacePos{
   Rect rcFace = 1;
   Point ptLeftEye = 2;
   Point ptRightEye = 3;
   Point ptMouth = 4;
   Point ptNose = 5;
   FaceAngle fAngle = 6;
   int32 quality = 7;
   bytes facialData = 8;
}
message FaceInfo{
   Rect rcFace = 1;
   Point ptLeftEye = 2;
   Point ptRightEye = 3;
   Point ptMouth = 4;
   Point ptNose = 5;
   FaceAngle fAngle = 6;
   int32 quality = 7;
   bytes facialData = 8;
   int64 faceID = 9;
}
message ObjInfo{
   Rect rcObj = 1;
   int32 typ = 2;
   float prob = 3;
}
// sdk face property
message ParamFacePos{
   repeated FacePos pos = 1;
   Image img = 2;
}
// sdk face extract
message ParamFaceCompare{
   bytes feat1 = 1;
   bytes feat2 = 2;
}