onShareAppMessage

解释:页面的事件处理函数,用户点击右上角转发。Web 态说明:Web 态小程序暂不支持。

详情参见页面相关事件处理函数

示例

在开发者工具中预览效果

代码示例 1

  • 在 swan 文件中
  1. <view class="wrap">
  2. <view class="card-area">
  3. <view class="tip-week">发送内容(以下字段可自由适配)</view>
  4. <view class="list-area">
  5. <view class="list-item-key-4">标题</view>
  6. <input class="list-item-value" bindinput="dataInput" data-type="title" value="{{shareData.title}}" type="text" placeholder="请输入key"/>
  7. </view>
  8. <view class="list-area">
  9. <view class="list-item-key-4">内容</view>
  10. <input class="list-item-value" bindinput="dataInput" data-type="content" value="{{shareData.content}}" type="text" placeholder="请输入key"/>
  11. </view>
  12. <view class="list-area">
  13. <view class="list-item-key-4">跳转页面</view>
  14. <input class="list-item-value" bindinput="dataInput" data-type="path" value="{{shareData.path}}" type="text" placeholder="请输入key"/>
  15. </view>
  16. <button type="primary" open-type="share" hover-stop-propagation="true">点击打开分享面板</button>
  17. <view class="tip-week">点击右上角菜单或者点击button转发给好友</view>
  18. </view>
  19. </view>
  • 在 js 文件中
  1. Page({
  2. data: {
  3. shareData: {
  4. title: '小程序标题',
  5. content: '世界很复杂,百度更懂你',
  6. path: '/pages/onShareAppMessage/onShareAppMessage'
  7. }
  8. },
  9. onShareAppMessage() {
  10. return this.data.shareData;
  11. },
  12. dataInput(e) {
  13. let type = e.currentTarget.dataset.type;
  14. let dataInput = e.detail.value;
  15. switch (type) {
  16. case 'title':
  17. let title = 'shareData.title';
  18. this.setData({
  19. [title]: dataInput
  20. });
  21. break;
  22. case 'content':
  23. let content = 'shareData.content';
  24. this.setData({
  25. [content]: dataInput
  26. });
  27. break;
  28. case 'path':
  29. let path = 'shareData.path';
  30. this.setData({
  31. [path]: dataInput
  32. });
  33. break;
  34. }
  35. }
  36. });

代码示例 2 - 小程序内所有页面都使用一个分享信息,并携带参数

  • 在 app.js 文件中
  1. !function () {
  2. var PageTmp = Page;
  3. Page = function (pageConfig) {
  4. pageConfig = Object.assign({
  5. onShareAppMessage: function () {
  6. // 与getCurrentPages()连用,回流到分享页面
  7. let path = getCurrentPages()[1].uri;
  8. return {
  9. title: '智能小程序官方示例',
  10. content: '百度智能小程序官方示例,展示已支持的接口能力及组件',
  11. path: path + '?key=value'
  12. };
  13. }
  14. }, pageConfig);
  15. PageTmp(pageConfig);
  16. };
  17. }();