Files
Console_Faces_Prod/TestWebSocket/Entity.cs
2025-11-26 13:45:58 +08:00

549 lines
18 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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; }
}
}
}