前端JSSDK自定義分享

2021-10-19 07:27:09 字數 2285 閱讀 1702

直接上**

官方文件:

注:實現此功能需要後台道友的配合;

注:官方明確給出說明:(出於安全考慮,開發者必須在伺服器端實現簽名的邏輯。)說三遍!

注:官方明確給出說明:(出於安全考慮,開發者必須在伺服器端實現簽名的邏輯。)說三遍!

注:官方明確給出說明:(出於安全考慮,開發者必須在伺服器端實現簽名的邏輯。)說三遍!

![在這裡插入描述](

<

!--引入jssdk

-->

"">

<

/script>

let temphref = window.location.href;

// 當前網頁的url

let temphash = window.location.hash;

// 獲取url #及其後面部分

let tempurl = temphref.

replace

(temphash,'')

;// 獲取不包含#及其後面部分的url

let=

'***'

;// 訪問後台道友的介面獲取簽名等資訊 timestamp noncestr signature

/script>

☆ 注意事項
1. 簽名用的noncestr和timestamp必須與wx.config中的noncestr和timestamp相同。

2. timestamp時間戳控制到秒級別 10位

3. 簽名用的url必須是呼叫js介面頁面的完整url。

4. 出於安全考慮,開發者必須在伺服器端實現簽名的邏輯。

jsapi_ticket

參考以下文件獲取access_token(有效期7200秒,開發者必須在自己的服務全域性快取access_token):

傳送門: 公眾平台的api呼叫所需的access_token的使用及生成方式說明.

用第一步拿到的access_token 採用http get方式請求獲得jsapi_ticket(有效期7200秒,開發者必須在自己的服務全域性快取jsapi_ticket):

成功返回如下json:

獲得jsapi_ticket之後,就可以生成js-sdk許可權驗證的簽名了。

簽名演算法

簽名生成規則如下:參與簽名的字段包括noncestr(隨機字串), 有效的jsapi_ticket, timestamp(時間戳), url(當前網頁的url,不包含#及其後面部分) 。對所有待簽名引數按照欄位名的ascii 碼從小到大排序(字典序)後,使用url鍵值對的格式(即key1=value1&key2=value2…)拼接成字串string1。這裡需要注意的是所有引數名均為小寫字元。對string1作sha1加密,欄位名和字段值都採用原始值,不進行url 轉義。

即signature=sha1(string1)。 示例:

noncestr=wm3wzytpz0wzccnw

jsapi_ticket=sm4aovdwfpe4dxkxges8vmcpg**i4c3vm0p37wvucfvkvay_90u5h9nbslyy3-sl-hhtdfl2fzfy1aochkp7qg

timestamp=1414587457

url=

步驟1. 對所有待簽名引數按照欄位名的ascii 碼從小到大排序(字典序)後,使用url鍵值對的格式(即key1=value1&key2=value2…)拼接成字串string1:

jsapi_ticket=sm4aovdwfpe4dxkxges8vmcpg**i4c3vm0p37wvucfvkvay_90u5h9nbslyy3-sl-hhtdfl2fzfy1aochkp7qg&noncestr=wm3wzytpz0wzccnw×tamp=1414587457&url=
步驟2. 對string1進行sha1簽名,得到signature:

0f9de62fce790f9a083d5c99e95740ceb90c27ed

微信JSSDK 前端 自定義分享

檢視官方文件可見主要步驟為 步驟一 繫結網域名稱 如需要呼叫jssdk的鏈結為,則應該配置的js安全網域名稱為abc.what.com src script wx.config jssdk中config的資訊可以通過ajax 獲取 前端完整 const url window.location.hre...

JSSDK微信自定義分享朋友圈

一 分享功能 二 使用條件 2 有乙個備案網域名稱 步驟一 繫結網域名稱 備註 登入後可在 開發者中心 檢視對應的介面許可權。步驟二 引入js檔案 在需要呼叫js介面的頁面引入如下js檔案,支援https 請注意,如果你的頁面啟用了https,務必引入 否則將無法在ios9.0以上系統中成功使用js...

JSSDK微信自定義分享朋友圈

一 分享功能 二 使用條件 2 有乙個備案網域名稱 步驟一 繫結網域名稱 備註 登入後可在 開發者中心 檢視對應的介面許可權。步驟二 引入js檔案 在需要呼叫js介面的頁面引入如下js檔案,支援https 請注意,如果你的頁面啟用了https,務必引入 否則將無法在ios9.0以上系統中成功使用js...