Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >前端-小程序分享,看这篇就够了

前端-小程序分享,看这篇就够了

作者头像
grain先森
发布于 2019-03-29 03:29:53
发布于 2019-03-29 03:29:53
3K00
代码可运行
举报
文章被收录于专栏:grain先森grain先森
运行总次数:0
代码可运行

官方文档

最近在调研小程序的分享能力,本篇文档主要是调研小程序关于分享方面的玩法,目的是学习小程序在项目应用以及玩法链上的扩展。

API层面

onShareAppMessage

小程序如果想对外分享,必须在page里面定义onShareAppMessage函数,来配置页面分享转发相关的信息。

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

一个页面可能会有多个分享,可以由插入的参数options来判断具体是由哪个位置进行分享,从而做不同的逻辑判断。

return对象的返回函数:

如果定义了该事件,又不想通过页面menu转发,可以通过hideShareMenu来隐藏掉

注意事项:

  • 转发后不添加imageUrl的话,将截图作为转发的默认图片。
  • from 字段可以通过在转发成功后调取的 success、complete 来进行对 menu 和 button 的不同操作
  • 如果有携带 shareTicket 值,会在 success 回调产生,返回结果在 shareTickets 字段中,是一个数组,可以做一定处理

wx.showShareMenu

一般是用来配置相关的参数,常见的如withShareTicket,用它来获取群信息,群的相关标示。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wx.showShareMenu({
  withShareTicket: true
})

wx.hideShareMenu

隐藏menu级别的转发功能,但是button中还存在着转发。

如果先设置 showShareMenu ,并且配置了 withShareTicket,再用 hideShareMenu 方法,通过按钮转发,照样能获取 shareTicket,如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wx.showShareMenu({
  withShareTicket: true
})
wx.hideShareMenu({
})

wx.updateShareMenu

更新shareMenu信息需要用update操作哦,这里需要注意下,一般都是会更新withShareTicket属性。

wx.getShareInfo

在拿到了shareTicket信息后,可以由此API获取转发详细信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wx.getShareInfo({
    shareTicket: res.shareTickets[0],
    success: ...
    fail: ...
})

相关回调的参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    errMsg: "getShareInfo:ok", 
    iv: "gRHeFU+Nhr36RmladCXnRQ==", 
    encryptedData: "IQ/RwZLeQFUGuxv0bBfOrL/KLnXO+bxcyCBru5lB92FkHIg8ae…7TnHwU+rqgerFKvpvS5JbFyh+9liUqyb2bk6/LETYQ+h/FQ=="
}

由iv和encryptedData进行解密,可以拿到openGId的值。为当前群对当前小程序的唯一值。额外还可以拿到群名称等更多的开放数据。

button转发

页面内需要转发时,需要给button组件设置open-type="share",并在触发的地方判断来源。

获取分享链接流程

在小程序中,获取openGId主要有两种途径,也一般围绕着两种途径做分享相关的开发:

  • 当用户打开withShareTicket的卡片时,可以在onLauch或者getShareInfo中获取加密信息,并且传给服务端获得openGId。
  • 当用户分享成功后,会在回调里收到一个shareTicket,然后通过getShareInfo来获得加密信息,获得openGId。

拓展玩法

APP分享到小程序

传统APP要以小程序卡片的形式分享到微信,需要满足以下几个条件:

  • 要求发起分享的App与小程序属于同一微信开放平台帐号;
  • 支持分享小程序类型消息至好友会话,不支持“分享至朋友圈” “收藏”;
  • 微信客户端版本要求:6.5.6及以上微信客户端版本,若客户端版本低于6.5.6,小程序类型分享将自动转成网页类型分享。开发者必须填写网页链接字段,确保低版本客户端能正常打开网页链接;
  • 支持分享大图卡片样式,自定义图片建议长宽比是 5:4。6.5.9及以上版本微信客户端小程序类型分享使用大图卡片样式。
  • 支持分享开发版/体验版小程序,为支持开发者调试,开发者工具包支持分享开发版/体验版小程序至微信,开发者可控制分享的小程序版本。

具体流程图如下:

朋友圈打开小程序

在朋友圈中,发布图片附带小程序二维码,用户把图片分享到朋友圈中,看到的一方即可长恩识别在微信中打开小程序。通过这个玩法,实现了把小程序「分享」到朋友圈。

至于图片的生成,canvas和服务器端生成都是比较成熟的解决方案。

小程序支持打开APP

可以用小程序打开任何移动应用?(答案是不能)

可以打开自己的App?(答案是有限制性地打开)

可以打开系统自带的浏览器?(答案是不能)

可以打开第三方的移动应用呢?(答案也是不能)

可以引导并跳转到应用市场下载 App? (答案也是不能)

这个玩法有一个前提:小程序卡片必须是由APP分享出去,才可以打开APP

功能流程图如下:

该途径可以作为小程序对于app的补充:产品可以通过 App 和小程序实现场景互补。

