前言
海康接口开发之访客登记(一) 获取人员信息
海康接口开发之访客登记(二) 推送访客信息
一、步骤
感觉这里没什么好说的,就是获取些控件值,序列化一下到json然后往接口地址推送,直接贴代码吧=.= (请忽视命名规范、写法、注释等的Low态,毕竟一边做项目一遍敲代码)
后续再研究下接口返回的访客验证码和二维码怎么用。
二、代码
protected void Button1_Click(object sender, EventArgs e)
{
//调取封装好的接口参数
HttpUtillib.SetPlatformInfo(ISC_Config.appkey, ISC_Config.secret, ISC_Config.ip, ISC_Config.port, ISC_Config.isHttps);
//获取前端被访人ID
var PartnerId = RE_PartnerId.Value;
//获取前端所填时间及将其转换为ISO8601格式(海康接口需要)
var StartTime = dt_start.Value;
var EndTime= dt_end.Value;
DateTime Dsj = Convert.ToDateTime(StartTime);
DateTime Esj = Convert.ToDateTime(EndTime);
var SS = Dsj.ToString("yyyy-MM-ddTHH:mm:sszzz");
var EE = Esj.ToString("yyyy-MM-ddTHH:mm:sszzz");
List<VisitorInfoListItem> visitorInfoList_list = new List<VisitorInfoListItem>()
{
new VisitorInfoListItem
{
visitorName = RE_Name.Value,
//性别,这里写死了,有时间的话做个单选框
gender = 1,
phoneNo = RE_telphone.Value,
plateNo =RE_Car.Value,
certificateType = 111,
certificateNo = RE_CardID.Value,
visitorWorkUnit=RE_Company.Value
}
};
Root RootObject = new Root()
{
receptionistId = PartnerId,
visitStartTime= SS,
visitEndTime= EE,
visitPurpose= RE_Reason.Text,
visitorInfoList= visitorInfoList_list
};
//序列化json
string retjson = JsonConvert.SerializeObject(RootObject);
//填充Url
string uri = "/artemis/api/visitor/v2/appointment";
//发起POST请求,返回响应字节数组
byte[] result = HttpUtillib.HttpPost(uri, retjson, 30);
if (null == result)
{
Response.Write("<script>alert('系统出错,请再次预约!')</script>");
}
else
{
Response.Write("<script>alert('预约成功,请截图或者复制预约信息!')</script>");
}
}
public class VisitorInfoListItem
{
public string visitorName { get; set; }
public int gender { get; set; }
public string phoneNo { get; set; }
public string plateNo { get; set; }
public int certificateType { get; set; }
public string certificateNo { get; set; }
public string visitorWorkUnit { get; set; }
}
public class Root
{
public string receptionistId { get; set; }
public string visitStartTime { get; set; }
public string visitEndTime { get; set; }
public string visitPurpose { get; set; }
public List<VisitorInfoListItem> visitorInfoList { get; set; }