微信小程序全局分享转发实现-无需页面单独设置

  • 微信小程序没有自带全局分享设置,页面开启分享功能必须要在页面中定义分享事件函数onShareAppMessage(分享给朋友)和onShareTimeline(分享至朋友圈)。如果项目中页面比较多,一个个去设置无疑是非常麻烦的,因此全局设置就非常有必要了。
  • 此时我们将代码放在app.js中,注意是放在APP({})的外面哦,可以放上面或者下面,随意
/**
  * 全局分享配置,页面无需开启分享
  * 使用隐式页面函数进行页面分享配置
  * 使用隐式路由获取当前页面路由,并根据路由来进行全局分享、自定义分享
  */
 ! function () {
  //获取页面配置并进行页面分享配置
  var PageTmp = Page
  Page = function (pageConfig) {
    //1. 获取当前页面路由
    let routerUrl = ""
    wx.onAppRoute(function (res) {
      let pages = getCurrentPages(),
        view = pages[pages.length - 1];
      routerUrl = view.route
    })

    //2. 全局开启分享配置
    pageConfig = Object.assign({
      onShareAppMessage: function () {
        //分享给朋友
        //根据不同路由设置不同分享内容(微信小程序分享自带参数,如非特例,不需配置分享路径)
        let shareInfo={}
        let noGlobalSharePages=["index/index"]
        //全局分享配置,如部分页面需要页面默认分享或自定义分享可以单独判断处理
        if (!routerUrl.includes(noGlobalSharePages)){
          shareInfo = {
            title: "分享时的文案",
            imageUrl: wx.getStorageSync("这里放分享时所带图片的地址")
          }
        }
        return shareInfo
      },
      onShareTimeline: function () {
        //分享至朋友圈
        let shareInfo={}
        let noGlobalSharePages=["index/index"]
        if (!routerUrl.includes(noGlobalSharePages)){
          shareInfo = {
            title: "分享时的文案",
            imageUrl: wx.getStorageSync("这里放分享时所带图片的地址")
          }
        }
        return shareInfo
      }
    }, pageConfig);
    // 配置页面模板
    PageTmp(pageConfig);
  }
}();
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值