jssdk.js 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. import Vue from 'vue'
  2. import { appId, jsApiList } from '@/configs/jssdk'
  3. const dev = process.env.EVN
  4. Vue.prototype.$wxReady = async function (callback, apiList = []) {
  5. try {
  6. const url = window.location.href.split('#')[0]
  7. // console.log('当前页面地址:', url)
  8. const res = await Vue.prototype.$http.api.initWxConfig({ url, appId })
  9. console.log(res)
  10. const wx = window.wx
  11. if (!wx) return
  12. wx.config({
  13. debug: dev === 'development', // 开启调试模式,调用的所有 api 的返回值会在客户端 alert 出来,若要查看传入的参数,可以在 pc 端打开,参数信息会通过 log 打出,仅在 pc 端时才会打印。
  14. appId: appId, // 必填,公众号的唯一标识
  15. timestamp: res.data.timestamp, // 必填,生成签名的时间戳
  16. nonceStr: res.data.noncestr, // 必填,生成签名的随机串
  17. signature: res.data.signature, // 必填,签名
  18. jsApiList: [...jsApiList, ...apiList], // 必填,需要使用的 JS 接口列表
  19. })
  20. wx.ready(callback(wx))
  21. wx.fail(function (error) {
  22. throw error
  23. })
  24. } catch (error) {
  25. if (dev === 'development') {
  26. console.warn('jssdk init error:' + error.msg || error.message)
  27. } else {
  28. console.warn('jssdk init error')
  29. }
  30. }
  31. }