549 lines
18 KiB
C#
549 lines
18 KiB
C#
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>
|
||
/// 人员ID:ID,验证人员唯一性的字段,必填
|
||
/// </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:00,23: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; }
|
||
}
|
||
}
|
||
}
|