
// config信息验证失败会执行error函数,如签名过期引起验证成功,具体错误信息可以开启config的debug方式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
});
其实这五步中不仅流程三:通过config接口注入权限验证配置外,其他都很简单,笔者最近主要就是获取jsapi_ticket,这个是方法三种配置生成签名的必要条件。而要获得jsapi_ticket的前提是你得获得到access_token,我们来说说微信JSSDK说明文档里对他们是怎样定义的。

jsapi_ticket是公众号用于读取微信JS接口的临时票据。正常状况下微信接口调用次数限制,jsapi_ticket的有效期为7200秒,通过access_token来获得。由于获取jsapi_ticket的api调用数量比较有限,频繁刷新jsapi_ticket会导致api调用受限,影响自身业务,开发者必须在自己的服务全局缓存jsapi_ticket 。
access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的储存大约要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获得将造成这次获取的access_token失效。
如此看来,我们要想使用微信分享的功能以及微信js-sdk提供给我们的一些接口的用途就分为3步。

1.首先获得access_token并缓存到服务器,并定时进行刷新。
2.通过access_token获取jsapi_ticket并缓存到服务器端,定时进行刷新。
3.通过jsapi_ticket生成JS-SDK权限验证的签名。

这三步搞定了微信接口调用次数限制,微信才允许我们去调js接口供我们使用。以上三步需要我们对照开发文档写对应的sdk方式去获得access_token和jsapi_ticket以及权限验证的签名,大家可以结合源码对照开发文档去看一下,这三步的相关接口和代码源码前面都有这儿我就不再贴了。需要表明的是access_token和jsapi_ticket调用的频率以及多个同时调用会出难题,所以必须我们全局缓存这两个值,缓存时必须留意过期时间,如果在过期时间内就从缓存里面调用,否则的话再次去微信服务器上get一下对应的url获得access_token和jsapi_ticket然后放进缓存中,具体实现逻辑可以参考源码。
下面是源码和demo:


下面说下如何使用该接口,首先应该在你的web应用程序的Global.asax里面的Application_Start方法上面添加下面代码:
[C#] 纯文本查看 复制代码
protected void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
string appid = "";
string secret = "";
WeiXin.ConfigGlobalCredential(appid, secret);
//设置获取微信access_token缓存的设置和获取方法
WeiXin.ConfigAccessTokenCache((credential) =>
{
CacheHelper.Insert("wxAccessToken", credential.access_token, credential.expires_in / 60 - 1);
}, () =>
{
return CacheHelper.GetCache<string>("wxAccessToken");
});
//设置获取微信jsapiticket缓存的设置和获取方法
WeiXin.ConfigJsApiTicketCache(jsapiticket =>
{
CacheHelper.Insert("wxTicket", jsapiticket.ticket, jsapiticket.expires_in / 60 - 1);
}, () =>
{
return CacheHelper.GetCache<string>("wxTicket");
});
}
以上代码主要是在有效期内来缓存access_token和jsapiticket,避免重复调用,造成业务受限。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-123001-1.html
从这个角度上来说
萌萌哒