Press "Enter" to skip to content

微信小程序实现全局分享

在写一个简单的小程序,有几个页面想让用户可以分享,分享的配置都是一样的。

目前小程序不支持全局的设置分享,需要在每个页面进行onShareAppMessage函数的定义。

在网上找到一个可以实现的方式。

第一步:在需要被分享的页面添加如下代码

Page({
    /**
     * 用户点击右上角分享  增加
     */
    onShareAppMessage: function () {
        // 函数体内容为空即可
    }

第二部:在 app.js 中添加重写分享方法

//重写分享方法
overShare: function () {
    //间接实现全局设置分享内容
    wx.onAppRoute(function () {
        //获取加载的页面
        let pages = getCurrentPages(),
            //获取当前页面的对象
            view = pages[pages.length - 1],
            data;
        if (view) {
            data = view.data;
            // 判断是否需要重写分享方法
            if (!data.isOverShare) {
                data.isOverShare = true;
                view.onShareAppMessage = function () {
                    //重写分享配置
                    return {
                        title: '分享标题',
                        path: "/pages/index/index"    //分享页面地址
                    };
                }
            }
        }
    })
},

第三部:在app.jsonLaunch 函数中调用该方法

onLaunch() {
    this.overShare()
}

参考资料:

https://juejin.cn/post/6983874414353842183

https://blog.csdn.net/weixin_43452154/article/details/126039403

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注