×
微信小程序开发教程手册文档体验微信小程序微信小程序 框架MINA 目录结构小程序配置逻辑层(App Service)微信小程序 注册程序微信小程序 场景值微信小程序 注册页面微信小程序 路由微信小程序 模块化小程序 API视图层(View)微信小程序 WXML微信小程序 数据绑定微信小程序 列表渲染微信小程序 条件渲染微信小程序 模板微信小程序 事件微信小程序 引用微信小程序 WXS微信小程序 WXS模块微信小程序 变量微信小程序 注释微信小程序 运算符微信小程序 语句微信小程序 数据类型微信小程序 基础类库微信小程序 WXSS微信小程序 组件微信小程序 基础库微信小程序 兼容微信小程序 运行机制性能微信小程序 性能Trace工具微信小程序 优化建议微信小程序 组件

视图容器

wxapp视图容器 viewwxapp视图容器 scroll-viewwxapp视图容器 swiperwxapp视图容器 movable-areawxapp视图容器 cover-view

基础内容

wxapp内容组件 iconwxapp内容组件 textwxapp内容组件 rich-textwxapp内容组件 progress表单组件wxapp表单组件 buttonwxapp表单组件 checkboxwxapp表单组件 formwxapp表单组件 inputwxapp表单组件 labelwxapp表单组件 pickerwxapp表单组件 picker-viewwxapp表单组件 radiowxapp表单组件 sliderwxapp表单组件 switchwxapp表单组件 textarea

导航

wxapp导航 navigator

媒体组件

wxapp媒体组件 audiowxapp媒体组件 imagewxapp媒体组件 videowxapp媒体组件 camera

地图

wxapp地图 map

画布

wxapp画布 canvas

开放数据

wxapp开放数据 open-datawxapp承载网页 web-view

客服会话

wxapp客服会话 contact-buttonAPI网络微信小程序API 发起请求微信小程序API 上传、下载微信小程序API Websocket

媒体

微信小程序API 图片微信小程序API 录音微信小程序API 音频播放控制微信小程序API 音乐播放控制微信小程序API 背景音频播放管理微信小程序API 音频组件控制微信小程序API 视频微信小程序API 视频组件控制微信小程序API 相机组件控制

文件

微信小程序API 文件

数据

微信小程序API 数据缓存

位置

微信小程序API 获取位置微信小程序API 查看位置微信小程序API 地图组件控制设备微信小程序API 系统信息微信小程序API 网络状态微信小程序API 加速度计微信小程序API 罗盘微信小程序API 拨打电话微信小程序API 扫码微信小程序API 剪贴板微信小程序API 蓝牙微信小程序API iBeacon微信小程序API 屏幕亮度微信小程序API 用户截屏事件微信小程序API 振动微信小程序API 手机联系人

界面

微信小程序API 交互反馈微信小程序API 设置导航条微信小程序API 设置置顶信息微信小程序API 导航微信小程序API 动画微信小程序API 位置绘图微信小程序API 绘图·介绍微信小程序API 绘图·坐标系微信小程序API 绘图·渐变微信小程序API 绘图·颜色微信小程序API 绘图上下文微信小程序API 绘图·创建并返回上下文微信小程序API 绘图·绘制画布微信小程序API 绘图·导出图片微信小程序API 绘图·设置填充样式微信小程序API 绘图·设置线条样式微信小程序API 绘图·设置阴影样式微信小程序API 绘图·创建线性渐变微信小程序API 绘图·创建圆形渐变微信小程序API 绘图·创建颜色渐变点微信小程序API 绘图·设置线条宽度微信小程序API 绘图·设置线条端点样式微信小程序API 绘图·设置线条交点样式微信小程序API 绘图·设置最大倾斜微信小程序API 绘图·创建矩形微信小程序API 绘图·填充矩形微信小程序API 绘图·画一个矩形微信小程序API 绘图·clearRect微信小程序API 绘图·填充路径微信小程序API 绘图·描边路径微信小程序API 绘图·开始路径微信小程序API 绘图·关闭路径微信小程序API 绘图·moveTo微信小程序API 绘图·lineTo微信小程序API 绘图·画弧线微信小程序API 绘图·quadraticCurveTo微信小程序API bezierCurveTo微信小程序API 绘图·scale微信小程序API 绘图·rotate微信小程序API 绘图·translate微信小程序API 绘图·设置字号微信小程序API 绘图·绘制文本微信小程序API 绘图·文字对齐微信小程序API 绘图·文字水平对齐微信小程序API 绘图·drawImage微信小程序API 绘图·setGlobalAlpha微信小程序API 绘图·保存/恢复微信小程序API 绘图·draw微信小程序API 绘图·getActions微信小程序API 绘图·clearActions微信小程序API 绘图·measureText微信小程序API 绘图·globalCompositeOperation微信小程序API 绘图·arcTo微信小程序API 绘图·strokeText微信小程序API 绘图·lineDashOffset微信小程序API 绘图·createPattern微信小程序API 下拉刷新

WXML节点信息

微信小程序API WXML节点信息

第三方平台

微信小程序API 第三方平台

