• vue页面分享微信朋友圈


    个人博客地址

    微信官方文档

    注:1.web的分享只能通过微信右上角自带的三个点分享,只有app才能实现自定义按钮的分享。

    步骤:

    1.安装 :npm i -S weixin-js-sdk

    2.新建js导入

    import wx from ‘weixin-js-sdk’ //微信sdk依赖

    3.js文件

    import wx from 'weixin-js-sdk'			//微信sdk依赖
    import axios from 'axios';    // 引用全局
    
    //要用到微信API
    function getJSSDK (url, dataForWeixin) {
      // 调用后台接口换取参数
      axios({
        url: "/news-serve/admin/wx-index/share",// 需要改成自己对应的接口
        params: {
          url: url
        }
      }).then(res => {
        wx.config({
          debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
          appId: res.data.data.appId, // 必填,公众号的唯一标识
          timestamp: res.data.data.timestamp, // 必填,生成签名的时间戳
          nonceStr: res.data.data.nonceStr, // 必填,生成签名的随机串
          signature: res.data.data.signature, // 必填,签名
          // jsApiList: jsApiList // 必填,需要使用的JS接口列表
          jsApiList: [ //需要调用的JS接口列表
            'updateAppMessageShareData', //自定义“分享给朋友”及“分享到QQ”按钮的分享内容(1.4.0) 新接口
            'updateTimelineShareData', //自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容(1.4.0) 老接口
            // 'getLocation'  //获取定位
          ]
        })
        wx.ready(function () {      //需在用户可能点击分享按钮前就先调用
          wx.updateTimelineShareData({
            title: dataForWeixin.title,
            desc: dataForWeixin.desc,
            link: dataForWeixin.linkurl,
            imgUrl: dataForWeixin.img,
            trigger: function trigger (result) { },
            success: function success (result) {
              //console.log('已分享');
            },
            cancel: function cancel (result) {
              //console.log('已取消');
            },
            fail: function fail (result) {
              //alert(JSON.stringify(result));
            }
          });
          wx.updateAppMessageShareData({
            title: dataForWeixin.title,
            desc: dataForWeixin.desc,
            link: dataForWeixin.linkurl,
            imgUrl: dataForWeixin.img,
            trigger: function trigger (result) { },
            success: function success (result) {
              //console.log('已分享');
            },
            cancel: function cancel (result) {
              //console.log('已取消');
            },
            fail: function fail (result) {
              //alert(JSON.stringify(result));
            }
          });
        });
        wx.error(function (result) {
          // alert(JSON.stringify(res)+"微信验证失败");
        });
      })
    }
    
    export default {
      // 获取JSSDK
      getJSSDK: getJSSDK
    }
    
    1. 页面中引用 (在页面信息请求回来时调用这个share()方法,加载微信配置)
    import weiXinShare from "../util/shareWx"
    
    /**
     * @Description: 分享朋友圈
     * @date 2021/1/25
     */
    share (title, desc, img) {
      // 分享朋友圈
      var ip1 = location.href.split("#")[0];
      let dataForWeixin = {
        title: title, //分享标题
        desc: desc, //分享内容
        linkurl: location.href, //分享链接
        img: img //分享内容显示的图片(图片必须是正方形的链接)
      };
      weiXinShare.getJSSDK(ip1, dataForWeixin);
    }
    
    _this.share(_this.options.title,_this.options.content.replace(/<[^>]+>/g,''),_this.options.img);
    
    1. 效果:

    sLQU0I.png

    By xionghaizhi
  • 相关阅读:
    浅谈if __name__='__main__'
    python打开文件方式
    关于ValueError: not enough values to unpack (expected 4, got 1)
    一篇文章让你搞懂this
    Cannot read property 'addEventListener' of null报错的解决办法
    看JS操作符中二进制补码
    js的原型和原型链理解
    你不知道的js中对象,数组互相转换
    浅谈js中a+++a与a+a++值区别
    Integer跟int的区别
  • 原文地址:https://www.cnblogs.com/xionghaizhi/p/14381835.html
Copyright © 2020-2023  润新知