关于小程序的转发:

最简单的就是点击小程序右上角菜单“转发”按钮直接分享,不过这种分享有点不太友好,实用性也不强。

当然,你可以自定义分享内容,包括标题,简介,图片及分享的小程序页面路径。

再高级一点,还可以对转发出去的小程序被二次打开的时候获取到一些信息。

一. 自定义转发内容:

onShareAppMessage(Obj):

1. 监听转发按钮(button open-type="share")或小程序右上角“转发”按钮的点击行为;
2. 自定义转发分享内容。
3. 还可以监听这些信息:
示例代码:
  /*** 用户分享自定义*/onShareAppMessage: function(res) {return {title: '哈根达斯冰激凌5折特惠',path: '/pages/index/index?goods_id=' + wx.getStorageSync("goods_id"),imageUrl: 'http://static.e-mallchina.com/pic/product/brand/detail/hgds.jpg'//自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径。支持PNG及JPG。显示图片长宽比是 5:4。
    }}

点击右上角菜单中的“转发”按钮,分享效果如下:

二. 点击页面按钮分享转发:

<button> 组件设置 open-type="share"即可实现页面内分享,点击按钮即可跟点击右上角菜单中的转发按钮会有一样的效果。

<button open-type='share' type='warn' size="mini" plain="true" id='btnShare0'>推荐给好友</button>

当然,跟右上角菜单中的转发按钮一样,如果设置了自定义转发内容,点击分享按钮也会展示自定义分享内容的。

三. 关闭分享功能:

wx.hideShareMenu(Object object):隐藏转发按钮,关闭转发功能(不影响转发按钮的功能,只是右上角分享没有了)。
  /*** 生命周期函数--监听页面加载*/onLoad: function(options) {wx.hideShareMenu()},/*** 生命周期函数--监听页面显示*/onShow: function() {wx.hideShareMenu()},

四. 获取更多转发信息:

转发出去的小程序被二次打开的时候能够获取到一些信息,例如群的标识。

大致流程:

1. 通过调用 wx.showShareMenu 并且设置 withShareTicket 为 true ;
2. 当用户将小程序转发到任一群聊之后, 此转发卡片在群聊中被其他用户打开时,可以在 App.onLaunch 或 App.onShow 获取到一个 shareTicket;
3. 通过调用 wx.getShareInfo() 接口传入此 shareTicket 可以获取到转发信息。

示例代码:

  //分享页面设置开启分享群信息/*** 生命周期函数--监听页面加载*/onLoad: function(options) {wx.showShareMenu({withShareTicket: true})},/*** 生命周期函数--监听页面显示*/onShow: function() {wx.showShareMenu({withShareTicket: true})}

