Files
Console_Faces_Prod/TestWebSocket/Entity.cs

549 lines
18 KiB
C#
Raw Normal View History

2025-11-26 13:45:58 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WebSocketToolsConsole
{
public class Entity
{
public enum Factory
{
= 0,
= 1,
= 2
}
public class UiImg
{
public string name;
public string image;
public int x;
public int y;
public int w;
public int h;
}
/// <summary>
/// 实义德人脸机传输数据类型
/// </summary>
///
public class Rootinfo
{
public int pmsid { get; set; }
public msgx msgx { get; set; }
}
public class cmdinfo
{
public string msgid { get; set; }
public string sn { get; set; }
public string cmd { get; set; }
public msgxinfo msg { get; set; }
}
public class msgxinfo
{
/// <summary>
/// 消息ID
/// </summary>
public string status { get; set; }
/// <summary>
/// 终端序列号
/// </summary>
public string sn { get; set; }
/// <summary>
/// 消息类型: setPerson/removePerson、open/reboot开门重启
/// </summary>
public string msg { get; set; }
/// <summary>
/// pmsid
/// </summary>
/// <summary>
/// 消息主体Content-Type: application/x-www-formurlencoded
/// </summary>
public msginfo data { get; set; }
}
public class msginfo
{
public string cameraDetectType { get; set; }
public string faceFeaturePairNumber { get; set; }
public string faceFeaturePairSuccessOrFailWaitTime { get; set; }
public string openDoorType { get; set; }
public string openDoorContinueTime { get; set; }
public string doorType { get; set; }
public string APKVersion { get; set; }
public string sn { get; set; }
public string idCardFaceFeaturePairNumber { get; set; }
public string appWelcomeMsg { get; set; }
public string deviceSoundSize { get; set; }
public string deviceDefendTime { get; set; }
public string deviceName { get; set; }
public string tipsPairFail { get; set; }
public string picQualityRate { get; set; }
public string beginRecoDistance { get; set; }
public string pairSuccessOpenDoor { get; set; }
public string fillLightTimes { get; set; }
public string lowPowerTimes { get; set; }
public string recognitionSwitch { get; set; }
}
public class pmsinterface
{
public int pmsId { get; set; }
public DateTime DateTime { get; set; }
public string pmsContent { get; set; }
public int hotelid { get; set; }
public int room { get; set; }
public string faceSN { get; set; }
public int issueresult { get; set; }
public int pmstype { get; set; }
public string messageid { get; set; }
public string APKVersion { get; set; }
}
public class msgx
{
/// <summary>
/// 消息ID
/// </summary>
public string msgid { get; set; }
/// <summary>
/// 终端序列号
/// </summary>
public string sn { get; set; }
/// <summary>
/// 消息类型: setPerson/removePerson、open/reboot开门重启
/// </summary>
public string cmd { get; set; }
/// <summary>
/// pmsid
/// </summary>
/// <summary>
/// 消息主体Content-Type: application/x-www-formurlencoded
/// </summary>
public string msg { get; set; }
}
public class msgxs
{
/// <summary>
/// 消息ID
/// </summary>
public string msgid { get; set; }
public int pmsid { get; set; }
/// <summary>
/// 终端序列号
/// </summary>
public string sn { get; set; }
/// <summary>
/// 消息类型: setPerson/removePerson、open/reboot开门重启
/// </summary>
public string cmd { get; set; }
/// <summary>
/// pmsid
/// </summary>
/// <summary>
/// 消息主体Content-Type: application/x-www-formurlencoded
/// </summary>
public Msg msg { get; set; }
}
public class Msg
{
/// <summary>
///
/// </summary>
public int status { get; set; }
/// <summary>
///
/// </summary>
public string msg { get; set; }
}
/// <summary>
/// pmsid
/// </summary>
/// <summary>
/// 实义德人脸机返回结果
/// </summary>
public class msgx_response_msg
{
/// <summary>
/// 状态码0-成功,其他状态见状态码表
/// </summary>
public int status { get; set; }
/// <summary>
/// 状态描述:状态码的详细描述,比如:成功
/// </summary>
public string msg { get; set; }
/// <summary>
/// 返回数据返回请求的数据比如请求人员列表则data即为人员列表的json字符串
/// </summary>
public string data { get; set; }
}
/// <summary>
/// 实义德人脸机过闸人员结构
/// </summary>
public class msgx_person
{
/// <summary>
/// 秘钥:终端设备的秘钥
/// </summary>
public string key { get; set; }
/// <summary>
/// 人员IDID,验证人员唯一性的字段,必填
/// </summary>
public string id { get; set; }
/// <summary>
/// 人员的名字
/// </summary>
public string name { get; set; }
/// <summary>
/// 卡号:作为维根号发送到闸机
/// </summary>
public string IC_NO { get; set; }
/// <summary>
/// 身份证号
/// </summary>
public string ID_NO { get; set; }
/// <summary>
/// 照片JPG头像照片要求宽高640x480像素转为Base64字符串传输JPG 分辨率最大支持1080x1080
/// </summary>
public string photo { get; set; }
/// <summary>
/// 最大过闸次数:一共可以过闸的最大次数[0,10000);当此值设置等于10000时代表可以无限次过闸,默认:10000
/// </summary>
public long passCount { get; set; }
/// <summary>
/// 起始时间:此时间之后拥有过闸权限,单位:秒(传-1表示无限制),默认无限制
/// </summary>
public double startTs { get; set; }
/// <summary>
/// 截止时间:此时间之后无过闸权限,单位:秒(传-1表示无限制),默认无限制
/// </summary>
public double endTs { get; set; }
/// <summary>
/// 访客true-是访客false-非访客默认false
/// </summary>
public bool visitor { get; set; }
/// <summary>
/// 以周为单位设置每 天不同的时间段:有权限过闸多个时间段,可以周为单位设置每 天不同的时间段,也可以设置每天相同的时间 段,不支持进行缺省设置(时间段格式: “09:00-12:35”不同时间段间用“;”分割)
/// </summary>
public string weekly { get; set; }
}
/// <summary>
/// 人员添加
/// </summary>
public class SavePersonRequest
{
/// <summary>
/// ID编号回复id编号成对出现,用来关联平台的发送和设备的回复
/// </summary>
public int id { get; set; }
/// <summary>
/// 方法personnelData.savePersons
/// </summary>
public string method { get; set; }
/// <summary>
/// 人员信息列表
/// </summary>
public List<Params> @params { get; set; }
}
/// <summary>
/// 人员信息列表
/// </summary>
public class Params
{
/// <summary>
/// 人员信息
/// </summary>
public Person Person { get; set; }
}
/// <summary>
/// 人员信息
/// </summary>
public class Person
{
/// <summary>
/// 人员类型,1-内部员工,2-访客, 3-黑名单;必填
/// </summary>
public int Type { get; set; }
/// <summary>
/// 证件号,与CertificateType组合构成全局唯一人员标识,不允许更新,避免前端和平台端不一致。必填
/// </summary>
public string Code { get; set; }
/// <summary>
/// 默认权限组。必填
/// </summary>
public string GroupName { get; set; }
/// <summary>
/// 姓名必填
/// </summary>
public string Name { get; set; }
/// <summary>
/// 性别必填
/// </summary>
public string Sex { get; set; }
/// <summary>
/// 出生日期必填
/// </summary>
public string Birthday { get; set; }
/// <summary>
/// 访客信息,人员类型是访客时有效(非访客不填)
/// </summary>
public GuestInfo GuestInfo { get; set; }
/// <summary>
/// 通过HTTP协议下载图片的地址只支持JPG格式;
/// </summary>
public string URL { get; set; }
/// <summary>
/// Base64编码的图片数据,与URL字段互斥 base64数据不用带上格式信息如【data:image/jpg;base64,】
/// </summary>
public string Images { get; set; }
/// <summary>
/// 卡信息
/// </summary>
public Cards Cards { get; set; }
}
/// <summary>
/// 访客信息,人员类型是访客时有效(非访客不填)
/// </summary>
public class GuestInfo
{
/// <summary>
/// 单位
/// </summary>
public string Corp { get; set; }
/// <summary>
/// 电话
/// </summary>
public string Phone { get; set; }
/// <summary>
/// 车牌号码
/// </summary>
public string CarLicense { get; set; }
/// <summary>
/// 随行人数
/// </summary>
public int Partner { get; set; }
/// <summary>
/// 被访人
/// </summary>
public string Host { get; set; }
/// <summary>
/// 准入时间
/// </summary>
public AccessTime AccessTime { get; set; }
}
/// <summary>
/// 准入时间
/// </summary>
public class AccessTime
{
/// <summary>
/// 开始时间
/// </summary>
public string from { get; set; }
/// <summary>
/// 结束时间
/// </summary>
public string to { get; set; }
}
/// <summary>
/// 卡信息
/// </summary>
public class Cards
{
/// <summary>
/// 卡号
/// </summary>
public string ID { get; set; }
/// <summary>
/// 卡类型1普通卡2胁迫卡
/// </summary>
public int Type { get; set; }
/// <summary>
/// 有效期日期开始日期yyyy-MM-dd结束日期yyyy-MM-dd
/// </summary>
public string[] Validity { get; set; }
/// <summary>
/// 有效期时间默认00:00:0023:59:59开始时间HH:mm:ss结束时间HH:mm:ss
/// </summary>
public string[] ValidityTime { get; set; }
public Memo Memo { get; set; }
}
/// <summary>
/// optional其他信息
/// </summary>
public class Memo
{
/// <summary>
/// 门禁位置
/// </summary>
public string Entrance { get; set; }
}
/// <summary>
/// 人员添加设备回应
/// </summary>
public class Response
{
/// <summary>
/// ID编号回复id编号成对出现,用来关联平台的发送和设备的回复
/// </summary>
public int id { get; set; }
/// <summary>
/// 方法personnelData.savePersons,removePersons
/// </summary>
public string method { get; set; }
/// <summary>
/// 返回结果
/// </summary>
public bool result { get; set; }
/// <summary>
/// 人员信息列表
/// </summary>
public List<ParamsResponse> @params { get; set; }
}
/// <summary>
/// 响应人员信息
/// </summary>
public class ParamsResponse
{
/// <summary>
/// 人员类型,1-内部员工,2-访客, 3-黑名单
/// </summary>
//public string CertificateType { get; set; }
/// <summary>
/// 证件号,与CertificateType组合构成全局唯一人员标识,不允许更新,避免前端和平台端不一致
/// </summary>
public string Code { get; set; }
/// <summary>
/// 当前人员是否添加成功,失败有错误码和错误信息
/// </summary>
public bool Result { get; set; }
/// <summary>
/// 错误码
/// </summary>
public int ErrorCode { get; set; }
/// <summary>
///
/// </summary>
//public string[] ErrorCodePic { get; set; }
/// <summary>
/// 错误信息
/// </summary>
//public string ErrorMessage { get; set; }
}
/// <summary>
/// 人员删除
/// </summary>
public class RemovePersonRequest
{
/// <summary>
/// ID编号回复id编号成对出现,用来关联平台的发送和设备的回复
/// </summary>
public int id { get; set; }
/// <summary>
/// 方法personnelData.removePersons
/// </summary>
public string method { get; set; }
/// <summary>
/// 人员信息列表
/// </summary>
public List<RemoveParams> @params { get; set; }
}
/// <summary>
/// 人员信息列表
/// </summary>
public class RemoveParams
{
public string Code { get; set; }
}
/// <summary>
/// 人员删除设备回应
/// </summary>
//public class RemovePersonResponse
//{
// /// <summary>
// /// ID编号回复id编号成对出现,用来关联平台的发送和设备的回复
// /// </summary>
// public int id { get; set; }
// /// <summary>
// /// 方法personnelData.removePersons
// /// </summary>
// public string method { get; set; }
// /// <summary>
// /// 返回结果
// /// </summary>
// public bool result { get; set; }
// /// <summary>
// /// 人员信息列表
// /// </summary>
// public List<Response> @params { get; set; }
//}
/// <summary>
/// 响应人员信息
/// </summary>
//public class RemoveParamsResponse
//{
// /// <summary>
// /// 证件号,与CertificateType组合构成全局唯一人员标识,不允许更新,避免前端和平台端不一致
// /// </summary>
// public string Code { get; set; }
// /// <summary>
// /// 当前人员是否添加成功,失败有错误码和错误信息
// /// </summary>
// public bool Result { get; set; }
// /// <summary>
// /// 错误码
// /// </summary>
// public int ErrorCode { get; set; }
//}
public class Json
{
public int status { get; set; }
public string msg { get; set; }
public Data data { get; set; } = new Data();
}
public class Data
{
public int total_number { get; set; }
public int offset { get; set; }
public int person_number { get; set; }
public List<User> person { get; set; } = new List<User>();
}
public class User
{
public string id { get; set; }
public int passCount { get; set; }
public string startTs { get; set; }
public string endTs { get; set; }
public string name { get; set; }
public string ID_NO { get; set; }
public string IC_NO { get; set; }
}
}
}