微信小程序关于分享一些简单总结

2018-10-09  本文已影响98人  小钟钟同学

关于小程序的分享转发,官网上已描述的很清楚。
详情可见:
1:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html

2: https://developers.weixin.qq.com/miniprogram/dev/devtools/different.html#

以下是我自己简单一些总结:

1:如果需要获取到分享到群的一些群信息的话,需要设置: wx.showShareMenu,且

 onLoad: function (e) {
    wx.showShareMenu({
      // 要求小程序返回分享目标信息
      withShareTicket: true,
      success: function (res) {
        // 分享成功
        console.log('shareMenu share success')
        console.log('分享成功' , res)
      },
      fail: function (res) {
        // 分享失败
        console.log('分享失败' + res)
        console.log(res)
      }
    });
  },

2:如果需要测试带参数传入测试页面,可以新建一个编译模板
1)点击添加编译模式


image.png

2)按需填入相关信息


image.png

3)选择编译


image.png

4)观察你分析的页面的路径及接收的相关参数信息
示例:


image.png

对应的页面js:


image.png

3:关于分享方式
1:第一种是点击顶部的胶囊按钮,然后选择转发

说明:如果想隐藏上面的胶囊的地方的转发按钮,仅限页面内点击转发按钮转发,可以隐藏:

wx.hideShareMenu();

2:使用按钮进行转发
使用按钮转发话可以使用ops.target来获取点击了哪个分享的按钮

if (ops.from === 'button') {
      // 来自页面内转发按钮
      console.log(ops.target)
    }


3: 关于分享结果的回调
注意事项点
1)目前开发者工具暂时不支持回调处理,需要在真机上测试
2)回调携带的shareTickets值信息只在分享到群之后才回有回调,分享到好友不返回shareTickets值信息

// pages/sharetest/sharetest.js
//index.js
//获取应用实例
const app = getApp()

Page({
  data: {
    motto: 'Hello World',
  },
  onLoad: function (e) {
    wx.showShareMenu({
      // 要求小程序返回分享目标信息
      withShareTicket: true,
      success: function (res) {
        // 分享成功
        console.log('shareMenu share success')
        console.log('分享成功' , res)
      },
      fail: function (res) {
        // 分享失败
        console.log('分享失败' + res)
        console.log(res)
      }
    });
  },
  /* 转发*/
  onShareAppMessage: function (ops) {
    if (ops.from === 'button') {
      // 来自页面内转发按钮
      console.log(ops.target)
    }
    return {
      title: '转发dom',
      path: `/pages/index/index?jump=是的好的话是的000000000000000000`,
      success: function (res) {
        // 转发成功
        console.log("转发成功:",res);
        console.log("转发成功:" + JSON.stringify(res));
        var shareTickets = res.shareTickets;
        // if (shareTickets.length == 0) {
        //   return false;
        // }
        // //可以获取群组信息
        // wx.getShareInfo({
        //   shareTicket: shareTickets[0],
        //   success: function (res) {
        //     console.log(res)
        //   }
        // })
      },
      fail: function (res) {
        // 转发失败
        console.log("转发失败:" + JSON.stringify(res));
      }
    }
  },
})

image.png
image.png
上一篇下一篇

猜你喜欢

热点阅读