微信jsapi簽名,
1,先登錄微信公眾平台進入“公眾號設置”的“功能設置”里填寫“JS接口安全域名”。這個安全域名不用寫到指定的頁面,寫個大概的范圍就行,寫到1級或者2級
2,引入jsapi ,jsapi分為兩種,一種是http請求的,另一種是https的
http://res.wx.qq.com/open/js/jweixin-1.0.0.js --http的
https://res.wx.qq.com/open/js/jweixin-1.0.0.js --這個是https的
3,寫入js
這是微信給的例子,自習看一下給的寫的注釋,頭三個我們都能很容易的得到,但是第四個簽名不是很容易,要繞個丸子
wx.config({ debug: true, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。 appId: '', // 必填,公眾號的唯一標識 timestamp: , // 必填,生成簽名的時間戳 nonceStr: '', // 必填,生成簽名的隨機串 signature: '',// 必填,簽名,見附錄1 jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2 });
4,接下來我們看一下簽名規則
簽名算法
簽名生成規則如下:
參與簽名的字段包括noncestr(隨機字符串), 有效的jsapi_ticket, timestamp(時間戳), url(當前網頁的URL,不包含#及其后面部分) 。對所有待簽名參數按照字段名的ASCII 碼從小到大排序(字典序)后,使用URL鍵值對的格式(即key1=value1&key2=value2…)拼接成字符串string1。這里需要注意的是所有參數名均為小寫字符。對string1作sha1加密,字段名和字段值都采用原始值,不進行URL 轉義。
----------------jsapi_ticket
這里面有個jsapi_ticket 這個很尷尬,需要我們自己去請求 微信,請求路徑如下
string uri = string.Format(@"https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={0}&type=jsapi ", ReturnAccess_token());
ReturnAccess_token(),這個是我獲取TOKEN的方法,
用這個連接去Get訪問微信,就可以獲取到JSAPI_TICKET了
---------------URL
簽名里有一項是URL就是我們當前使用的的頁面
接下來就是生成簽名了,我是用的MVC做的,所以接下來給大家用MVC做演示
----------直接貼,生成簽名的代碼,可是代碼太亂,直接上圖,大家注意簽名最后要使用 ToLower我忘寫了....
這個方法返回的是一個鍵值對,我將鍵值對直接存到ViewData中,在頁面直接使用,接着上圖
OK 已經講完了
如果你覺得好那就請加我的QQ群
ASP.NET鷹組 460845632