【小程序】 好友分享 onShareAppMessage path路径构造&解析

版权声明:本文为博主原创文章,未经博主允许不得转载。原文链接http://blog.csdn.net/adayabetter?viewmode=contents https://blog.csdn.net/adayabetter/article/details/82498521

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.

猜你喜欢

转载自blog.csdn.net/adayabetter/article/details/82498521