开放接口

微信小程序API 登录微信小程序API 签名加密微信小程序API 授权微信小程序API 用户信息微信小程序API 微信支付微信小程序API 模板消息

微信小程序API 客服消息

微信小程序API 接收消息和事件微信小程序API 发送客服消息微信小程序API 转发消息微信小程序API 临时素材接口微信小程序API 接入指引微信小程序API 转发微信小程序API 二维码微信小程序API 收货地址微信小程序API 卡券微信小程序API 设置微信小程序API 微信运动微信小程序API 打开小程序微信小程序API 获取发票抬头微信小程序API 生物认证

数据

常规分析

微信小程序API 数据概况微信小程序API 访问分析微信小程序API 用户画像

自定义分析

微信小程序API 自定义数据上报

更新

微信小程序API getUpdateManager

拓展接口

微信小程序 拓展接口

多线程

微信小程序API createWorker

调试接口

微信小程序API 打开/关闭调试

工具

微信小程序工具 概览微信小程序工具 界面微信小程序工具 设置微信小程序工具 项目预览微信小程序工具 快捷键微信小程序工具 代码编辑微信小程序工具 程序调试微信小程序工具 特殊API的调试微信小程序工具 命令行调用微信小程序工具 HTTP调用微信小程序工具 代码片段微信小程序工具 第三方平台微信小程序工具 创建插件项目微信小程序工具 代码托管微信小程序工具 素材管理微信小程序工具 下载微信小程序工具 细节点微信小程序工具 beta版本下载微信小程序工具 Git版本管理微信小程序工具 体验评分微信小程序工具 npm支持

微信小程序 云开发

微信小程序云开发 基础

微信小程序云开发指引

微信小程序云开发 开发指引微信小程序云开发 控制台微信小程序云开发 初始化微信小程序云开发 数据库微信小程序云开发 存储微信小程序云开发 云函数微信小程序云开发参考信息

微信小程序云开发API 小程序端

微信小程序云开发API 初始化微信小程序云开发 数据库API数据库API database数据库API collection数据库API collection.doc数据库API collection.get数据库API doc.get数据库API collection.add数据库API collection.update数据库API doc.update数据库API doc.set数据库API doc.remove数据库API collection.count数据库API collection.where数据库API collection.orderBy数据库API collection.limit数据库API collection.skip数据库API collection.field数据库API db.command数据库API db.RegExp数据库API db.serverDate数据库API db.Geo数据库API 查询筛选条件数据库API 查询指令数据库API 更新指令数据库API get方法数据库API update数据库API remove微信小程序云开发API 服务端云开发服务端API 初始化云开发服务端API 工具类云开发服务端API 数据库服务端数据库API database服务端数据库API collection服务端数据库API collection.doc服务端数据库API collection.get服务端数据库API doc.get服务端数据库API collection.add服务端数据库API collection.update服务端数据库API collection.remove服务端数据库API doc.update服务端数据库API doc.set服务端数据库API doc.remove服务端数据库API collection.count服务端数据库API collection.where服务端数据库API collection.orderBy服务端数据库API collection.limit服务端数据库API collection.skip服务端数据库API collection.field服务端数据库API db.command服务端数据库API db.RegExp服务端数据库API db.serverDate服务端数据库API db.Geo服务端数据库API 查询筛选条件服务端数据库API 查询指令服务端数据库API 更新指令服务端数据库API db.createCollection服务端数据库API update服务端数据库API remove云开发服务端API 存储服务端存储API uploadFile服务端存储API downloadFile服务端存储API getTempFileURL服务端存储API deleteFile微信小程序开发文档-腾讯云支持微信小程序 联系我们微信小程序 Q&A微信小程序设计规范微信小程序设计规范(1) 友好礼貌微信小程序设计规范(2) 清晰明确微信小程序设计规范(3) 便捷优雅微信小程序设计规范(4) 统一稳定微信小程序设计规范(5) 视觉规范微信小程序源码分享微信小游戏开发手册 

微信小程序API 转发 (Page.onShareAppMessage)


onShareAppMessage(options)


在 Page 中定义 onShareAppMessage 函数,设置该页面的转发信息。

  • 只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮
  • 用户点击转发按钮的时候会调用
  • 此事件需要 return 一个 Object,用于自定义转发内容

options 参数说明

参数 类型 说明 最低版本
from String 转发事件来源。button:页面内转发按钮;menu:右上角转发菜单 1.2.4
target Object 如果 from 值是 button,则 target 是触发这次转发事件的 button,否则为 undefined 1.2.4
自定义转发字段

