第一步: 在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