第一步: 在NuGet 管理获取 Senparc.XXX 相关接口
第二步:在使用Senparc.Weixin SDK 或者 CO2NET,需要对扩展缓存策略进行注册。
参考:https://www.cnblogs.com/szw/p/9265828.html
a. 将Senparc.Weixin 升级到最新版本,我的是6.6.104.1
b.在g;obal.asas.cs 文件中的Application_Start() 方法没加入下面代码:
protected void Application_Start()
{
.....
var isGLobalDebug = true;//设置全局 Debug 状态
var senparcSetting = SenparcSetting.BuildFromWebConfig(isGLobalDebug);
var register = RegisterService.Start(senparcSetting).UseSenparcGlobal();//CO2NET全局注册,必须!
var isWeixinDebug = true;//设置微信 Debug 状态
var senparcWeixinSetting = SenparcWeixinSetting.BuildFromWebConfig(isWeixinDebug);
register.UseSenparcWeixin(senparcWeixinSetting, senparcSetting);////微信全局注册,必须
}
用到的using
using Senparc.CO2NET;
using Senparc.CO2NET.RegisterServices;
using Senparc.Weixin;
using Senparc.Weixin.Entities;
第三步:获取时间戳timestamp ,随机码nonceStr,jsapi_ticket,以及签名signature。
注意:
/*
* 获取微信公众号signature需要有三个参数:appId、appsecret、url
* url则是前台传过来的当前页面的地址值
*/
var timestamp = JSSDKHelper.GetTimestamp();
var nonceStr = JSSDKHelper.GetNoncestr();
string jsapi_ticket = JsApiTicketContainer.TryGetJsApiTicket(appId, appsecret);
string strurl = url;
var signature = JSSDKHelper.GetSignature(jsapi_ticket, nonceStr, timestamp, strurl);
验证生成的签名是否正确:
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign
参考及相关链接:
https://www.cnblogs.com/szw/p/3764267.html
https://blog.csdn.net/wang_97/article/details/91991954
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#62