背景
后台使用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