小程序转发、分享朋友圈

转发分享是通过右上角的图标去触发。参考:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html

另一种方式:通过注入的去引用

//app.js
var util = require('utils/util.js')
App({
  onLaunch: function () {
    // 注入分享
    this.overShare()
    
    // 登录
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
        var code = res.code;
        // 获取用户信息
        wx.getSetting({
          success: res => {
            if (res.authSetting['scope.userInfo']) {
              // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
              wx.getUserInfo({
                success: res => {
                  // 可以将 res 发送给后台解码出 unionId
                  this.globalData.userInfo = res.userInfo

                  // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
                  // 所以此处加入 callback 以防止这种情况
                  
                  if (this.userInfoReadyCallback) {
                    this.userInfoReadyCallback(res)
                  }
                  
                  // var dataUrl = this.globalData.baseUrl+'/user/decodeUserInfo';
                  // var data = {
                  //   code:code,
                  //   iv:res.iv,
                  //   encryptedData:res.encryptedData
                  // }
                  // util.http(dataUrl,'POST',data,this.setUserInfo)
                }
              })
            }else{
              wx.reLaunch({
                url:'/pages/order/order',
              })
            }
          }
        })
      }
    })
  },
  getMenuList:function(res){
    console.log(res)
  },
  setUserInfo:function(res){
    var userInfo = wx.getStorageSync('userInfo') || []
    userInfo = res.wxUser
    var userToken = res.token
    wx.setStorageSync('userInfo', userInfo)
    wx.setStorageSync('userToken', userToken)
  },
  overShare:function(){
    let _this = this
    //监听路由切换
    //间接实现全局设置分享内容
    wx.onAppRoute(function (res) {
      //获取加载的页面
      let pages = getCurrentPages(),
      //获取当前页面的对象
      view = pages[pages.length - 1],
      data;
      if (view) {
        data = view.data;
        // 如果页面含有qcappnoshare这个变量,则不分享
        if (data.qcappnoshare) {
          return;
        } else {
          view.onShareAppMessage = function () {
            // 增加全局分享上报
            // _this.$report.api({ format: Constants.REPORT.share });
            return {
              title: '便民小程序',
              path: '/pages/order/order'
            }
          }
        }
      }
    })
  },
 
})

单页面触发转发好友

onShareAppMessage:function(res){
    var item = JSON.parse(util.getUrlParam('item'))
    var bartitle = item.typename
    if(res.from === 'button'){
    }else{
    }
    return {
      title: bartitle,
      path:util.getCurrentPage()  //页面地址
    }
  },

 

转发朋友圈。(18年那会还不支持此功能)目前只支持安卓,不支持ios

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share-timeline.html

/*
  *分享朋友圈
  */ 
  onShareTimeline(e) {
    console.error("点击分享pyq", e)
    var item = JSON.parse(util.getUrlParam('item'))
    var bartitle = item.typename
    query=JSON.stringify(item);
    return {
      title: bartitle,
      imageUrl: "",
      query: query, //参数
    }
  },

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值