字段 说明 默认值 最低版本
title 转发标题 当前小程序名称  
path 转发路径 当前页面 path ,必须是以 / 开头的完整路径  
success 转发成功的回调函数   1.1.0
fail 转发失败的回调函数   1.1.0
complete 转发结束的回调函数(转发成功、失败都会执行   1.1.0

回调结果:

回调类型 errMsg 说明
success shareAppMessage:ok 转发成功
fail shareAppMessage:fail cancel 用户取消转发
fail shareAppMessage:fail (detail message) 转发失败,其中 detail message 为详细失败信息

success回调参数说明:

参数 类型 说明 最低版本
shareTickets StringArray shareTicket 数组,每一项是一个 shareTicket ,对应一个转发对象 1.1.0

示例代码:

Page({
  onShareAppMessage: function (res) {
    if (res.from === 'button') {
      // 来自页面内转发按钮
      console.log(res.target)
    }
    return {
      title: '自定义转发标题',
      path: '/page/user?id=123',
      success: function(res) {
        // 转发成功
      },
      fail: function(res) {
        // 转发失败
      }
    }
  }
})

wx.showShareMenu(OBJECT)

基础库版本 1.1.0 开始支持,低版本需做兼容处理

显示当前页面的转发按钮

OBJECT参数说明:

参数 类型 必填 说明
withShareTicket Boolean 是否使用带 shareTicket 的转发详情
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码:

wx.showShareMenu({
  withShareTicket: true
})

wx.hideShareMenu(OBJECT)

基础库版本 1.1.0 开始支持,低版本需做兼容处理

隐藏转发按钮

OBJECT参数说明:

参数 类型 必填 说明
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码:

wx.hideShareMenu()

wx.updateShareMenu(OBJECT)

基础库 1.2.0 开始支持,低版本需做兼容处理

更新转发属性

OBJECT参数说明:

参数 类型 必填 说明
withShareTicket Boolean 是否使用带 shareTicket 的转发详情
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码:

wx.updateShareMenu({
  withShareTicket: true,
  success() {
  }
})

wx.getShareInfo(OBJECT)

基础库 1.1.0 开始支持,低版本需做兼容处理

获取转发详细信息

OBJECT参数说明:

参数 类型 必填 说明
shareTicket String shareTicket
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

CALLBACK 参数说明:

参数 类型 说明
errMsg String 错误信息
encryptedData String 包括敏感数据在内的完整转发信息的加密数据,详细见加密数据解密算法
iv String 加密算法的初始向量,详细见加密数据解密算法

encryptedData 解密后为一个 JSON 结构,包含字段如下:

字段 说明
openGId 群对当前小程序的唯一 ID

Tip: 如需要展示群名称,可以使用开放数据组件

获取更多转发信息

通常开发者希望转发出去的小程序被二次打开的时候能够获取到一些信息,例如群的标识。现在通过调用 wx.showShareMenu 并且设置 withShareTicket 为 true ,当用户将小程序转发到任一群聊之后,可以获取到此次转发的 shareTicket,此转发卡片在群聊中被其他用户打开时,可以在 App.onLaunch() 或 App.onShow 获取到另一个 shareTicket。这两步获取到的 shareTicket 均可通过 wx.getShareInfo() 接口可以获取到相同的转发信息。

页面内发起转发

基础库 1.2.0 开始支持,低版本需做兼容处理

通过给 button 组件设置属性 open-type="share",可以在用户点击按钮后触发 Page.onShareAppMessage() 事件,如果当前页面没有定义此事件,则点击后无效果。相关组件:button

使用指引

转发按钮,旨在帮助用户更流畅地与好友分享内容和服务。转发,应是用户自发的行为,且在需要时触手可及。开发者在使用时若遵从以下指引,会得到更佳的用户体验。

  1. 含义清晰:明确、一目了然的图形按钮,将为用户减少理解的时间。在我们的资源下载中心,你可以找到这样的按钮素材并直接使用。或者你可以根据自己业务的设计风格,灵活设计含义清晰的按钮的样式。当然,你也可以直接使用带文案的按钮,“转发给好友”,它也足够明确。
  2. 方便点击:按钮点击热区不宜过小,亦不宜过大。同时,转发按钮与其他按钮一样,热区也不宜过密,以免用户误操作。
  3. 按需出现:并非所有页面都适合放置转发按钮,涉及用户隐私的非公开内容,或可能打断用户完成当前操作体验的场景,该功能并不推荐使用。同时,由于转发过程中,我们将截取用户屏幕图像作为配图,因此,需要注意帮助用户屏蔽个人信息。
  4. 尊重意愿:理所当然,并非所有的用户,都喜欢与朋友分享你的小程序。因此,它不应该成为一个诱导或强制行为,如转发后才能解锁某项功能等。请注意,这类做法不仅不被推荐,还可能违反我们的《运营规范》,我们强烈建议你在使用前阅读这部分内容。

以上,我们陈列了最重要的几点,如果你有时间,可以完整浏览《设计指南》,相信会有更多的收获。

Bug & Tip

  1. tip: 转发图片不能自定义;会取当前页面,从顶部开始,高度为 80% 屏幕宽度的图像作为转发图片。
  2. tip: 转发的调试支持请查看 普通转发的调试支持 和 带 shareTicket 的转发
  3. tip: 只有转发到群聊中打开才可以获取到 shareTickets 返回值,单聊没有 shareTickets
  4. tipshareTicket 仅在当前小程序生命周期内有效
  5. tip: 由于策略变动,小程序群相关能力进行调整,开发者可先使用wx.getShareInfo接口中的群ID进行功能开发。





分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)