获取微信Ticket接口


public static class JssdkTicketApi
{
private static object locker = new object();
private static Dictionary<string, DateTime> expiresDic = new Dictionary<string, DateTime>();
private static Dictionary<string, string> ticketDic = new Dictionary<string, string>();

/// <summary>
/// 获得Ticket
/// </summary>
/// <returns></returns>
public static string GetJssdkTicket(string appid, string secret)
{
//异步加锁
lock (locker)
{
DateTime now = DateTime.Now;
//获得过期时间
DateTime expires = expiresDic.ContainsKey(appid) ? expiresDic[appid] : now;
double span = (now - expires).TotalSeconds;

//如果ticket不存在,或者超过7000秒,则重新获取token
if (!ticketDic.ContainsKey(appid) || span > 7000)
{
string access_token = TokenApi.GetToken(appid, secret);
//DbHelperSQL.ExecuteSql("insert into test (content) values ('" + access_token + "')");
string ticketUrl = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=" + access_token;
string json = Utilities.HttpHelper.GetJson(ticketUrl);
JssdkTicket jssdkTicket = Utilities.JsonHelper.JsonToObject<JssdkTicket>(json);

//缓存token
ticketDic.Remove(appid);
ticketDic.Add(appid, jssdkTicket.ticket);

//过期时间
expiresDic.Remove(appid);
expiresDic[appid] = DateTime.Now;
}
return ticketDic[appid];
}
}
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM