QiFeng.ZWY.Bll/WxInterfaceFunc/WxInterQrCodeFunc.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Globalization;
using System.Net;
using System.Web;
using QiFeng.LMSD.Model;
using QiFeng.LMSD.Model.WeChat;
using QiFeng.LMSD.Utility;
using Newtonsoft.Json;
using QiFeng.LMSD.Model.Wechat;
namespace QiFeng.LMSD.Bll.WxInterfaceFunc
{
/// <summary>
/// 微信二维码接口类
/// </summary>
public class WxInterQrCodeFunc : BaseWxInterFunc
{
#region 获取带参数的二维码图片
/// <summary>
/// 获取Ticket
/// </summary>
/// <param name="sceneId">场景值ID,临时二维码时为32位非0整型,永久二维码时最大值为100000(目前参数只支持1--100000)</param>
/// <param name="accessToken"></param>
/// <returns></returns>
private QrTicket CreateQrCode(long sceneId, string accessToken)
{
//创建获取QrCode的Ticket Url 需要Format 0 access_token
const string weiXinTicketCreateUrl = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token={0}";
// 获取二维码 所需Ticket 需要上传的Json字符串(需要Format 0.scene_id)
// scene_id场景值ID 永久二维码时最大值为100000(目前参数只支持1--100000)
const string weiXinQrCodeTicketCreateJsonString =
"{\"action_name\": \"QR_LIMIT_SCENE\", \"action_info\": {\"scene\": {\"scene_id\":{0}}}}";
if (string.IsNullOrEmpty(accessToken))
throw new WxErrorMsgException("Access Token Error", WxErrorMsgExceptionType.WxErrorException);
var url = string.Format(weiXinTicketCreateUrl, accessToken);
var postData = weiXinQrCodeTicketCreateJsonString.Replace("{0}", sceneId.ToString(CultureInfo.InvariantCulture));
var result = HttpClientHelper.PostResponse(url, postData);//请求
if (result.Contains("\"ticket\":") && result.Contains("\"url\":"))
{
var ticket = JsonConvert.DeserializeObject<QrTicket>(result); //HttpClientHelper.PostResponse<Ticket>(url, postData);
if (ticket == null || string.IsNullOrEmpty(ticket.Ticket) || string.IsNullOrEmpty(ticket.Url))
{
return null;
}
return ticket;
}
if (result.Contains("\"errcode\":") && result.Contains("\"errmsg\":"))
{
if (result.Contains("40001") || result.Contains("40014") || result.Contains("42001"))
{
var errTicket = new QrTicket {ErrorMsg = result};
return errTicket;
}
throw new WxErrorMsgException(result, WxErrorMsgExceptionType.WxErrorException);
后面还有 49 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。