Vue开发微信公众号调用微信JS-SDK的分享接口(实现微信公众号分享功能)

  • Post author:
  • Post category:vue




描述

使用微信提供的分享功能,其实就是JSSDK使用,使用它提供的接口功能。

可以先看下微信公众号开发文档,上面介绍的很详细。提供了那些功能,怎么去使用。


https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#67



代码

在这里插入图片描述

绑定域名这个不需要说了。

引入js文件的话直接在Vue项目中找到index.html文件写上

<script src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>

通过config接口注入权限验证

// 注册微信权限,这个方法打开页面的时候就要调用,因为是分享接口。
getWxInfo() {
    /* 
        这里发起请求,获取签名,接口和返回的东西应该是你们自己的事了,我这里是用data接收
    */

    // 通过config接口注入权限验证配置
    wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
        appId: data.appId, // 必填,公众号的唯一标识
        timestamp: data.timestamp, // 必填,生成签名的时间戳
        nonceStr: data.nonceStr, // 必填,生成签名的随机串
        signature: data.signature, // 必填,签名
        jsApiList: [
                "updateAppMessageShareDatam",
                "onMenuShareAppMessage",
                "openLocation",
                "onMenuShareTimeline"
            ] // 必填,需要使用的JS接口列表
    });

    // 通过ready接口处理成功验证
    wx.ready(function() {
        //需在用户可能点击分享按钮前就先调用
        wx.error(function(res) {
            // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
            // console.log(res);
        })

        wx.onMenuShareAppMessage({
            title: title, // 分享标题
            desc: desc, // 分享描述
            link: newUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: img, // 分享图标
            type: "", // 分享类型,music、video或link,不填默认为link
            dataUrl: "", // 如果type是music或video,则要提供数据链接,默认为空
            success: function() {
                // 用户点击了分享后执行的回调函数
                // alert("分享成功");
            },
            cancel: function() {
                // 用户取消分享后执行的回调函数
                // alert("分享取消");
            }
        })

        wx.onMenuShareTimeline({
            title: title, // 分享标题
            link: newUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: img, // 分享图标
            success: function() {
                // 用户点击了分享后执行的回调函数
                // alert("分享成功");
            },
            cancel: function() {
                // 用户取消分享后执行的回调函数
                // alert("分享取消");
            }
        })
    })
}

主要是要注意前后顺序,嵌套关系。其实只要仔细研究官方文档就行了,大部分都是这些步骤。

个人水平有限,有问题欢迎大家留言指导,仅供学习和参考。

学海无涯!努力二字,共勉!



版权声明:本文为qq_37131884原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。