/// <summary> /// 第一种方式:创建卡券二维码图片进行投放 /// </summary> /// <param name="appId">公众号appID</param> /// <param name="appSecret">公众号appSecret</param> /// <param name="cardId">卡券id</param> /// <param name="openId">指定领取者的openid,只有该用户能领取。bind_openid字段为true的卡券必须填写,非指定openid不必填写</param> /// <param name="code">卡券Code码,use_custom_code字段为true的卡券必须填写,非自定义code不必填写</param> /// <param name="isNeverExpires">是否绝不过期,True:是;False:会过期</param> /// <param name="validTime">当isNeverExpires为False时需要指定有效时间</param> /// <returns>二维码图片</returns> public static string ShowCardQrcode(string appId, string appSecret, string cardId, string openId = "", string code = "", bool isNeverExpires = true, int validTime = 1800) { if (validTime < 60 || validTime > 1800) { validTime = 1800; } string url = string.Format("https://api.weixin.qq.com/card/qrcode/create?access_token={0}", AccessToken.GetToken(appId, appSecret)); var result = new ResultModels.CardQrcodeResult(); if (isNeverExpires) { var obj = new { action_name = "QR_CARD", action_info = new { card = new { card_id = cardId, code = code, openid = openId, is_unique_code = false, outer_id = 1 } } }; result = WechatWebClient.Post <ResultModels.CardQrcodeResult>(url, JsonConvert.SerializeObject(obj)); } else { var obj = new { action_name = "QR_CARD", expire_seconds = validTime, action_info = new { card = new { card_id = cardId, code = code, openid = openId, is_unique_code = false, outer_id = 1 } } }; result = WechatWebClient.Post <ResultModels.CardQrcodeResult>(url, JsonConvert.SerializeObject(obj)); } return(string.Format("https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket={0}", Uri.EscapeDataString(result.ticket))); }
/// <summary> /// 第一种方式:创建卡券二维码图片进行投放 /// </summary> /// <param name="appId">公众号appID</param> /// <param name="appSecret">公众号appSecret</param> /// <param name="cardId">卡券id</param> /// <param name="openId">指定领取者的openid,只有该用户能领取。bind_openid字段为true的卡券必须填写,非指定openid不必填写</param> /// <param name="code">卡券Code码,use_custom_code字段为true的卡券必须填写,非自定义code不必填写</param> /// <param name="isNeverExpires">是否绝不过期,True:是;False:会过期</param> /// <param name="validTime">当isNeverExpires为False时需要指定有效时间</param> /// <returns>二维码图片</returns> public static string ShowCardQrcode(string appId, string appSecret, string cardId, string openId = "", string code = "", bool isNeverExpires = true, int validTime = 1800) { if (validTime < 60 || validTime > 1800) validTime = 1800; string url = string.Format("https://api.weixin.qq.com/card/qrcode/create?access_token={0}", AccessToken.GetToken(appId, appSecret)); var result = new ResultModels.CardQrcodeResult(); if (isNeverExpires) { var obj = new { action_name = "QR_CARD", action_info = new { card = new { card_id = cardId, code = code, openid = openId, is_unique_code = false, outer_id = 1 } } }; result = WechatWebClient.Post<ResultModels.CardQrcodeResult>(url, JsonConvert.SerializeObject(obj)); } else { var obj = new { action_name = "QR_CARD", expire_seconds = validTime, action_info = new { card = new { card_id = cardId, code = code, openid = openId, is_unique_code = false, outer_id = 1 } } }; result = WechatWebClient.Post<ResultModels.CardQrcodeResult>(url, JsonConvert.SerializeObject(obj)); } return string.Format("https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket={0}", Uri.EscapeDataString(result.ticket)); }