接口开发,带string和struct参数方法编写,图片base64Binary编码编写(c#开发)
Std::string SendVehiclePass(std::string VehiclePassInfo, struct xsd__base64Binary PlatePicData, struct
xsd__base64Binary CarPic1, struct xsd__base64Binary CarPic2, struct xsd__base64Binary CarPic3)
参数说明:
VehiclePassInfo:过车信息详情xml,具体如下:
<?xml version="1.0" encoding=" UTF-8 " standalone="yes" ?>
<ROOT>
<XJIP>相机IP</XJIP>
<XJDKH>相机端口号</XJDKH>
<JGSK>经过时刻</JGSK>
<CDBH>车道编号</CDBH>
<HPHM>号牌号码</HPHM>
<HPYS>号牌颜色</HPYS>
<HPZL>号牌种类</HPZL>
<CLSD>车辆速度</CLSD>
<CWKC>车外廓长</CWKC>
<CSYS>车身颜色</CSYS>
<CLLX>车辆类型</CLLX>
<CLPP>车辆品牌</CLPP>
<SSYF>实时与否</SSYF>
</ROOT>
PlatePicData:车牌特征小图片信息,最大20K,可以为空,图片以JPEG格式压缩。
CarPic1:车辆图片1,最大1.5M,不能为空。
CarPic2:车辆图片2,最大1.5M,可以为空。
CarPic3:车辆图片3,最大1.5M,可以为空。
所有以上图片信息若超过规定大小请自行压缩。
车辆图片按照从左到右依次赋值,如果有一张图片,则赋值到CarPic1,有两张则依次赋值CarPic1,CarPic2,依此类推。
PlatePicData:只存车牌小图片。
struct xsd__base64Binary
{
unsigned char* __ptr;//图片数据缓冲区
int __size;//图片数据大小
};
Respond:返回值为xml字符串。格式如下:
<?xml version="1.0" encoding=" UTF-8 " standalone="yes" ?>
<ROOT>
<!—返回结果信息,0为调用成功,其它值为失败-->
<CODE>0</CODE>
<!—CODE为非0时,MESSAGE 字段为失败的原因,CODE为0时为空-->
<MESSAGE>失败时获取详细的失败信息</MESSAGE>
</ROOT>
我完成的部分代码:
public static bool UploaderInfoPic(PassingVehicle vehicle)
{
string plateNbr;
if (string.IsNullOrEmpty(vehicle.plateNbr))
{
plateNbr = "-";
}
else
{
plateNbr = vehicle.plateNbr;
}
string strVehicleInfo = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" +
"<ROOT>" +
"<KKMY>" + GetDeviceInfo(vehicle.deviceNo).Substring(12) + "</KKMY>" +
"<KKBH>" + GetDeviceInfo(vehicle.deviceNo).Substring(0, 12) + "</KKBH>" +
"<JGSK>" + Convert.ToDateTime(vehicle.captureTime).ToString
("yyyyMMddhhmmssfff") + "</JGSK>" +
"<CDBH>0" + vehicle.lane + "</CDBH>" +
"<HPHM>" + plateNbr + "</HPHM>" +
"<HPYS>" + vehicle.plateColor + "</HPYS>" +
"<HPZL>" + vehicle.plateType + "</HPZL>" +
"<CLSD>" + vehicle.vehicleSpeed + "</CLSD>" +
"<CWKC></CWKC>" +
"<CSYS>Z</CSYS>" +
"<CLLX></CLLX>" +
"<SSYF>0</SSYF>" +
"</ROOT>";
return true;
}
public static string GetDeviceInfo(string DeviceNbr)
{
DataTable dt = CSVProvider.ToDataTable2(DeviceKeyPath,true);
Dictionary<string, string> DicKey = new Dictionary<string, string>();
for (int i = 0; i < dt.Rows.Count;i++ )
{
DicKey.Add(dt.Rows[i][0].ToString(), dt.Rows[i][1].ToString()+dt.Rows[i][2].ToString());
}
return DicKey[DeviceNbr];
}
接下来不知道怎么写了?谁帮忙一下。。。。
相关推荐
《模式识别与数据挖掘》配套PPT课件
《模式识别与数据挖掘》配套PPT课件
科技成果转化项目进场交易前,评估备案环节需要准备哪些材料?_8.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
人工智能通识教育(中职版)课程标准+PPT课件+部分素材+电子活页+在线考核
人工智能通识教育(中职版)课程标准+PPT课件+部分素材+电子活页+在线考核
跨境电商供应链管理(AIGC版)课件+教案+参考答案
跨境电商供应链管理(AIGC版)课件+教案+参考答案
110KV单电源电网三段式电流保护+距离继电保护整定计算说明报告(23页+6000字)
内容概要:本文是一份关于110kV单电源电网继电保护整定计算的综合性技术报告,全文共23页、约6000字,系统阐述了三段式电流保护与距离保护的设计原理及其整定计算方法。报告深入分析了电力系统在短路故障条件下的电流与阻抗特性,详细推导了电流保护Ⅰ、Ⅱ、Ⅲ段的动作范围、整定原则、灵敏度校验及时间配合机制,确保满足继电保护的选择性、速动性、灵敏性和可靠性“四性”要求。同时,针对长距离或重要输电线路,补充介绍了距离保护的阻抗整定计算方法,并可能结合Matlab进行仿真验证与辅助计算,提升整定结果的准确性与工程实用性。; 适合人群:适用于电气工程及其自动化相关专业的高年级本科生、研究生,以及从事电力系统继电保护设计、运行维护的工程技术人员;要求读者具备电力系统分析、短路计算及继电保护的基础理论知识。; 使用场景及目标:①掌握110kV单电源辐射型电网中三段式电流保护的整定流程与实际计算步骤;②理解距离保护的工作原理及其在复杂工况下的应用优势;③完成实际工程项目的保护配置与整定计算任务,或作为课程设计、毕业设计及科研课题的技术参考资料;④结合Matlab工具实现整定计算的程序化处理与动作特性仿真验证。; 阅读建议:建议读者结合《电力系统继电保护原理》等相关教材同步学习,重点研读整定公式的推导过程与典型算例的计算细节,注意区分电流保护与距离保护的适用场景与配置逻辑,有条件时应利用Matlab等工具对保护动作行为进行建模与仿真,以深化对保护协调配合机制的理解。


