- 实现小程序分享朋友圈功能
一大早在各科技公众号有看到小程序支持直接分享到朋友圈,这么好的功能,忍不住要实践下。 根据官方文档走起,文档地址:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share-timeline.html 然后根据官方文档的意思,目前之支持Android版本,为什么IOS版本总是慢一些呢,(╯▔皿▔)╯ 接下来先上代码(需要注意的是得是最新版的预发布版本才行,下载链接:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html) [图片] [图片] 在需要分享的页面对应的js文件里面写入"onShareTimeline"即可,需要注意的是需要先编写"onShareAppMessage"方法。 [图片] 点击右上角三个点,出来的效果如下图所示 [图片][图片] 再次点击右下角得"查看小程序分享页"就可以看到类似官方文档上的效果,具体如下图所示: [图片][图片] 在Android手机端下载最新版本的小程序示例,也未发现对应的分享朋友圈功能,静候微信团队的更新
2020-07-08 - 微信小程序用户授权
背景 微信小程序只要与用户产生交互,都无法逃离用户信息管理,用户信息授权又是用户信息管理的最基础的服务。如想要深入学习用户授权,需要先了解一下 openID 和 UnionID 的区别。 openID 和 UnionID openID: openID 是微信生态下`应用的唯一标识`,开发者可以通过微信小程序(微信公众号)提供的静默授权拿到用户的 openID,这两个 openID 是独立的,无法关联到同一个用户。UnionID:UnionID 是微信生态下`用户的唯一标识`,开发者可以通过 UnionID 对不同应用对用户进行唯一绑定。现在我们只需要记住 openID 是应用的唯一标识,UnionID 是用户的唯一标识就 ok。 用户授权的目标就是获取用户的唯一标识,便于我们的应用更好的管理用户信息,授权分为静默授权和阻断授权。 静默授权 静默授权,顾名思义就是开发者可以在用户无感中的情况下,获取到用户唯一标识(这里是单个应用的),通过这个唯一标识映射到我们系统的 userId,有了 userId,与后端服务的交互全都通了,最简单的用户管理应该哦了。 静默授权的过程是这样的: 调用 wx.login() 获取 临时登录凭证code 调用 auth.code2Session 接口,换取用户唯一标识 openID 调用本地后台服务,将 openID 映射到本地的 userId详情过程可以参考微信官方文档提供的交互图 [猛击查看](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html) 对于只开发微信小程序这一个应用来说,拿到 openID 已经够用了,应用唯一标识就能很好的区分用户。 在实际应用中,我们会用到微信生态中的微信小程序、微信公众号等等,这个时候想在多个应用中唯一标识同一个用户,就需要用到 UnionID。 UnionID可以通过下面途径获取,摘自官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html 调用接口 wx.getUserInfo,从解密数据中获取 UnionID。注意本接口需要用户授权,请开发者妥善处理用户拒绝授权后的情况。如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号。开发者可以直接通过 wx.login + code2Session 获取到该用户 UnionID,无须用户再次授权。如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用。开发者也可以直接通过 wx.login + code2Session 获取到该用户 UnionID ,无须用户再次授权。用户在小程序(暂不支持小游戏)中支付完成后,开发者可以直接通过getPaidUnionId接口获取该用户的 UnionID,无需用户授权。注意:本接口仅在用户支付完成后的5分钟内有效,请开发者妥善处理。小程序端调用云函数时,如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号,可在云函数中通过 cloud.getWXContext 获取 UnionID。小程序端调用云函数时,如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用,也可在云函数中通过 cloud.getWXContext 获取 UnionID。阻断授权 阻断授权顾名思义就是需要用户参与才能完成的授权操作,一般是为了获得用户手机号和用户信息。 用户手机号 具体可以参考访问文档提供的API: [猛击查看](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html) 用户信息 具体可以参考访问文档提供的API: [猛击查看](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.html) 真实案例 我们用户体系是这样设计的,userId 和 token 共同决定用户的有效性。 静默授权的设计方案[图片] 手机号授权设计方法[图片] 用户信息授权[图片] 不同的业务场景处理方式会有差异,这个也只是针对当下我们的业务场景,希望对你有所有帮助,也欢迎大家一起交流沟通学习。
2020-03-15