微信自定义分享链接

网站链接想转发给微信好友或者群聊,让自己的分享链接看上去比较正式,这时候就需要自定义了

我这以nuxt项目为例,其他类型的项目大同小异稍微改改即可,第一次写可能会碰到很多坑,所以在这分享给大家~

1、下载官方weixin-js-sdk

npm install weixin-js-sdk

2、在nuxt目录下的plugins新建wx-share.js文件

import Vue from 'vue'
import wx from 'weixin-js-sdk'
Vue.prototype.$wechat = wx

export default ({ app, $axios, store }) => {
  // 这个url必须传当前页面的url,不然会一直报签名失效
  Vue.prototype.wxShare = function (shareData, url) {
    // 获取微信公众号签名数据
    $axios.post('/api/wx/base/signature', { url }).then(({ data }) => {
      const wxData = data.data
      // 注意接口返回字段大小写正确
      this.$wechat.config({
        debug: false,
        appId: wxData.appId,
        timestamp: wxData.timestamp,
        nonceStr: wxData.noncestr,
        signature: wxData.signature,
        jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData']
      })
      this.$wechat.ready(() => {
        // 自定义“分享给朋友”及“分享到QQ”按钮的分享内容(1.4.0)
        this.$wechat.updateAppMessageShareData({
          title: shareData.title,
          desc: shareData.desc,
          link: shareData.link,
          imgUrl: shareData.imgUrl,
          success () {
          },
          cancel () {
          }
        })
        // 自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容(1.4.0)
        this.$wechat.updateTimelineShareData({
          title: shareData.title,
          desc: shareData.desc,
          link: shareData.link,
          imgUrl: shareData.imgUrl,
          success () {
          },
          cancel () {
          }
        })
      })
    })
  }
}

3、在nuxt.config.js注册插件

export default {
    plugins: [
        { src: '@/plugins/wx-share.js', ssr: false }
    ]
}

4、在当前分享页面中使用

mounted () {
    this.wxShare({
      title: '网站标题~',
      desc: '网站描述~',
      link: window.location.href, 
      imgUrl: 'https://img/xxxxx/20230310183910.png'
    }, window.location.href)
}

5、关于调试

请用微信开发者工具调试,才能看到js-weixin-sdk抛出的错误

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值