Пример #1
0
        /// <summary>
        /// 生成二维码并展示到页面上
        /// </summary>
        /// <param name="precreateResult">二维码串</param>
        private void DoWaitProcess(AlipayF2FPrecreateResult precreateResult)
        {
            //打印出 preResponse.QrCode 对应的条码
            Bitmap        bt;
            string        enCodeString  = precreateResult.response.QrCode;
            QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();

            qrCodeEncoder.QRCodeEncodeMode   = QRCodeEncoder.ENCODE_MODE.BYTE;
            qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;
            qrCodeEncoder.QRCodeScale        = 3;
            qrCodeEncoder.QRCodeVersion      = 8;
            bt = qrCodeEncoder.Encode(enCodeString, Encoding.UTF8);

            string filename = System.DateTime.Now.ToString("yyyyMMddHHmmss") + "0000" + (new Random()).Next(1, 10000).ToString() + ".jpg";
            string vPath    = string.Format("/Images/QrCode/AliPay/{0}/{1}", DateTime.Now.ToString("yyyy-MM-dd"), filename);
            string pPath    = WebFunctions.MapServerResourcePath(vPath);

            WebFunctions.CreateDirectory(pPath);

            bt.Save(pPath);

            var relativelyPath = WebFunctions.ResourceMapRoot + vPath;

            qrCodeUrl = WebFunctions.ToAbsoluteResourceUrl(relativelyPath.TrimStart('~'));

            //轮询订单结果
            //根据业务需要,选择是否新起线程进行轮询
            //ParameterizedThreadStart ParStart = new ParameterizedThreadStart(LoopQuery);
            //Thread myThread = new Thread(ParStart);
            //object o = precreateResult.response.OutTradeNo;
            //myThread.Start(o);
        }
Пример #2
0
        /// <summary>
        /// 生成二维码并展示到页面上
        /// </summary>
        private void DoWaitProcess(WxPayData result)
        {
            string url = result.GetValue("code_url").ToString(); //获得统一下单接口返回的二维码链接
                                                                 //初始化二维码生成工具
            QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();

            qrCodeEncoder.QRCodeEncodeMode   = QRCodeEncoder.ENCODE_MODE.BYTE;
            qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
            qrCodeEncoder.QRCodeVersion      = 0;
            qrCodeEncoder.QRCodeScale        = 4;

            //将字符串生成二维码图片
            Bitmap bt = qrCodeEncoder.Encode(url, Encoding.Default);

            string filename = System.DateTime.Now.ToString("yyyyMMddHHmmss") + "0000" + (new Random()).Next(1, 10000).ToString() + ".jpg";
            string vPath    = string.Format("/Images/QrCode/WxPay/{0}/{1}", DateTime.Now.ToString("yyyy-MM-dd"), filename);
            string pPath    = WebFunctions.MapServerResourcePath(vPath);

            WebFunctions.CreateDirectory(pPath);

            bt.Save(pPath);

            var relativelyPath = WebFunctions.ResourceMapRoot + vPath;

            qrCodeUrl = WebFunctions.ToAbsoluteResourceUrl(relativelyPath.TrimStart('~'));

            //轮询订单结果
            //根据业务需要,选择是否新起线程进行轮询
        }