vue-cli项目使用微信分享

本例是vue-cli构建项目下使用微信分享

一、index.html中引入微信官方分享js

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

 

二、在src下的assets/js文件夹下新建wx.jsapi.js文件,把分享做成公用方法

使用axios来发送请求,参照https://blog.csdn.net/web_xyk/article/details/79933024配置vue-cli项目的axios

代码:

import axios from 'axios'

export default {

    wxShowMenu: function() {

        axios.post('http://test.xyk.com/wxtest').then(function(res) {

            var getMsg = res.data.data;

            wx.config({

                debug: false, //生产环境需要关闭debug模式

                appId: getMsg.appId, //appId通过微信服务号后台查看

                timestamp: getMsg.timestamp, //生成签名的时间戳

                nonceStr: getMsg.nonceStr, //生成签名的随机字符串

                signature: getMsg.signature, //签名

                jsApiList: [ //需要调用的JS接口列表

                    'onMenuShareTimeline', //分享给好友

                    'onMenuShareAppMessage', //分享到朋友圈

                    'showMenuItems',

                    'hideMenuItems'

                ]

            });

            wx.ready(function() {

                wx.checkJsApi({

                    jsApiList: ["showMenuItems"],

                    success: function(res) {

                        wx.showMenuItems({

                            menuList: [

                                'menuItem:share:appMessage', //发送给朋友

                                'menuItem:share:timeline' //分享到朋友圈

                            ]

                        });

                    }

                });

                //分享到朋友圈

                wx.onMenuShareTimeline({

                    title: "分享描述", // 分享标题

                    desc: "分享描述", //分享描述

                    link: getMsg.shareLink, // 分享链接

                    imgUrl: getMsg.imgUrl // 分享图标

                });



                //分享给朋友

                wx.onMenuShareAppMessage({

                    title: "分享描述", // 分享标题

                    desc: "分享描述", // 分享描述

                    link: getMsg.shareLink, // 分享链接

                    imgUrl: getMsg.imgUrl // 分享图标

                });

            });

        })

    }

}

其中分享链接和图片地址要用绝对地址,图片用方形,大小至少200*200px以上

 

6月份新版微信客户端发布后,用户从微信内的网页分享消息给微信好友,以及分享到朋友圈,开发者将无法获知用户是否分享完成。所以不再写成功和失败的回调方法。查看具体公告

!!原有的 wx.onMenuShareTimeline、wx.onMenuShareAppMessage、wx.onMenuShareQQ、wx.onMenuShareQZone 接口,即将废弃。新的方法:

import axios from 'axios'

export default {

    wxShowMenu: function() {

        axios.post('http://test.xyk.com/wxtest').then(function(res) {

            var getMsg = res.data.data;

            wx.config({

                debug: false, //生产环境需要关闭debug模式

                appId: getMsg.appId, //appId通过微信服务号后台查看

                timestamp: getMsg.timestamp, //生成签名的时间戳

                nonceStr: getMsg.nonceStr, //生成签名的随机字符串

                signature: getMsg.signature, //签名

                jsApiList: [ //需要调用的JS接口列表

                    'onMenuShareTimeline', //分享给好友

                    'onMenuShareAppMessage', //分享到朋友圈

                    'showMenuItems',

                    'hideMenuItems'

                ]

            });

            wx.ready(function() {

                wx.checkJsApi({

                    jsApiList: ["showMenuItems"],

                    success: function(res) {

                        wx.showMenuItems({

                            menuList: [

                                'menuItem:share:appMessage', //发送给朋友

                                'menuItem:share:timeline' //分享到朋友圈

                            ]

                        });

                    }

                });

                //分享到朋友圈

                wx.updateTimelineShareData({

                    title: "分享描述", // 分享标题

                    desc: "分享描述", //分享描述

                    link: getMsg.shareLink, // 分享链接

                    imgUrl: getMsg.imgUrl // 分享图标

                });



                //分享给朋友

                wx.updateAppMessageShareData({

                    title: "分享描述", // 分享标题

                    desc: "分享描述", // 分享描述

                    link: getMsg.shareLink, // 分享链接

                    imgUrl: getMsg.imgUrl // 分享图标

                });

            });

        })

    }

}

三、main.js中引入并挂在vue的原型上

代码:
import WXConfig from './assets/js/wx.jsapi' // 微信分享
Vue.prototype.WXConfig = WXConfig;

 

四、使用

代码:
this.WXConfig.wxShowMenu();

 

 

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值