@@ -105,8 +105,9 @@ | |||||
<module>weixin-java-pay</module> | <module>weixin-java-pay</module> | ||||
<module>weixin-java-miniapp</module> | <module>weixin-java-miniapp</module> | ||||
<module>weixin-java-open</module> | <module>weixin-java-open</module> | ||||
<module>starters/wx-java-pay-starter</module> | |||||
<module>starters/wx-java-mp-starter</module> | |||||
<module>spring-boot-starters/wx-java-pay-spring-boot-starter</module> | |||||
<module>spring-boot-starters/wx-java-mp-spring-boot-starter</module> | |||||
<module>spring-boot-starters/wx-java-miniapp-spring-boot-starter</module> | |||||
<!--module>weixin-java-osgi</module--> | <!--module>weixin-java-osgi</module--> | ||||
</modules> | </modules> | ||||
@@ -0,0 +1,26 @@ | |||||
# 使用说明 | |||||
1. 在自己的Spring Boot项目里,引入maven依赖 | |||||
```xml | |||||
<dependency> | |||||
<groupId>com.github.binarywang</groupId> | |||||
<artifactId>wx-java-miniapp-spring-boot-starter</artifactId> | |||||
<version>${version}</version> | |||||
</dependency> | |||||
``` | |||||
2. 添加配置(application.yml) | |||||
```yml | |||||
wx: | |||||
miniapp: | |||||
appid: 111 | |||||
secret: 111 | |||||
token: 111 | |||||
aesKey: 111 | |||||
msgDataFormat: JSON | |||||
``` | |||||
@@ -0,0 +1,68 @@ | |||||
<?xml version="1.0" encoding="UTF-8"?> | |||||
<project xmlns="http://maven.apache.org/POM/4.0.0" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||||
<parent> | |||||
<artifactId>wx-java</artifactId> | |||||
<groupId>com.github.binarywang</groupId> | |||||
<version>3.4.9.B</version> | |||||
<relativePath>../../</relativePath> | |||||
</parent> | |||||
<modelVersion>4.0.0</modelVersion> | |||||
<artifactId>wx-java-miniapp-spring-boot-starter</artifactId> | |||||
<name>WxJava - Spring Boot Starter for MiniApp</name> | |||||
<description>微信小程序开发的 Spring Boot Starter</description> | |||||
<properties> | |||||
<spring.boot.version>2.1.4.RELEASE</spring.boot.version> | |||||
</properties> | |||||
<dependencies> | |||||
<dependency> | |||||
<groupId>org.springframework.boot</groupId> | |||||
<artifactId>spring-boot-autoconfigure</artifactId> | |||||
<version>${spring.boot.version}</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.springframework.boot</groupId> | |||||
<artifactId>spring-boot-configuration-processor</artifactId> | |||||
<version>${spring.boot.version}</version> | |||||
<optional>true</optional> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.projectlombok</groupId> | |||||
<artifactId>lombok</artifactId> | |||||
<scope>provided</scope> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>com.github.binarywang</groupId> | |||||
<artifactId>weixin-java-miniapp</artifactId> | |||||
<version>${project.version}</version> | |||||
</dependency> | |||||
</dependencies> | |||||
<build> | |||||
<plugins> | |||||
<plugin> | |||||
<groupId>org.springframework.boot</groupId> | |||||
<artifactId>spring-boot-maven-plugin</artifactId> | |||||
<version>${spring.boot.version}</version> | |||||
</plugin> | |||||
<plugin> | |||||
<groupId>org.apache.maven.plugins</groupId> | |||||
<artifactId>maven-source-plugin</artifactId> | |||||
<version>2.2.1</version> | |||||
<executions> | |||||
<execution> | |||||
<id>attach-sources</id> | |||||
<goals> | |||||
<goal>jar-no-fork</goal> | |||||
</goals> | |||||
</execution> | |||||
</executions> | |||||
</plugin> | |||||
</plugins> | |||||
</build> | |||||
</project> |
@@ -0,0 +1,50 @@ | |||||
package com.binarywang.spring.starter.wxjava.miniapp.config; | |||||
import cn.binarywang.wx.miniapp.api.WxMaService; | |||||
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl; | |||||
import cn.binarywang.wx.miniapp.config.WxMaConfig; | |||||
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl; | |||||
import com.binarywang.spring.starter.wxjava.miniapp.properties.WxMaProperties; | |||||
import lombok.AllArgsConstructor; | |||||
import org.apache.commons.lang3.StringUtils; | |||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; | |||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | |||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | |||||
import org.springframework.boot.context.properties.EnableConfigurationProperties; | |||||
import org.springframework.context.annotation.Bean; | |||||
import org.springframework.context.annotation.Configuration; | |||||
/** | |||||
* 自动配置. | |||||
* | |||||
* @author <a href="https://github.com/binarywang">Binary Wang</a> | |||||
* @date 2019-08-10 | |||||
*/ | |||||
@AllArgsConstructor | |||||
@Configuration | |||||
@ConditionalOnClass(WxMaService.class) | |||||
@EnableConfigurationProperties(WxMaProperties.class) | |||||
@ConditionalOnProperty(prefix = "wx.miniapp", value = "enabled", matchIfMissing = true) | |||||
public class WxMaAutoConfiguration { | |||||
private WxMaProperties properties; | |||||
/** | |||||
* 小程序service. | |||||
* | |||||
* @return 小程序service | |||||
*/ | |||||
@Bean | |||||
@ConditionalOnMissingBean(WxMaService.class) | |||||
public WxMaService service() { | |||||
WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl(); | |||||
config.setAppid(StringUtils.trimToNull(this.properties.getAppid())); | |||||
config.setSecret(StringUtils.trimToNull(this.properties.getSecret())); | |||||
config.setToken(StringUtils.trimToNull(this.properties.getToken())); | |||||
config.setAesKey(StringUtils.trimToNull(this.properties.getAesKey())); | |||||
config.setMsgDataFormat(StringUtils.trimToNull(this.properties.getMsgDataFormat())); | |||||
final WxMaServiceImpl service = new WxMaServiceImpl(); | |||||
service.setWxMaConfig(config); | |||||
return service; | |||||
} | |||||
} |
@@ -0,0 +1,39 @@ | |||||
package com.binarywang.spring.starter.wxjava.miniapp.properties; | |||||
import lombok.Data; | |||||
import org.springframework.boot.context.properties.ConfigurationProperties; | |||||
/** | |||||
* 属性配置类. | |||||
* | |||||
* @author <a href="https://github.com/binarywang">Binary Wang</a> | |||||
* @date 2019-08-10 | |||||
*/ | |||||
@Data | |||||
@ConfigurationProperties(prefix = "wx.miniapp") | |||||
public class WxMaProperties { | |||||
/** | |||||
* 设置微信小程序的appid. | |||||
*/ | |||||
private String appid; | |||||
/** | |||||
* 设置微信小程序的Secret. | |||||
*/ | |||||
private String secret; | |||||
/** | |||||
* 设置微信小程序消息服务器配置的token. | |||||
*/ | |||||
private String token; | |||||
/** | |||||
* 设置微信小程序消息服务器配置的EncodingAESKey. | |||||
*/ | |||||
private String aesKey; | |||||
/** | |||||
* 消息格式,XML或者JSON. | |||||
*/ | |||||
private String msgDataFormat; | |||||
} |
@@ -0,0 +1 @@ | |||||
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.binarywang.spring.starter.wxjava.miniapp.config.WxMaAutoConfiguration |
@@ -11,9 +11,9 @@ | |||||
```yml | ```yml | ||||
wx: | wx: | ||||
pay: | pay: | ||||
appId: wx5b69c56ac01ed858 | |||||
mchId: 1462547202 | |||||
mchKey: OGL9fvig9y2HrXrQ86tM4jTwyv4ja6G5 | |||||
appId: | |||||
mchId: | |||||
mchKey: | |||||
subAppId: | subAppId: | ||||
subMchId: | subMchId: | ||||
keyPath: | keyPath: | ||||