onShareAppMessage(Object)
参考官方定义:
https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/page.html#页面事件处理函数
path路径构造:
onShareAppMessage(options) {
let _title = this.swiperData && this.swiperData.name
let a = getCurrentPages()[getCurrentPages().length - 1]
let path = a.__route__
let shareFrom = this.getShareData()
path += '?productId=' + this.productId
if (path.indexOf('?') > 0) {
path += '&scene=!' + this.gainPValue()
} else {
path += '?scene=!' + this.gainPValue()
}
if (shareFrom) {
if (path.indexOf('?') > 0) {
path += '&shareFrom=' + encodeURIComponent(JSON.stringify(shareFrom))
} else {
path += '?shareFrom=' + encodeURIComponent(JSON.stringify(shareFrom))
}
}
let shareObj = {
title: _title,
path: path
}
return shareObj
}
通过 getCurrentPages()[getCurrentPages().length - 1] 拿到当前页面所在路径,之后根据需要拼接出参数信息,如:
path += ‘?productId=’ + this.productId,等等,可以多个参数
path路径解析:
可以在page页面的onLoad(options) 中解析。
page 中打印options参数如下:
{“productId”:”210598350”,”shareFrom”:”*”,”scene”:”“}
在app 的onShow(options)方法中,打印options如下:
{“path”:”/pages/“,”query”:{“productId”:”210598350”,”shareFrom”:”“,”scene”:”“},”scene”:1007,”referrerInfo”:{}}
下面是摘自官网描述:
监听用户点击页面内转发按钮( 组件 open-type=”share”)或右上角菜单“转发”按钮的行为,并自定义转发内容。
注意:只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮
Object 参数说明:
参数 类型 说明 最低版本
from String 转发事件来源。
button:页面内转发按钮;
menu:右上角转发菜单 1.2.4
target Object 如果 from 值是 button,则 target 是触发这次转发事件的 button,否则为 undefined 1.2.4
webViewUrl String 页面中包含组件时,返回当前的url 1.6.4
此事件需要 return 一个 Object,用于自定义转发内容,返回内容如下:
自定义转发内容
字段 说明 默认值 最低版本
title 转发标题 当前小程序名称
path 转发路径 当前页面 path ,必须是以 / 开头的完整路径
imageUrl 自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径。支持PNG及JPG。显示图片长宽比是 5:4。 使用默认截图 1.5.