//app.js 获取小程序名片页附带的分享信息
App({onLaunch: function(ops) {//小程序在群里被打开后,获取情景值和shareTicketconsole.log("ops:", ops)if (ops.scene==1044) {wx.getShareInfo({shareTicket: ops.shareTicket,success:function(res) {console.log("wx.getShareInfo:::", res)}})}}
})

分享到群里之后,在群里打开小程序,获取类似下面的数据:

如上图,获取的就是分享到的群聊的相关信息了,不过这个信息是加密的,需要像获取手机号一样再去后端解密才可以。

其中 encryptedData 解密后为以下 json 结构,详见加密数据解密算法。其中 openGId 为当前群的唯一标识:

{
"openGId": "OPENGID"
}

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

经验证,这个功能只有在分享到群聊中才会有效,也就是说只能区分小程序是在群中还是好友聊天窗口中打开的,所以这个功能是比较鸡肋的。

五. 其他一些功能:

还有一个接口,就是更新转发属性的接口:wx.updateShareMenu(Object object),平常用的不多,感兴趣的可以自行去官网研究。

转载于:https://www.cnblogs.com/xyyt/p/9947755.html

微信小程序开发——小程序分享转发相关推荐

  1. 微信小程序之短连接 分享转发 点击短连接就可以直接打开小程序某个页面

    微信小程序之短连接 分享转发 点击短连接就可以直接打开小程序某个页面 首先,小程序官网地址:https://developers.weixin.qq.com/miniprogram/dev/OpenA ...

  2. 微信开发者工具开发小程序代码自动热加载/重载/部署

    前言 微信小程序基础库 2.12.2 默认情况下,使用微信开发者工具开发小程序时,每次保存代码都会重启微信小程序,即每次都模拟器都返回到首页.有没有办法既更新模拟器中的小程序,又保持 在当前页呢?有的 ...

  3. 强烈推介的几个微信小程序开发小技巧,简单又实用

    前段时间在下开发了个微信小程序,开发过程中总结了一些我觉得对我有用的小技巧,提炼出来,相当于一个总结复盘,也希望可以帮助到大家.如果对大家确实有帮助,别忘了点赞哦 ???? - 微信开发者工具版本:1 ...

  4. 强烈推荐的几个微信小程序开发小技巧,简单又实用

    前段时间在下开发了个微信小程序,开发过程中总结了一些我觉得对我有用的小技巧,提炼出来,相当于一个总结复盘,也希望可以帮助到大家.如果对大家确实有帮助,别忘了点赞哦 ???? - 微信开发者工具版本:1 ...

  5. 微信小程序开发.小程序入门(上)

    1.小程序简介 微信小程序,小程序的一种,英文名Wechat Mini Program,   是一种不需要下载安装即可使用的应用,   它实现了应用"触手可及"的梦想,用户扫一扫或 ...

  6. 微信“小程序”开发小指南

    最近两天程序员界最火的应该就是微信"小程序",抽空试了一下,感觉上手很容易,微信提供的各种组件.API都很全,但是要做的与众不同又性能优良也是不太容易的.本文将首先谈一下我们的小程 ...

  7. 校园外卖系统 - 「农职邦」微信原生云开发小程序

    在校期间参加 2021年"全国微信小程序开发大赛" 的参赛作品,放了很久了,项目不再维护,目前还是能够正常使用的,现在开源,放出所有代码,写得并不完美,仅供参考,有建议欢迎大家留言 ...

  8. 微信小程序开发 | 小程序开发框架

    小程序开发框架 7.1 小程序模块化开发 7.1.1 模块 7.1.2 模板 7.1.3 自定义组件 7.1.4插件 7.2 小程序基础样式库-WeUI 7.2.1 初识WeUI 7.2.2[案例]电 ...

  9. 微信小程序开发—小程序开发入门

    我参加CSDN博客之星评选啦,感谢大家前往投票支持! 投票地址:http://blog.csdn.net/vote/list.html?keyword=anda0109#search 本篇将为大家详细 ...

最新文章

  1. Android 10.0 系统启动之SystemServer进程-[Android取经之路]
  2. Linux下PDF操作与转换
  3. Centos7单用户模式修改root密码
  4. python函数参数列表中的*与**
  5. python连连看小游戏_请用PYTHON编一个小游戏,如五子棋,连连看,贪吃蛇,扫雷,计算器等等...
  6. micropython esp8266教程_ESP8266 快速开发指南
  7. 颜宁分享干货:给实验室博士的一些忠告
  8. ps怎么对比原图快捷键_PS教程:P图前后,你还能认出这是同一个人吗?
  9. 神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python函数)
  10. HAproxy + Keepalive实现LDAP代理服务
  11. 重装系统计算机无法启动,手把手教你电脑无法开机怎么重装系统
  12. array用法 numpy_Numpy统计计算、数组比较,看这篇就够了
  13. 高通WIFI模块QCA9377 调试
  14. 利用lasso回归建立预测模型并绘制列线图 二分类结局资料的lasso回归与列线图绘制
  15. 【pyhton数据预处理】利用pandas模块找出两excel表格差异并进行字段值比较
  16. 联合概率密度函数的基本结论
  17. 【独家】蒋步星:慎思笃行,数据创业者的真实一面
  18. Cy5 COOH非活性染料溶于有机溶剂1032678-07-1 科研
  19. 【CSS】如何设置行距、段落间距、缩进格式
  20. AM335X 内存配置

热门文章

  1. Android中startActivity中的permission检测与UID机制
  2. 【jQuery笔记Part1】07-jQuery操作css-添加删除切换类、开关灯泡案例
  3. GA遗传算法(Genetic Algorithm)
  4. c语言动态的申请矩阵存储空间,C语言中二维数组如何申请动态分配内存
  5. 能在ARC下跑的ASIHTTPRequest框架(以及升了5.0,用了ARC后N多开源框架不能用的解决方案) .
  6. views是什么意思_views是什么意思_views怎么读_views翻译_用法_发音_词组_同反义词_看( view的名词复数 )-新东方在线英语词典...
  7. idea2020.2中@test是怎么测试的_Sklearn 划分训练集和测试集
  8. python32位系统下载_pythonwin下载-PythonWin 32位(Python集成开发环境) 3.6 官方版 - 河东下载站...
  9. python 函数中参数的传递方式(三分钟读懂)
  10. 行星齿轮设计_3D打印用于制造刚度平衡的行星架