转发

可以将小程序或其中某个页面转发到微头条,微头条用户可以点击转发内容中的「小程序卡片」回到小程序。

触发转发

按钮组件

<button open-type="share">转发到微头条</button>

设置按钮

点击小程序右上角的「设置—转发」按钮,也会触发小程序的转发。

转发数据

当转发动作发生后,会触发当前页面Page上定义的onShareAppMessage方法,并传入一个object类型参数options,详情:

名称 数据类型 描述
from string 触发者为button组件时,值为button;触发者为设置按钮时,值为menu
target string|undefined 触发者为button组件时,值为button对象;触发者为设置按钮时,值为undefined

开发者需要在onShareAppMessage方法返回需要转发的内容,系统会默认传递参数,开发者也可以自定义如下字段:

名称 数据类型 默认值 描述
title string 小程序名称 转发的微头条中的「小程序卡片」的标题
desc string N/A 转发的微头条中的「小程序卡片」的内容
path string 当前小程序页面绝对路径 转发的微头条中的「小程序卡片」点击时进入小程序的页面绝对路径,可以包含参数
imageUrl string 小程序ICON 转发微头条中的「小程序卡片」的图片,支持本地图片或远程图片
templateId string N/A 开发者后台设置的分享素材模板id,详情见分享素材定义
Page({
  ...
  onShareAppMessage (option) {
    // option.from === 'button'
    return {
      title: '这是要转发的小程序标题',
      desc: '这是默认的转发文案,用户可以直接发送,也可以在发布器内修改',
      path: '/pages/index/index?from=sharebuttonabc&otherkey=othervalue', // ?后面的参数会在转发页面打开时传入onLoad方法
      imageUrl: 'https://e.com/e.png', // 支持本地或远程图片,默认是小程序icon
      templateId: '这是开发者后台设置的分享素材模板id'
      success () {
        console.log('转发发布器已吊起,并不意味着用户转发成功,微头条不提供这个时机的回调');
      },
      fail () {
        console.log('转发发布器吊起失败');
      }
    }
  },
  onLoad (query) {
    if (query.from === 'sharebuttonabc') {
      // do something...
    }
  }
});

已知问题

  • webview的转发暂未支持