最近的一个项目在进行二次分享的时候出现了问题,定制的文案描述及图片都不能在分享后出现,如图所示:
经过十八般折腾,终于变成我想要的样式了,如图:
下面讲讲具体如何实现的。
首先,明白我们的需求是使由app分享到微信后的页面可以使用微信的二次分享功能做定制化的分享(如图所示)
然后开始着手做相关功能开发。
根据微信开发文档,知晓我们需要调用微信的api,获取对应的分享功能(朋友、朋友圈、qq)等,还需要一个对应的公众号或者服务号。理清思路后,接下来介绍关于各部分的具体处理,见下:
本地代码处理:
- 公共号的app_id, app_secret生成accesstoken
- 发送account=“****”以及经64转码的分享链接进行ajax请求api.ffan.com/ffan/v2/wechat/accessToken
- 根据获得的data设置wx.config({…}),wx.ready(function(){分享到朋友圈/qq...})
公众号/订阅号处理:
- 在公众号设置——功能设置——JS接口安全域名里,设置需要进行分享的域名白名单
- 在开发——基本配置里,设置开发者密码(不要轻易改变)
- 并设置ip白名单(发送请求获得accesstoken的机器ip地址),一般即公司的外网出口
- 自己公司的或者用微信提供的api获取access_token
综上,我们知道微信二次分享定制化需三条件:
- 使用微信sdk,官方方法设置分享
- 有可使用的微信服务号或者公众号,且保证分享链接的域名在此号的授权域中
- 授权域的相关目录里有相应号中的授权校验文件