用微信网页后,浏览器右上的菜单可以直接分享到朋友圈或其他好友,实在是传播利器。之前一直猜测分享功能是分析页面结构自动抓取 title 和 img 内容,今天看了文档后才发现微信还在 js sdk 中提供了配置功能(微信JS-SDK说明文档)。根据文档还可以配置打开分享到QQ空间、腾讯/新浪微博按钮,确实强大。文档最后还给了一个 sample,很幸运找到了 php 的版本,貌似实现完成度还挺高。在此基础上将 access token 的保存处理从磁盘文件修改到 cache ,然后合并到我们网站。
增加微信分享功能的过程,文档中集成 sdk 的部分写得通俗易懂,前后端 sdk 也很稳定没出问题,耽误时间的主要倒是 appId 的原因。
微信下分别有公众和开放两个平台,之前在开放平台上创建 app 已经获得了一组 key/secret,没留意这个功能是属于公众平台范畴,直接拿来使用果然一直不成功。折磨了很久才意识到这个问题,和管理员要到公众平台的 key/secret 后一次调起。
在完成业务逻辑的过程中,需要将文章正文提取到微信分享的 desc 中。正文是富文本标签字符串,通过 smarty 传给 js 使用。看到 js 脱标签各种 trick 果断使用 php 后端 strip_tags。目前表面效果暂时满意,不过用户输入经过各种字串处理有心人应该能够完成注入攻击吧。