比如用户 Sherry 将一个文档分享给用户 Kevin,Kevin 可以在小程序内直接查看。如果需要编辑,则可以直接打开 App 完成协同处理。这样一来,小程序不需要做的很重,只需满足基本功能,更多功能由 App 来补充。

case举例:用户代打车,用户A想让用户B代打车,用户A将行程分享给用户B,用户B微信打开小程序之后,跳转美团打车APP完成相关复杂操作。

小程序向公众号导流

在小程序中,可以利用一些引导性文案指引用户点击进入客服会话页面,然后客服自动回复一条公众号图文消息,而图文消息则有引导关注公众号获取更多服务的指引文案。(经典用法,但是小心被封

小程序和微信卡劵能力结合

比较小众的玩法:用户可以从小程序中快速领取会员卡和优惠券,也可以从卡包中的会员卡直达小程序。

增加接入途径:从卡包直接进入(发卡需要注册并认证)

作者:大明 https://juejin.im/post/5b4418fee51d4519115cde19

往期精彩

vue 实践技巧合集

移动端调试痛点?——送你五款前端开发利器

一个前端菜鸟的成长历程

你或许不知道Vue的这些小技巧

Vue-cli 3 中新的用户图形化界面

小公司的前端可以怎么做?

vue和微信小程序的区别、比较

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.09.17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
群用户通过微信小程序可以更好地协作了
  今天,小程序向开发者开放了群ID的接口能力。简单地说,就是当你把小程序分享在群聊中,被点击后开发者可获取群ID和群名称,也方便更好地针对群场景提供个性化服务。不同的群有各自的群ID,那么这个新能力开发者该怎么使用? 群用户间可以更好地协作 大家都知道,小程序可以方便地在群聊中分享,但开发者难以识别不同用户的点击路径。 现在,通过最新的接口能力,开发者可以通过群ID判断用户是否来自同一个微信群,同一个群内的用户之间可以更好地使用小程序进行协作,例如共同编辑文档、协同合作、共同点餐等等。 提供更个性化的服
ytkah
2018/03/06
1.5K0
小程序的分享与社交功能实现
微信小程序的分享与社交功能是提升用户增长和互动的重要手段。 通过转发、群分享、动态消息等方式,小程序可以增强传播效果,提高留存率。 本文将详细解析小程序分享功能的实现,并提供实际代码示例,最后总结优化建议和参考资料。
LucianaiB
2025/01/29
8220
小程序分享
onShareAppMessage()方法 1、在页面中调用wx.hideShareMenu() 2、删掉onShareAppMessage()回调方法
达达前端
2019/07/03
1.1K0
开发 | 如何在小程序中,获取微信群 ID?
微信在 5 月 8 日晚间,突然又宣布了一个新能力——小程序可以读取微信群的唯一 ID。
知晓君
2018/08/01
6K0
开发 | 如何在小程序中,获取微信群 ID?
微信小程序 转发、分享、预览
之前做过的微信小程序项目,则涉及到很多转发分享的功能,例如 页面的分享-到朋友圈-好友,文件(图片 doc pdf )的分享给好友等等,开发中用到的api方法和遇到的问题,今天在这里统一总结记录下。
iwhao
2024/07/01
1.9K0
我做了一个成语接龙的小程序
我是一名安卓程序员,以前没有接触过前端开发,直到有幸接手了公司的小程序项目。小程序学起来还是很快的,对于有编程经验的人,看着示例代码,对照着官方文档,几天就能上手了。
NanBox
2019/07/09
1.8K0
微信小程序开放「分享到朋友圈」功能
2020年7月7日(据说是6日深夜),一个很特别的日子,微信低调地放开了一个功能:微信小程序“分享到到朋友圈”,这个看似微小的变化,对微信小程序来说意义重大。
Jianbo
2020/07/09
3.6K0
微信小程序开放「分享到朋友圈」功能
App分享微信小程序
之前一直分享到公众号,由于公众号很难维护,小程序出现后,开发了小程序,于是准备直接打开分享连接跳到小程序。
honey缘木鱼
2018/09/26
9.4K0
App分享微信小程序
小程序如何区分转发好友和转发群
知晓程序员,专注微信小程序开发的程序员! 前言:群内隔段时间就有同学问,小程序的转发,是否可以区分转发给好友,还是转发给微信群,今天给大家说说如何区分。顺便说一下限群成员可见功能如何实现~ 这个问题,要区分一下分享之前和分享之后就好办了。 当小程序分享之前,小程序无法区分到底是分享给了好友,还是分享给了微信群。也就是说,你想在分享之前去做些事情,这是不可以的,做不到~ 分享之后,有间接的办法来知道小程序卡片分享的是好友还是群,先看一下截图: (重要通知小程序) 我们今天主要来说说,分享后是如何对好
连胜
2018/03/07
2.1K0
小程序如何区分转发好友和转发群
微信小程序文档学习笔记
目录结构 1.为了方便开发者减少配置项,描述页面的四个文件必须具有相同的路径与文件名。
治电小白菜
2020/08/25
1.4K0
微信小程序文档学习笔记
一文教会你|uniapp微信小程序分享怎么写?uniapp 微信小程序当前页面未设置分享?
打开项目的manifest.json文件,在“App模块配置”项的“Share(分享)”下,勾选“微信分享”:
肥晨
2024/07/12
4K0
一文教会你|uniapp微信小程序分享怎么写?uniapp 微信小程序当前页面未设置分享?
想开发微信小游戏,先看看腾讯是如何制定规则的
关键时刻,第一时间送达! 作者 | 凌华彬、王哲 责编 | 徐威龙 一、前言 在第一篇文章《微信小游戏开发上手》中,我们给大家介绍了上手微信小游戏开发所需要的知识,以及小游戏的开发环境和工具。学会如何开发小游戏固然重要,但是更重要的是,什么样的游戏更适合小游戏环境和它的用户。 我们都知道小游戏是运行在微信内部的游戏环境中的,那么微信用户也就是小游戏的潜在用户,这些用户在使用微信时,会被什么样的游戏所吸引?会分享什么样的游戏?什么样的游戏能融入用户的社交过程?这些在今天都没有最佳的答案,开发者们都在探索,
企鹅号小编
2018/02/06
2.8K0
想开发微信小游戏,先看看腾讯是如何制定规则的
开发 | 一个 Android 开发者的小程序开发之旅
我是一名 Android 开发程序员,以前没有接触过前端开发,直到接手了公司的小程序项目,才开始逐渐接触前端领域。
知晓君
2018/07/30
7040
你真的了解小程序的自定义编译功能嘛?
微信开发者工具最新的版本里面已经校验了app.json里面的重复pages,之前可以直接把你想要的page放在第一行,默认就会先加载这个page,现在只能通过自定义编译来实现了,先来看一下自定义编译:
连胜
2018/03/07
2.3K0
你真的了解小程序的自定义编译功能嘛?
【微信小程序】小程序自定义随机分享图片
 🍉🍉🍉大家好,我是痴心阿文,你们的学友哥 。 本章内容:微信小程序分享功能,支持自定义分享随机图片。看完需要花费5分钟,效果图如下:   🍉🍉🍉HTML 区域 <button open-type='share' type='warn' size="mini" plain="true" id='btnShare0'>推荐给好友</button>   🍉🍉🍉JS区域  //分享功能 onShareAppMessage: function (res) { var shareimg
痴心阿文
2022/11/18
1.2K0
【微信小程序】小程序自定义随机分享图片
零基础入门小程序 &实战经验分享
讲师介绍:连胜老师曾经就职于点心移动 & 百度,折腾小程序也有段时间了,参与开发的“小小签到”小程序,在2017年荣获阿拉丁神灯奖。我公司开发了多个工具类小程序,已有四款小程序的用户超百万,欢迎各位小程序开发者一起交流学习~ 内容总结:本文主要分享小程序开发入门,以及我在开发中踩过的一些坑。希望通过本篇文章的分享,能让更多的小程序入门者少走弯路。 一、如何注册一个小程序 第一种方式,直接去官网注册。 官方注册地址:https://mp.weixin.qq.com/,点击右上角的“立即注册”。 然后
连胜
2018/04/12
2.3K0
零基础入门小程序 &实战经验分享
如何在微信群 PK 步数?他做的小程序,比微信运动更好用 | 晓组织 #10
大家好,我是龚乘伟。现就职于美的电商,是一名前端开发工程师,也是一名去年的应届毕业生。
知晓君
2018/08/01
1.8K0
如何在微信群 PK 步数?他做的小程序,比微信运动更好用 | 晓组织 #10
全栈开发工程师微信小程序-上
wx:for是列表渲染标签,默认当前循环项的变量名为item.wx:key用于在动态列表渲染中保存子项的特征和状态.
达达前端
2019/07/03
7950
全栈开发工程师微信小程序-上
小程序分享页面和分享朋友圈
业务描述 有时候我们需要对小程序页面进行发送给好友或者分享朋友圈的操作 实现步骤 用户点击右上角分享给好友,要先在分享好友这里设置menus的两个参数,才可以分享朋友圈 onShareAppMessage: function() { // wx.showShareMenu({ // withShareTicket: true, // menus: ['shareAppMessage', 'shareTimeline'] // }) return {
用户6493868
2022/03/07
8650
微信小程序设置全局分享
代码已上传至github github代码地址:https://github.com/Miofly/mio.git
用户10106350
2022/10/28
1.8K0
推荐阅读
相关推荐
群用户通过微信小程序可以更好地协作了
更多 >
交个朋友
加入腾讯云技术交流站
前端技术前沿探索 云开发实战案例分享
加入前端工作实战群
前端工程化实践 组件库开发经验分享
加入前端趋势交流群
追踪前端新趋势 交流学习心得
换一批
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档