微信分享简单代码块

import { getWxShareConfig } from '@/apis/common';
import { isWxClient } from '@/assets/js/utils';
export default {
  mounted () {
  },
  methods: {
    /**
     *
     * @param {*} config 参数
     * @param config.title
     * @param config.desc
     * @param config.link
     * @param config.imgUrl
     */
    async initWeChatHandle ({ title, desc, shareLink, imgUrl }) {
      link = location.href; // 获取签名的链接一定是当前页面的链接
      if (!isWxClient()) {
        return;
      }
      const signObjResp = await this.$axios.post(getWxShareConfig, {
        url: link
      });
      let signObj;
      if (signObjResp.data.code === 200) {
        signObj = signObjResp.data.data;
      }
      if (!signObj) {
        return;
      }
      // 引入npm包
      this.wx = require('jweixin-module');
      this.wx.config({
        // debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
        appId: signObj.appId, // 必填,公众号的唯一标识
        timestamp: signObj.timestamp, // 必填,生成签名的时间戳
        nonceStr: signObj.nonceStr, // 必填,生成签名的随机串
        signature: signObj.signature, // 必填,签名
        jsApiList: [
          'onMenuShareTimeline',
          'onMenuShareAppMessage',
          // "hideMenuItems",
          // "showMenuItems",
          // "getLocation",
          'updateAppMessageShareData',
          'updateTimelineShareData'
        ] // 必填,需要使用的JS接口列表
      });
      this.wx.ready(() => {
        // TODO
        this.setWechatShareText({
          title,
          desc,
          link:shareLink || 'www.baidu.com', // 分享的链接可以自定义
          imgUrl
        });
      });
    },
    setWechatShareText (shareData, notifFn) {
      this.wx.updateAppMessageShareData({
        title: shareData.title, // 分享标题
        desc: shareData.desc, // 分享描述 desc
        link: shareData.link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
        imgUrl: shareData.imgUrl, // 分享图标
        success () {
          console.log('here is true');
          // 设置成功
          if (notifFn) {
            notifFn();
          }
        },
        error (err) {
          console.log(err);
          // loaddingloadding.style.display = 'none'
        },
        fail (err) {
          console.log(err);
          // loaddingloadding.style.display = 'none'
        }
      });
      this.wx.updateTimelineShareData({
        title: shareData.title, // 分享标题
        desc: shareData.desc, // 分享描述
        link: shareData.link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
        imgUrl: shareData.imgUrl, // 分享图标
        success () {
          // 设置成功
          if (notifFn) {
            notifFn();
          }
        }
      });
    }
  }
};

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值