ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

杭州市民卡医保改造,使用动态库调取医保电子凭证方法

2022-02-11 09:36:12  阅读:590  来源: 互联网

标签:凭证 ICC StringBuilder 医保 ID 二维码 WriteLine 调取


杭州市民卡医保改造,使用动态库调取医保电子凭证方法。

先将动态库ICCInter_HZ.dll,及其它动态库和配置文件,全部拷至程序根目录下。

一,新建类

/// <summary>
    /// 使用ICCInter_HZ.dll动态库,调用国家医保电子凭证
    /// </summary>
    public class HZ_DZPZ
    {
        /// <summary>
        /// 获取动态库版本
        /// </summary>
        /// <param name="outdata"></param>
        /// <returns></returns>
        [DllImport("ICCInter_HZ.dll", EntryPoint = "GetVer", SetLastError = false)]
        public static extern int GetVer(StringBuilder outdata);

        /// <summary>
        /// 交易函数(1125-扫电子凭证获取卡片基本信息(只扫一次二维码))
        /// </summary>
        [DllImport("ICCInter_HZ.dll", EntryPoint = "ICC_Transaction", SetLastError = false)]
        public static extern int ICC_Transaction(int TransNum, string DataIn, StringBuilder DataOut);

        /// <summary>
        /// 电子凭证医保信息获取(根据二维码ID获取凭证令牌)
        /// </summary>
        [DllImport("ICCInter_HZ.dll", EntryPoint = "ICC_GetDZPZ_Info", SetLastError = false)]
        public static extern int ICC_GetDZPZ_Info(string DataIn, StringBuilder DataOut);

    }

二,测试获取动态库版本

            //获取动态库版本
            StringBuilder dataOutVer = new StringBuilder(4096);
            GetVer(dataOutVer);
            Console.WriteLine("读取动态库版本:" + dataOutVer.ToString());

三,用1125交易,根据二维码获取二维码ID

 

//解析手机二维码,获取二维码ID
            int TransNum = 1125;
            string dataIn = "";
            StringBuilder dataOut = new StringBuilder(4096);
            int n = ICC_Transaction(TransNum, dataIn, dataOut);
            Console.WriteLine(n);
            Console.WriteLine("根据二维码读取二维码的ID:" + dataOut.ToString());//提取字符串
            string codeID = PT.common.SearchHtml.Get_DZPZ_ID(dataOut.ToString());
            Console.WriteLine("提取二维码的ID:" + codeID);

四,用ICC_GetDZPZ_Info函数,根据二维码ID读取国家电子凭证令牌。

//二维码ID读取电子凭证令牌
            string myid = codeID;
            StringBuilder dataOutL = new StringBuilder(4096);
            n = ICC_GetDZPZ_Info(myid, dataOutL);
            Console.WriteLine(n);
            Console.WriteLine("国家电子凭证令牌:" + dataOutL.ToString());

            //提取字符串
            string DZPZ_ID = PT.common.SearchHtml.Get_DZPZ(dataOutL.ToString());
            Console.WriteLine("提取国家电子凭证令牌:" + DZPZ_ID);

 

标签:凭证,ICC,StringBuilder,医保,ID,二维码,WriteLine,调取
来源: https://www.cnblogs.com/yisheng163/p/15881831.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有