- JS API 列表
- 基础
- 网络
- 媒体
- 地图
- 文件
- 开放接口
- 数据缓存
- 地理位置
- 设备
- 画布
- 界面
- 页面导航
- 侧边栏能力
- 行业开放
- AI/AR能力
- 第三方平台
- TTML
- 转发和挂载
- 其它
- 直播能力
转发收藏我的收藏
收藏
我的收藏可以转发小程序或其中某个页面,头条用户可以点击小程序卡片或小程序锚点等回到小程序。
触发转发
按钮组件
html复制<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 | 当前小程序页面绝对路径 | |
imageUrl | string | 小程序 icon 地址 | 转发微头条中的「小程序卡片」的图片,支持本地图片或远程图片 |
templateId | string | |
js复制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 的转发暂未支持。
点击纠错