123456789101112131415161718192021222324252627282930313233343536373839 |
- import Vue from 'vue'
- import { appId } from '@/config/js-config'
- import { shareSDK } from '@/api/userApi/share'
- // import SHA1 from 'crypto-js/sha1'
- const dev = process.env.NODE_ENV
- Vue.prototype.$wxReady = async (callback, shareUrl) => {
- try {
- // console.log('当前页面地址:', url)
- // const nonceStr = Math.random()
- // const timestamp = Math.floor(Date.now() / 1000)
- const url = location.href
- console.log(shareUrl, location)
- const res = await shareSDK({ url: url, appId })
- const wx = window.wx
- if (!wx) return
- // const signature = SHA1(`jsapi_ticket=${res.ticket}&noncestr=${nonceStr}×tamp=${timestamp}&url=${encodeURIComponent(url)}`).toString()
- wx.config({
- debug: dev === 'development', // 开启调试模式,调用的所有 api 的返回值会在客户端 alert 出来,若要查看传入的参数,可以在 pc 端打开,参数信息会通过 log 打出,仅在 pc 端时才会打印。
- appId: 'wx91c4152b60ca91a3', // 必填,公众号的唯一标识
- timestamp: res.timestamp, // 必填,生成签名的时间戳
- nonceStr: res.noncestr, // 必填,生成签名的随机串
- signature: res.signature, // 必填,签名
- jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage'] // 必填,需要使用的 JS 接口列表
- })
- wx.ready(callback(wx))
- wx.error(function (error) {
- console.log(error)
- throw error
- })
- } catch (error) {
- if (dev === 'development') {
- console.warn('jssdk init error:' + error)
- } else {
- console.warn('jssdk init error')
- }
- }
- }
|