4

微信2018年11月16日发公告称,个人主体注册公众号数量上限由2个调整为1个。企业类主体注册公众号数量上限由5个调整为2个。这个对马上要注册公众号的企业来说顿时心情不好了。

大家都知道每个微信公众号在进行开发时,授权回调的域名只能设置一个,正常的开发一般一套环境就对应一个域名。

一般公司研发都会部署四套环境:

  1. 研发环境,用户模块间联调。
  2. 测试环境,用户测试人员进行测试。
  3. 仿真环境,一个与生产环境的各方面配置比较相似的一个环境,用于上线前的各项功能验证。
  4. 生产环境,真正面对用户的环境。

四套环境会每个对应一个域名,如果一个环境对应一个微信公众号的话就需要四个微信公众号,对于微信产品业务比较多的公司来讲这有点杯水车薪:

一个企业现在最多能申请2个公众号,多套环境根本不够用的。

申请多个公众号,每年还要重新缴费审核,麻烦。

如何解决这个问题呢?通过以下两步就能解决:

本地开发联调时可以自己申请测试公众号,研发环境也可以使用测试公众号。

测试环境、仿真环境和生产环境共用一个公众号。

申请测试公众号联调测试

首先,在浏览器打开http://mp.weixin.qq.com/debug...,扫描关注后登录,需要填写接口配置。

其次,申请一个公网能访问的域名,推荐用natapp,启动后能够做内网穿透到本机进行聊天,非常方便。

最后,填写JS接口安全域名 ,设置JS接口安全域后,通过关注该测试号,开发者即可在该域名下调用微信开放的JS接口,请阅读微信JSSDK开发文档。

一个公众号支持多套环境同时使用

首先,申请一个独立的二级域名如wx.mydomain.com,专门用来做微信授权回调的域名。

然后,在每个使用虚拟路径来区分不同的环境如:

wx.mydomain.com/prod/ 指向生产环境的实际微服务地址。

wx.mydomain.com/fz/ 反向代理到仿真环境。

wx.mydomain.com/test/ 反向代理到测试环境。

wx.mydomain.com/dev/ 反向代理到研发环境。

最后,在配置文件中增加一个变量weixin.env,

生产环境 weixin.env=prod

仿真环境 weixin.env=fz

测试环境 weixin.env=test

研发环境 weixin.env=dev

举例,访问用户订单列表的页面就由原来的{weixin.env}.mydomain.com/order/list.html变为wx.mydomain.com/{weixin.env}/order/list.html,生产环境访问用户订单列表的页面就由原来prod.mydomain.com/order/list.html变为wx.mydomain.com/prod/order/list.html。其他环境的类似,反向代理可以使用nginx,也可以使用SpringCloudGateway进行处理。

怎么样?你看明白了?如果喜欢就转发起来吧!


开物笔记
382 声望349 粉丝

10年架构经验,擅长微服务架构,物联网微服务架构。