微信公众号开发入门体验
最近这段时间公司启动了一个项目,其中包含了部分微信公众号功能,并且这些功能分配给了我。在这里将微信开发的一些注意的地方记录下来,以供参考。
功能难点
我接到的任务是需要如下功能:
- 生成带参数的二维码;
- 用户扫描二维码后,向其推送模板消息;
- 点击模板消息跳转到指定的url。
以上三个功能微信均提供了详细的开发文档,而且微信也提供测试号申请,不再赘述。
然而微信无论是测试号还是公众号,在配置过程中都需要使用服务器url,微信服务器向该url发送get请求,测试该服务器url是否可用。这就造成了一个很严重的问题,那便是本地测试。
在开发过程中,因为效率问题,是不可能将代码上传到服务器上进行测试的,也不可能直接在服务器上进行开发调试。解决办法
在尝试上网搜索之后,发现大多数解决办法是使用内网穿透软件来达到本地测试的目的。然而内网穿透软件免费的服务是不稳定的,稳定的服务也是需要收费的,所以这也不是很好地解决办法。
然后我在某网站上发现一个很简单的解决办法,那就是通过ssh建立与服务器的连接,在本地使用该连接即可与微信服务器相互访问。
具体步骤如下: - 首先你需要一台公网服务器(大多数程序员应该都会有自己的VPS),并且该服务器需要运行sshd服务;
- 在本地PC上执行代码
ssh -R 8200:127.0.0.1:8080 wechat.demo.com
; - 将微信设置中的服务器url设置为wechat.demo.com即可进行本地开发调试。
方法原理
本条解决办法主要依赖ssh工具,ssh的-R参数表示远程端口转发,详情请参考阮一峰大神的文章SSH原理与运用(二):远程操作与端口转发。