Vue微信公众号分享携带参数(页面重定向)

这个问题一直困扰了我好久,项目要求从微信里分享出去的页面携带邀请关系,查找了好多资料都没有具体的实现方案,这次我把我的方法分享给大家, 好东西要与大家分享

问题描述:微信在分享的时候不管我们从哪个页面分享出去,都会把我们携带的参数全部截取掉(避免诱导分享),当别人点击分享出去的页面时,通通 通通  通通进入到首页,这可不是我们想要的结果,在这里我们用另一种方法来实现它:  页面重定向

第一步: 微信分享

​
​
//公众号分享
export function commonShare (shareUrl,shareTitle,shareDesc,shareImg) {
    _http('url','GET',{
        url: shareUrl.split("#")[0]
    }).then((res)=> {
        if (res){
            wx.config({
                debug:false,
                appId:res.data.data.appId,
                timestamp:res.data.data.timestamp,
                nonceStr:res.data.data.nonceStr,
                signature:res.data.data.signature,
                jsApiList:['onMenuShareTimeline','onMenuShareAppMessage']
            });
            wx.ready(() => {
                //修改分享路径至redirect页面,将我们的当前页面座位参数传过去
                shareUrl = `${window.location.protocol}//${window.location.host}/redirect.html?redirectUrl=${encodeURIComponent(shareUrl)}`;
                //分享朋友圈
                wx.onMenuShareTimeline({
                    title:shareTitle,
                    desc:shareDesc,
                    link:shareUrl,
                    imgUrl:shareImg
                });
                //分享微信
                wx.onMenuShareAppMessage({
                    title:shareTitle,
                    desc:shareDesc,
                    link:shareUrl,
                    imgUrl:shareImg
                });
            })
        }
    })
};

​

​

第二步:和index.html并列创建一个redirect.html这个就是我们分享出去定向到的页面

这个页面只需加入以下代码,获取到们的目标页面路径,跳转到目标路径

 

​

    <script>
        (function () {
            let url = location.href.split('?')
            let pars = url[1].split('&')
            let data = {}
            pars.forEach((n, i) => {
                let p = n.split('=')
                data[p[0]] = p[1]
            })
            location.href = decodeURIComponent(data.redirectUrl)
        })();
    </script>

​

 

OK,大功告成,拿走不谢!!!

 

如果实现给个 赞 和 关注 哦!!!

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Vue是一种流行的JavaScript框架,用于构建用户界面。它被设计为响应式的,可以轻松地与其他库或现有项目集成。微信公众号是一个基于微信平台的应用程序,允许用户在微信中浏览和使用各种功能。 要在Vue中实现微信公众分享功能,你可以使用微信提供的JS-SDK。首先,你需要在微信公众平台上注册并获取到你的公众号的AppID。然后,在Vue项目中引入微信JS-SDK,并使用AppID初始化SDK。 接下来,你可以通过调用微信JS-SDK提供的接口来实现分享功能。例如,你可以使用`wx.ready`方法来监听微信准备就绪的事件,在事件回调函数中调用`wx.onMenuShareTimeline`和`wx.onMenuShareAppMessage`方法来设置分享的标题、链接、图标等信息。 下面是一个简单的示例代码: ```javascript // 引入微信JS-SDK import wx from 'weixin-js-sdk'; // 初始化微信JS-SDK wx.config({ appId: 'your_app_id', timestamp: 'your_timestamp', nonceStr: 'your_nonceStr', signature: 'your_signature', jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'] }); // 监听微信准备就绪事件 wx.ready(function() { // 设置分享到朋友圈的信息 wx.onMenuShareTimeline({ title: '分享标题', link: '分享链接', imgUrl: '分享图标', success: function () { // 分享成功的回调函数 }, cancel: function () { // 取消分享的回调函数 } }); // 设置分享给朋友的信息 wx.onMenuShareAppMessage({ title: '分享标题', desc: '分享描述', link: '分享链接', imgUrl: '分享图标', success: function () { // 分享成功的回调函数 }, cancel: function () { // 取消分享的回调函数 } }); }); ``` 以上代码只是一个简单的示例,你需要根据你的实际需求进行相应的配置和处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值