背景
后台使用ruoyi-vue前后端分离版本,后台服务部署在内网服务器中,如何实现后台调用外网的微信接口,是解决问题的关键
解决办法
1、增加代理
2、切换到 http 访问
具体代码如下
主要是初始化配置这块代码
@Configuration public class WxAppMaConfig { @Value("${wx.appid}") private String appid; @Value("${wx.secret}") private String secret; @Value("${wx.httpProxyHost}") private String httpProxyHost; @Value("${wx.httpProxyPort}") private int httpProxyPort; @Value("${wx.miniapp.apiHostUrl}") private String apiHostUrl; @Bean public WxMaService wxMaService() { WxMaService service = new WxMaServiceImpl(); WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl(); config.setAppid(appid); config.setSecret(secret); config.setApiHostUrl(apiHostUrl); config.setHttpProxyHost(httpProxyHost); config.setHttpProxyPort(httpProxyPort); service.setWxMaConfig(config); return service; } }
说明
- config.setApiHostUrl(apiHostUrl); 切换到http访问微信接口
- config.setHttpProxyHost(httpProxyHost); 代理地址
- config.setHttpProxyPort(httpProxyPort); 代理端口
其中,apiHostUrl为微信接口地址:http://api.weixin.qq.com