微信公众号开发入门

微信公众号开发入门体验

最近这段时间公司启动了一个项目,其中包含了部分微信公众号功能,并且这些功能分配给了我。在这里将微信开发的一些注意的地方记录下来,以供参考。

功能难点

我接到的任务是需要如下功能:

  1. 生成带参数的二维码;
  2. 用户扫描二维码后,向其推送模板消息;
  3. 点击模板消息跳转到指定的url。 以上三个功能微信均提供了详细的开发文档,而且微信也提供测试号申请,不再赘述。
    然而微信无论是测试号还是公众号,在配置过程中都需要使用服务器url,微信服务器向该url发送get请求,测试该服务器url是否可用。这就造成了一个很严重的问题,那便是本地测试。
    在开发过程中,因为效率问题,是不可能将代码上传到服务器上进行测试的,也不可能直接在服务器上进行开发调试。

    解决办法

    在尝试上网搜索之后,发现大多数解决办法是使用内网穿透软件来达到本地测试的目的。然而内网穿透软件免费的服务是不稳定的,稳定的服务也是需要收费的,所以这也不是很好地解决办法。
    然后我在某网站上发现一个很简单的解决办法,那就是通过ssh建立与服务器的连接,在本地使用该连接即可与微信服务器相互访问。
    具体步骤如下:
  4. 首先你需要一台公网服务器(大多数程序员应该都会有自己的VPS),并且该服务器需要运行sshd服务;
  5. 在本地PC上执行代码ssh -R 8200:127.0.0.1:8080 wechat.demo.com
  6. 将微信设置中的服务器url设置为wechat.demo.com即可进行本地开发调试。

    方法原理

    本条解决办法主要依赖ssh工具,ssh的-R参数表示远程端口转发,详情请参考阮一峰大神的文章SSH原理与运用(二):远程操作与端口转发