本文目錄一覽:
微信開發者 jssdk怎麼使用
、先登錄微信公眾平台進入“公眾號設置”的“功能設置”里填寫“JS接口安全域名”。
備註:登錄後可在“開發者中心”查看對應的接口權限。
2、頁面引入JS:
3、所有需要使用JS-SDK的頁面必須先注入配置信息
wx.config({
debug: true, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。
appId: ”, // 必填,公眾號的唯一標識
timestamp: , // 必填,生成簽名的時間戳
nonceStr: ”, // 必填,生成簽名的隨機串
signature: ”,// 必填,簽名,見附錄1
jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
});
4、簽名算法
生成簽名之前必須先了解一下jsapi_ticket,jsapi_ticket是公眾號用於調用微信JS接口的臨時票據。正常情況下,jsapi_ticket的有效期為7200秒,通過access_token來獲取。由於獲取jsapi_ticket的api調用次數非常有限,頻繁刷新jsapi_ticket會導致api調用受限,影響自身業務,開發者必須在自己的服務全局緩存jsapi_ticket 。
微信JSSDK 分享接口,調用沒反應怎麼辦?
你在wx.config時,打開調試模式,自己測試測試,在調試模式下,都會alert信息出來,看看alert出來的是什麼信息。
具體解決步驟如下:
1、登錄你的微信平台,點擊“公眾號設置”。
2、點擊“功能設置”,然後點擊“設置”。
3、設置JS接口安全域名。這裡填寫的是一級域名,不帶www和http。最多可以設置三個域名。設置完後點擊確定。
4、在開發者中心中獲取你的AppID和AppSecret,接下來在獲取令牌時,需要這兩個信息。
5、獲取令牌。
6、獲取jsapi的ticket。
7、簽名,將jsapi_ticket、noncestr、timestamp、分享的url按字母順序連接起來,進行sha1簽名。
uniapp中調用微信jssdk
1、安裝
“`
npm install jweixin-module –save
“`
2、創建文件share.wx.js
“`
// 引入微信jssdk
const jweixin = require(‘jweixin-module’)
const install = (Vue, vm) = {
// shareInfo: {
// title: ‘標題’,
// desc: ‘描述’,
// link: location.origin,
// imgUrl: ”
// }
const init = (shareInfo = {}) = {
// 獲取微信jssdk,用於分享
vm.$u.api.getWxjssdk({
url: location.href
}).then(res = {
res = res.data
vm.$u.vuex(‘vuex_wxjssdk’, res)
console.log(res)
jweixin.config({
debug: res.debug, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。
appId: res.appId, // 必填,公眾號的唯一標識
timestamp: res.timestamp, // 必填,生成簽名的時間戳
nonceStr: res.nonceStr, // 必填,生成簽名的隨機串
signature: res.signature, // 必填,簽名
jsApiList: res.jsApiList // 必填,需要使用的JS接口列表
});
jweixin.ready(() = {
console.log(shareInfo.title)
// 分享給朋友
jweixin.updateAppMessageShareData({
title: shareInfo.title,
desc: shareInfo.desc,
link: shareInfo.link,
imgUrl: shareInfo.imgUrl,
success: () = {
// 設置成功
}
})
// 分享到朋友圈
jweixin.updateTimelineShareData({
title: shareInfo.title,
link: shareInfo.link,
imgUrl: shareInfo.imgUrl,
success: () = {
// 設置成功
}
})
// 分享到朋友圈
jweixin.onMenuShareTimeline({
title: shareInfo.title,
link: shareInfo.link,
imgUrl: shareInfo.imgUrl,
success: () = {
}
})
// 分享給朋友
jweixin.onMenuShareAppMessage({
title: shareInfo.title,
desc: shareInfo.desc,
link: shareInfo.link,
imgUrl: shareInfo.imgUrl,
success: () = {
}
})
});
jweixin.error(function(res) {
// config信息驗證失敗會執行error函數,如簽名過期導致驗證失敗,具體錯誤信息可以打開config的debug模式查看,也可以在返回的res參數中查看,對於SPA可以在這裡更新簽名。
console.log(res)
});
})
};
// 將各個定義的接口名稱,統一放進對象掛載到vm.$u.api(因為vm就是this,也即this.$u.api)下
vm.$u.share = {
init
};
}
export default {
install
}
“`
3、main.js app.$mount() 上面加入
“`
// 微信jssdk初始化
import wxshare from ‘@/common/share.wx.js’
Vue.use(wxshare, app)
“`
4、調用
“`
this.$u.share.init({
title: ‘標題’,
desc: ‘描述’,
link: location.origin,
imgUrl: ‘分享圖片地址’
})
“`
微信朋友圈JSSDK分享自定義圖片文字
1、在微信公眾號添加安全域名(製作的H5頁面的主域名);
測試階段,本人是通過修改hosts文件,將對應域名解析為127.0.0.1 ; 然後將電腦和手機連接至同個局域網下。修改手機代理為電腦在局域網內的IP地址;這樣手機就能正常進行測試;
2、引入jssdk script src=”
3、配置jssdk,成功後方可使用相關功能,方式如下
wx.config({
debug: false, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。
appId: ‘XX’, // 必填,公眾號的唯一標識
timestamp: XX, // 必填,生成簽名的時間戳
nonceStr: xx, // 必填,生成簽名的隨機串
signature: xx, // 必填,簽名,見附錄1
jsApiList: [‘onMenuShareTimeline’,’onMenuShareAppMessage’] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
});
第一次接觸時看到網上的文章在此對signature沒有過多的說明,這裡我自己大概說一下,此參數是通過獲取公眾號的id及secret獲取 access _token,然後通過 access _token獲取jsapi_ticket,然後通過時間戳,隨機串,當前頁面url,通過sha1加密生成;(這裡做下說明,此步驟由後台處理後返回給前端即可);
剛接觸的時候領導認為純前端可實現,這。。。確實可以實現,這裡就不做過多說明了;至於要後端處理的原因大致為兩點1、公眾號id和secret在前端實現不安全 2、 access _token和jsapi_ticket每日有請求次數的限制,過期時間兩小時,所以需要後台在服務器緩存,每兩小時獲取一次;
4、wx.config配置正確即可通過wx.ready來調用相應功能
wx.ready(function() {
wx.onMenuShareTimeline({ //分享朋友圈
title: ‘X’, // 分享標題
link: window.location.href, // 分享鏈接
imgUrl: url, // 分享圖標
success: function() {
// 用戶確認分享後執行的回調函數
console.log(‘分享成功了喲喲喲’)
},
cancel: function() {
// 用戶取消分享後執行的回調函數
}
});
wx.onMenuShareAppMessage({ // 好友分享
title: ”, // 分享標題
desc: ”, // 分享描述
link: window.location.href, // 分享鏈接
imgUrl: ”, // 分享圖標
success: function () {
// 用戶確認分享後執行的回調函數
},
cancel: function () {
// 用戶取消分享後執行的回調函數
}
});
});
總結:其實對於前端要處理的很少,只要從後台獲取signature簽名,調用方法即可實現;具體可看官方文檔;首次接觸的小夥伴不要被嚇到,就是如此簡單;
原創文章,作者:KIAT,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/137309.html