转发
收藏
我的收藏

可以转发小程序或其中某个页面,头条用户可以点击小程序卡片或小程序锚点等回到小程序。​

触发转发​

按钮组件​

<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​
转发的微头条中的「小程序卡片」的内容​
path​
string​
当前小程序页面绝对路径​
转发的微头条中的「小程序卡片」点击时进入小程序的页面绝对路径,可以包含参数,参数可以在page.onLoadapp.onLaunch 和 app.onShow中获取到​
imageUrl​
string​
小程序 icon 地址​
转发微头条中的「小程序卡片」的图片,支持本地图片或远程图片​
templateId​
string​
开发者后台设置的分享素材模板 id,详情见小程序分享
Page({ async onShareAppMessage(option) { const title = await this.getTitle(); 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... } }, getTitle() { return new Promise((resolve) => { setTimeout(() => { resolve("This is a mock title"); }, 2000); }); }, });

已知问题​

webview 的转发暂未支持。​