Exemplo n.º 1
0
        public GetQRCodeTicketResultDto GetQRCodeTicket(string accessToken, QRCodePostDataDto qrCodePostDataDto)
        {
            var weiXinUrl = string.Format(WEIXIN_CREATE_QR_URL, accessToken);

            IHttpClient client      = ToolFactory.BLLIoc.Get <IHttpClient>();
            var         iJsonHelper = ToolFactory.CreateIJsonSerializeTool();
            var         postData    = iJsonHelper.SerializeToString(qrCodePostDataDto);
            var         postResult  = client.Post(weiXinUrl, postData);

            WeiXinHelper.IsFailureInvokeWeiXinAPIThrowException(postResult);
            var result = iJsonHelper.DeserializeFromString <GetQRCodeTicketResultDto>(postResult);

            return(result);
        }
Exemplo n.º 2
0
        public QRCodePostDataDto CreateQRCodePostDataDto(string accessToken, int?expireSeconds,
                                                         Entities.QRCodeEnum qrCodeEnum, int sceneId, string sceneStr)
        {
            var qrCodePostDataDto = new QRCodePostDataDto();

            IsExpireSecondsValid(expireSeconds).IfFailureThrowException();

            IsSceneIdValid(qrCodeEnum, sceneId).IfFailureThrowException();

            qrCodePostDataDto.action_name    = GetQRSceneEnumStr(qrCodeEnum);
            qrCodePostDataDto.expire_seconds = expireSeconds;
            if (qrCodeEnum == QRCodeEnum.Forever)
            {
                IsSceneStrValid(sceneStr).IfFailureThrowException();

                qrCodePostDataDto.action_info = new QRCodeActionInfo()
                {
                    scene = new ForeverScene()
                    {
                        scene_id  = sceneId,
                        scene_str = sceneStr
                    }
                };
            }
            else
            {
                qrCodePostDataDto.action_info = new QRCodeActionInfo()
                {
                    scene = new TemporaryScene()
                    {
                        scene_id = sceneId
                    }
                };
            }

            return(qrCodePostDataDto);
        }