JeffreySu / WeiXinMPSDK

微信全平台 .NET SDK, Senparc.Weixin for C#,支持 .NET Framework 及 .NET Core、.NET 8.0。已支持微信公众号、小程序、小游戏、微信支付、企业微信/企业号、开放平台、JSSDK、微信周边等全平台。 WeChat SDK for C#.
https://weixin.senparc.com
Apache License 2.0
8.46k stars 4.35k forks source link

微信公众号生成卡券二维码接口缺少领取场景值(字符串) #1659

Open chinanhb opened 5 years ago

chinanhb commented 5 years ago

( 此版块专为反馈bug及提交需求服务,不负责解答开发问题,请勿发表开发问题, 如果您需要这方面的帮助,请移步问答社区https://weixin.senparc.com/QA )

问题描述

微信公众号生成一张卡券二维码缺少领取场景值(字符串),目前的SDK有outer_id,没有outer_str, 问题在两个方法里面需要修改分别是 WeiXinMPSDK/src/Senparc.Weixin.MP/Senparc.Weixin.MP/AdvancedAPIs/Card/CardAPI.cs CreateQR和CreateMultipleCardQR

重现问题步骤(如果可以)

public static CreateQRResultJson CreateQR(string accessTokenOrAppId, string cardId,string code = null, string openId = null, string expireSeconds = #null, bool isUniqueCode = false, string outer_id = null, string outer_str=null, int timeOut = Config.TIME_OUT) { return ApiHandlerWapper.TryCommonApi(accessToken => { var urlFormat = string.Format(Config.ApiMpHost + "/card/qrcode/create?access_token={0}", accessToken.AsUrlData());

            var data = new
            {
                action_name = "QR_CARD",
                expire_seconds = expireSeconds,
                action_info = new
                {
                    card = new
                    {
                        card_id = cardId,
                        code = code,
                        openid = openId,
                        //expire_seconds = expireSeconds,
                        is_unique_code = false,
                        //balance = balance,
                        outer_id = outer_id,
                        outer_str=outer_str
                    }
                }
            };

            //var jsonSettingne = new JsonSetting(true);

            var jsonSetting = new JsonSetting(true, null,
                                  new List<Type>()
                                  {
                                        //typeof (Modify_Msg_Operation),
                                        //typeof (CardCreateInfo),
                                        data.action_info.card.GetType()//过滤Modify_Msg_Operation主要起作用的是这个
                                  });

            return CommonJsonSend.Send<CreateQRResultJson>(null, urlFormat, data, timeOut: timeOut, jsonSetting: jsonSetting);

        }, accessTokenOrAppId);
    }
微信官方文档 URL

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1451025062

微信官方文档快照(直接复制关键内容到下方)

{ "action_name": "QR_CARD", "expire_seconds": 1800, "action_info": { "card": { "card_id": "pFS7Fjg8kV1IdDz01r4SQwMkuCKc", "code": "198374613512", "openid": "oFS7Fjl0WsZ9AMZqrI80nbIq8xrA", "is_unique_code": false , "outer_str":"12b" } } }

发现问题的模块
模块对应的 .net 版本
开发环境
缓存环境
联系方式

Email:

(也可将问题地址及联系方式发送到 www.jeffrey.su@gmail.com)

发布问题后,请保持对 issue 的关注,有时会有需要进一步沟通的信息,很长时间内没有得到答复的 issue 将被关闭。

JeffreySu commented 5 years ago

已列入计划,因为还有其他修改计划,欢迎先PR过来 😄