✨ 微信开放平台服务集成
This commit is contained in:
parent
a18d3847d8
commit
4736f383ce
10
pom.xml
10
pom.xml
@ -175,16 +175,6 @@
|
|||||||
<artifactId>jodd-http</artifactId>
|
<artifactId>jodd-http</artifactId>
|
||||||
<version>5.0.13</version>
|
<version>5.0.13</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>com.github.binarywang</groupId>
|
|
||||||
<artifactId>weixin-java-mp</artifactId>
|
|
||||||
<version>3.7.0</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.github.binarywang</groupId>
|
|
||||||
<artifactId>weixin-java-miniapp</artifactId>
|
|
||||||
<version>3.7.0</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.binarywang</groupId>
|
<groupId>com.github.binarywang</groupId>
|
||||||
<artifactId>weixin-java-open</artifactId>
|
<artifactId>weixin-java-open</artifactId>
|
||||||
|
124
src/main/java/com/rymcu/vertical/config/RedisProperties.java
Normal file
124
src/main/java/com/rymcu/vertical/config/RedisProperties.java
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
package com.rymcu.vertical.config;
|
||||||
|
|
||||||
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
|
import redis.clients.jedis.JedisPoolConfig;
|
||||||
|
import redis.clients.jedis.Protocol;
|
||||||
|
|
||||||
|
import javax.net.ssl.HostnameVerifier;
|
||||||
|
import javax.net.ssl.SSLParameters;
|
||||||
|
import javax.net.ssl.SSLSocketFactory;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author <a href="https://github.com/007gzs">007</a>
|
||||||
|
*/
|
||||||
|
@ConfigurationProperties(prefix = "spring.redis")
|
||||||
|
public class RedisProperties extends JedisPoolConfig {
|
||||||
|
private String host = Protocol.DEFAULT_HOST;
|
||||||
|
private int port = Protocol.DEFAULT_PORT;
|
||||||
|
private String password;
|
||||||
|
private int database = 1;
|
||||||
|
private int connectionTimeout = Protocol.DEFAULT_TIMEOUT;
|
||||||
|
private int soTimeout = Protocol.DEFAULT_TIMEOUT;
|
||||||
|
private String clientName;
|
||||||
|
private boolean ssl;
|
||||||
|
private SSLSocketFactory sslSocketFactory;
|
||||||
|
private SSLParameters sslParameters;
|
||||||
|
private HostnameVerifier hostnameVerifier;
|
||||||
|
|
||||||
|
public boolean isSsl() {
|
||||||
|
return ssl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSsl(boolean ssl) {
|
||||||
|
this.ssl = ssl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SSLSocketFactory getSslSocketFactory() {
|
||||||
|
return sslSocketFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSslSocketFactory(SSLSocketFactory sslSocketFactory) {
|
||||||
|
this.sslSocketFactory = sslSocketFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SSLParameters getSslParameters() {
|
||||||
|
return sslParameters;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSslParameters(SSLParameters sslParameters) {
|
||||||
|
this.sslParameters = sslParameters;
|
||||||
|
}
|
||||||
|
|
||||||
|
public HostnameVerifier getHostnameVerifier() {
|
||||||
|
return hostnameVerifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHostnameVerifier(HostnameVerifier hostnameVerifier) {
|
||||||
|
this.hostnameVerifier = hostnameVerifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHost() {
|
||||||
|
return host;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHost(String host) {
|
||||||
|
if (host == null || "".equals(host)) {
|
||||||
|
host = Protocol.DEFAULT_HOST;
|
||||||
|
}
|
||||||
|
this.host = host;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getPort() {
|
||||||
|
return port;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPort(int port) {
|
||||||
|
this.port = port;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPassword() {
|
||||||
|
return password;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPassword(String password) {
|
||||||
|
if ("".equals(password)) {
|
||||||
|
password = null;
|
||||||
|
}
|
||||||
|
this.password = password;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getDatabase() {
|
||||||
|
return database;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDatabase(int database) {
|
||||||
|
this.database = database;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getClientName() {
|
||||||
|
return clientName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setClientName(String clientName) {
|
||||||
|
if ("".equals(clientName)) {
|
||||||
|
clientName = null;
|
||||||
|
}
|
||||||
|
this.clientName = clientName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getConnectionTimeout() {
|
||||||
|
return connectionTimeout;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setConnectionTimeout(int connectionTimeout) {
|
||||||
|
this.connectionTimeout = connectionTimeout;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getSoTimeout() {
|
||||||
|
return soTimeout;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSoTimeout(int soTimeout) {
|
||||||
|
this.soTimeout = soTimeout;
|
||||||
|
}
|
||||||
|
}
|
@ -37,6 +37,8 @@ public class WxOpenApiController {
|
|||||||
|
|
||||||
@GetMapping("/goto_auth_url")
|
@GetMapping("/goto_auth_url")
|
||||||
public void gotoPreAuthUrl(HttpServletRequest request, HttpServletResponse response){
|
public void gotoPreAuthUrl(HttpServletRequest request, HttpServletResponse response){
|
||||||
|
System.out.println("===================================Host:");
|
||||||
|
System.out.println(request.getHeader("host"));
|
||||||
String host = request.getHeader("host");
|
String host = request.getHeader("host");
|
||||||
String url = "http://"+host+"/vertical-console/wx/open/auth/jump";
|
String url = "http://"+host+"/vertical-console/wx/open/auth/jump";
|
||||||
try {
|
try {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.rymcu.vertical.wx.open.controller;
|
package com.rymcu.vertical.wx.open.controller;
|
||||||
|
|
||||||
import com.rymcu.vertical.wx.open.handler.WxOpenServiceHandler;
|
import com.rymcu.vertical.wx.open.handler.WxOpenServiceHandler;
|
||||||
|
import me.chanjar.weixin.common.api.WxConsts;
|
||||||
import me.chanjar.weixin.common.error.WxErrorException;
|
import me.chanjar.weixin.common.error.WxErrorException;
|
||||||
import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
|
import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
|
||||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
|
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
|
||||||
@ -22,6 +23,13 @@ public class WxOpenNotifyController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
protected WxOpenServiceHandler wxOpenService;
|
protected WxOpenServiceHandler wxOpenService;
|
||||||
|
|
||||||
|
/**全网发布官方测试小程序 AppId*/
|
||||||
|
private final static String testMiniProgramAppId = "wxd101a85aa106f53e";
|
||||||
|
/**全网发布官方测试公众号 AppId*/
|
||||||
|
private final static String testMpAppId = "wx570bc396a51b8ff8";
|
||||||
|
private final static String TESTCOMPONENT_MSG_TYPE_TEXT = "TESTCOMPONENT_MSG_TYPE_TEXT";
|
||||||
|
private final static String TESTCOMPONENT_MSG_TYPE_TEXT_callback = "TESTCOMPONENT_MSG_TYPE_TEXT_callback";
|
||||||
|
|
||||||
@RequestMapping("/receive_ticket")
|
@RequestMapping("/receive_ticket")
|
||||||
public Object receiveTicket(@RequestBody(required = false) String requestBody, @RequestParam("timestamp") String timestamp,
|
public Object receiveTicket(@RequestBody(required = false) String requestBody, @RequestParam("timestamp") String timestamp,
|
||||||
@RequestParam("nonce") String nonce, @RequestParam("signature") String signature,
|
@RequestParam("nonce") String nonce, @RequestParam("signature") String signature,
|
||||||
@ -76,12 +84,12 @@ public class WxOpenNotifyController {
|
|||||||
wxOpenService.getWxOpenConfigStorage(), timestamp, nonce, msgSignature);
|
wxOpenService.getWxOpenConfigStorage(), timestamp, nonce, msgSignature);
|
||||||
this.logger.debug("\n消息解密后内容为:\n{} ", inMessage.toString());
|
this.logger.debug("\n消息解密后内容为:\n{} ", inMessage.toString());
|
||||||
// 全网发布测试用例
|
// 全网发布测试用例
|
||||||
if (StringUtils.equalsAnyIgnoreCase(appId)) {
|
if (StringUtils.equalsAnyIgnoreCase(appId, testMiniProgramAppId, testMpAppId)) {
|
||||||
try {
|
try {
|
||||||
if (StringUtils.equals(inMessage.getMsgType(), "text")) {
|
if (StringUtils.equals(inMessage.getMsgType(), WxConsts.XmlMsgType.TEXT)) {
|
||||||
if (StringUtils.equals(inMessage.getContent(), "TESTCOMPONENT_MSG_TYPE_TEXT")) {
|
if (StringUtils.equals(inMessage.getContent(), TESTCOMPONENT_MSG_TYPE_TEXT)) {
|
||||||
out = WxOpenXmlMessage.wxMpOutXmlMessageToEncryptedXml(
|
out = WxOpenXmlMessage.wxMpOutXmlMessageToEncryptedXml(
|
||||||
WxMpXmlOutMessage.TEXT().content("TESTCOMPONENT_MSG_TYPE_TEXT_callback")
|
WxMpXmlOutMessage.TEXT().content(TESTCOMPONENT_MSG_TYPE_TEXT_callback)
|
||||||
.fromUser(inMessage.getToUser())
|
.fromUser(inMessage.getToUser())
|
||||||
.toUser(inMessage.getFromUser())
|
.toUser(inMessage.getFromUser())
|
||||||
.build(),
|
.build(),
|
||||||
|
Loading…
Reference in New Issue
Block a user