小程序onShareAppMessage()不起作用,以及如何传参

485 阅读1分钟

在小程序的js页面里,写次方法,则点击右上角三个“···”会有对应的分享菜单,如果不写,其实就相当于禁用的该页面的分享。如果只是一个方法,不进行配置,则分享出来的是默认的样式,下面就来说说如何配置:

onShareAppMessage: function (ops) {

    //转发事件来源。
    //button:页面内转发按钮;
    //menu:右上角转发菜单

    if (ops.from === 'button') {
        var title = ops.target.dataset.title;
    };

    return {
        title: title, //转发的标题。当前小程序名称
        path: `pages/ordinaryDetails/ordinaryDetails?isShare=0`, //转发的路径
        imageUrl: '',//自定义图片路径 支持PNG及JPG。显示图片长宽比是 5:4。
        // success: function (res) {
        //     // 转发成功
        //     var shareTickets = res.shareTickets;
        //     api.showToast('转发成功');
        // },
        // fail: function (res) {
        //     // 转发失败
        //     api.showToast("转发失败:" + JSON.stringify(res));
        // }

        //由于版本更新,现在不能监听回调成功还是失败。
        //分享的内容是都会被成功发出
        //如果一定要回调的话可根据需求自定,目前小编还没有更好的办法。
    }
},

小程序用的是uiapp 在uniapp里有onShareAppMessage方法,所以你自己写的就不起作用,被覆盖掉了。
所以我们要么注释他写好的那个空白的(在下面share.js里面),要么把自己的改写到他的那个里面。

image.png

然后在你页面引入一下 就可以直接写方法了

image.png

在onShareAppMessage分享函数中的路径上有添加一个share参数 image.png 传递参数就在后面路径加上就好,然后在你的页面onLoad里面获取就可以。

到此为止了,如果对大家有帮助 点个赞吧