| @@ -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: | ||||