明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
  博客园  :: 首页  :: 管理

uniapp 微信小程序全局分享配置

Posted on 2022-10-24 10:56  且行且思  阅读(2446)  评论(0编辑  收藏  举报

默认当前是哪个页面,分享点进来就是哪个页面,这样有问题,点进来应该进入欢迎页,即等同于重新进入小程序。

每个页面的onShareAppMessage可以进行配置,但都是重复代码没必要每个页面都写。

在App.vue 里的加入以下代码。

globalData: {
            overShare: () => {
                //监听路由切换, 间接实现全局设置分享内容
                uni.onAppRoute(res => {
                    console.log("间接实现全局设置分享内容");
                    //获取加载的页面
                    const pages = getCurrentPages(),
                        //获取当前页面的对象
                        view = pages[pages.length - 1];
                    if (view) {
                        //全局触发 显示出分享具栏
                        wx.showShareMenu({
                            withShareTicket: true,
                            //设置下方的Menus菜单,才能够让发送给朋友与分享到朋友圈两个按钮可以点击
                            menus: ["shareAppMessage", "shareTimeline"]
                        })

                        view.onShareAppMessage = () => {
                            //分享配置
                            return {
                                title: '解决方案',
                                path: '/pages/main/main',
                               //imageUrl: '/static/images/xxxxx.png',
                                success(res) {
                                    uni.showToast({
                                        title: '分享成功'
                                    })
                                },
                                fail(res) {
                                    uni.showToast({
                                        title: '分享失败',
                                        icon: 'none'
                                    })
                                } }; }; } }) }, }, onLaunch() { this.globalData.overShare(); }