转发分享是通过右上角的图标去触发。参考: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, //参数
}
},