天天看点

内网环境中ruoyi若依实现微信小程序授权登录解决办法背景解决办法具体代码如下

背景

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