天天看点

微信分享

开启debug,根据返回错误信息,查询微信开发文档。

一、某些问题

1、分享的标题和描述不显示;

2、分享的logo不显示;

3、必须在*.signature.cn环境下进行调试,否则无法访问用来签名的https://io.signature.cn服务;

4、io.signature.cn服务使用https协议通信,中间难以通过代理拦截;

5、分享相关微信jsbridge接口,只在微信app中存在,无法在本地开发环境调用。

二、解决方案

开启debug,根据返回错误信息,查询微信开发文档;

1、下载安装​​微信web开发者工具​​

2、下载并安装​​charles​​,​​下载并破解​​

3、打开charles,安装根证书

微信分享
微信分享

4、在proxy -> ssl proxying settings中,加入 *.signature.cn域名

微信分享

5、在tools -> map local 功能中,加入需要代理到本地的线上url到本地文件夹的对应关系

微信分享
微信分享

6、在​​微信开发者工具​​中,设置代理到charles端口

微信分享

7、在微信开发者工具中,打开线上地址,可以看到 js 文件已经被替换,这时候可以在同时有线上 api 和微信 jsbridge 的环境下进行调试。

http://m.signature.cn/

三、一些原因

1、 invalid signature

签名错误,后端排查。

2、 require subscribe

没有关注该测试公众号,微信关注。

四、如何关注测试公众号?

开发环境联调阶段,前端如果想自测微信分享功能,让后端同事打开链接​​http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login​​

用他自己的微信账号扫码登录“公众平台测试账号系统”, 此时他的手机显示登录成功,电脑跳转到新页面

​​https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index​​。

在这个用后端开发同事账号登录的页面内,前端同事打开自己的微信扫码关注测试公众号,即可前往项目页面扫码测试分享功能,图标就会出来了。

五、为什么需要关注后端同事的测试公众号?

因为后端代码中有设置appid,appsecret。后端开发或者测试同事相当于管理员,可以修改js接口安全域名,比如开发环境,测试环境。

博客签名:敬畏生命,珍惜时间,热爱生活。

继续阅读