51 lines
1.4 KiB
Java
51 lines
1.4 KiB
Java
package com.yupi.springbootinit.config;
|
|
|
|
import lombok.Data;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import me.chanjar.weixin.mp.api.WxMpService;
|
|
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
|
|
import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
|
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
/**
|
|
* 微信开放平台配置
|
|
*
|
|
* @author <a href="https://github.com/liyupi">程序员鱼皮</a>
|
|
* @from <a href="https://yupi.icu">编程导航知识星球</a>
|
|
*/
|
|
@Slf4j
|
|
@Configuration
|
|
@ConfigurationProperties(prefix = "wx.open")
|
|
@Data
|
|
public class WxOpenConfig {
|
|
|
|
private String appId;
|
|
|
|
private String appSecret;
|
|
|
|
private WxMpService wxMpService;
|
|
|
|
/**
|
|
* 单例模式(不用 @Bean 是为了防止和公众号的 service 冲突)
|
|
*
|
|
* @return
|
|
*/
|
|
public WxMpService getWxMpService() {
|
|
if (wxMpService != null) {
|
|
return wxMpService;
|
|
}
|
|
synchronized (this) {
|
|
if (wxMpService != null) {
|
|
return wxMpService;
|
|
}
|
|
WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl();
|
|
config.setAppId(appId);
|
|
config.setSecret(appSecret);
|
|
WxMpService service = new WxMpServiceImpl();
|
|
service.setWxMpConfigStorage(config);
|
|
wxMpService = service;
|
|
return wxMpService;
|
|
}
|
|
}
|
|
} |