Merge pull request #234 from PathfinderAx/master
[java]-[wcferry-mvn]-集成swagger3文档
This commit is contained in:
commit
5a5a300e43
40
clients/java/wcferry-mvn/README.MD
vendored
40
clients/java/wcferry-mvn/README.MD
vendored
@ -55,6 +55,8 @@ wcferry:
|
|||||||
|
|
||||||
启动后springboot自身的端口为 9201 socket的端口为 10086
|
启动后springboot自身的端口为 9201 socket的端口为 10086
|
||||||
|
|
||||||
|
swagger地址:http://localhost:9201/swagger-ui/index.html
|
||||||
|
|
||||||
## 参与开发
|
## 参与开发
|
||||||
|
|
||||||
### 核心依赖
|
### 核心依赖
|
||||||
@ -71,29 +73,29 @@ wcferry:
|
|||||||
```
|
```
|
||||||
wcferry-mvn
|
wcferry-mvn
|
||||||
├─dll 核心dll
|
├─dll 核心dll
|
||||||
│ ├─sdk.dll sdk文件
|
│ ├─sdk.dll sdk文件
|
||||||
│ └─readme.txt 本目录说明文件
|
│ └─readme.txt 本目录说明文件
|
||||||
│
|
│
|
||||||
├─src 源
|
├─src 源
|
||||||
│ ├─main 重启命令
|
│ ├─main 重启命令
|
||||||
│ │ ├─java(com.iamteer) java代码目录
|
│ │ ├─java(com.iamteer) java代码目录
|
||||||
│ │ │ ├─config 配置
|
│ │ │ ├─config 配置
|
||||||
│ │ │ ├─entity 实体
|
│ │ │ ├─entity 实体
|
||||||
│ │ │ ├─runner 运行(程序启动中与启动后的自动化任务都放置于此)
|
│ │ │ ├─runner 运行(程序启动中与启动后的自动化任务都放置于此)
|
||||||
│ │ │ ├─service 业务接口
|
│ │ │ ├─service 业务接口
|
||||||
│ │ │ │ └─impl 业务实现类
|
│ │ │ │ └─impl 业务实现类
|
||||||
│ │ │ ├─Client.java socket客户端
|
│ │ │ ├─Client.java socket客户端
|
||||||
│ │ │ └─WcferryApplication.java 启动类
|
│ │ │ └─WcferryApplication.java 启动类
|
||||||
│ │ │resources 数据库脚本
|
│ │ │resources 资源目录
|
||||||
│ │ │ ├─libs 本程序内置依赖包
|
│ │ │ ├─libs 本程序内置依赖包
|
||||||
│ │ │ ├─proto proto文件
|
│ │ │ ├─proto proto文件
|
||||||
│ │ │ ├─win32-x86-64 依赖程序
|
│ │ │ ├─win32-x86-64 依赖程序
|
||||||
│ │ │ ├─application.yml 本程序主配置文件
|
│ │ │ ├─application.yml 本程序主配置文件
|
||||||
│ │ │ └─logback-spring.xml 日志配置文件
|
│ │ │ └─logback-spring.xml 日志配置文件
|
||||||
│
|
│
|
||||||
├─pom.xml POM文件
|
├─pom.xml POM文件
|
||||||
├─README.MD 说明文件
|
├─README.MD 说明文件
|
||||||
│
|
│
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -116,7 +118,7 @@ wcferry:
|
|||||||
本程序已经集成了生成proto文件的maven插件,直接install即可生成proto文件,且会在打包程序中去除 src/main/resources/proto
|
本程序已经集成了生成proto文件的maven插件,直接install即可生成proto文件,且会在打包程序中去除 src/main/resources/proto
|
||||||
下面的内容,只保留实体类中的文件
|
下面的内容,只保留实体类中的文件
|
||||||
|
|
||||||
默认install会重新根据 生成实体,如果不想被替换,请删除 src/main/resources/proto 下对应的文件即可
|
默认install会重新根据.proto文件重新生成实体,如果不想被替换,请删除 src/main/resources/proto 下对应的.proto文件即可
|
||||||
|
|
||||||
### 提交规范
|
### 提交规范
|
||||||
|
|
||||||
|
11
clients/java/wcferry-mvn/pom.xml
vendored
11
clients/java/wcferry-mvn/pom.xml
vendored
@ -25,6 +25,11 @@
|
|||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-web</artifactId>
|
<artifactId>spring-boot-starter-web</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-test</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
<!-- 日志 -->
|
<!-- 日志 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.slf4j</groupId>
|
<groupId>org.slf4j</groupId>
|
||||||
@ -37,6 +42,12 @@
|
|||||||
<version>1.18.30</version>
|
<version>1.18.30</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- swagger3包-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.springfox</groupId>
|
||||||
|
<artifactId>springfox-boot-starter</artifactId>
|
||||||
|
<version>3.0.0</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.protobuf</groupId>
|
<groupId>com.google.protobuf</groupId>
|
||||||
|
44
clients/java/wcferry-mvn/src/main/java/com/iamteer/config/SwaggerConfig.java
vendored
Normal file
44
clients/java/wcferry-mvn/src/main/java/com/iamteer/config/SwaggerConfig.java
vendored
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
package com.iamteer.config;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
import springfox.documentation.builders.ApiInfoBuilder;
|
||||||
|
import springfox.documentation.builders.PathSelectors;
|
||||||
|
import springfox.documentation.builders.RequestHandlerSelectors;
|
||||||
|
import springfox.documentation.oas.annotations.EnableOpenApi;
|
||||||
|
import springfox.documentation.service.ApiInfo;
|
||||||
|
import springfox.documentation.spi.DocumentationType;
|
||||||
|
import springfox.documentation.spring.web.plugins.Docket;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 配置类-swagger
|
||||||
|
* http://localhost:9201/swagger-ui/index.html
|
||||||
|
*
|
||||||
|
* @author chandler
|
||||||
|
* @date 2024-09-24 22:13
|
||||||
|
*/
|
||||||
|
@EnableOpenApi
|
||||||
|
@Configuration
|
||||||
|
public class SwaggerConfig {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public Docket api() {
|
||||||
|
return new Docket(DocumentationType.SWAGGER_2).select()
|
||||||
|
// 替换为您的Controller所在的包路径
|
||||||
|
.apis(RequestHandlerSelectors.basePackage("com.iamteer.controller"))
|
||||||
|
// 地址
|
||||||
|
.paths(PathSelectors.any()).build().apiInfo(apiInfo());
|
||||||
|
}
|
||||||
|
|
||||||
|
private ApiInfo apiInfo() {
|
||||||
|
return new ApiInfoBuilder()
|
||||||
|
// 文档标题
|
||||||
|
.title("Wcferry接口文档")
|
||||||
|
// 文档路径
|
||||||
|
.description("微信机器人底层框架接口文档")
|
||||||
|
// 文档版本
|
||||||
|
.version("1.0.0").build();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -42,40 +42,40 @@ public class WechatRunner implements ApplicationRunner {
|
|||||||
Client client = new Client(properties.getSocketPort(), properties.getDllPath()); // 默认 10086 端口
|
Client client = new Client(properties.getSocketPort(), properties.getDllPath()); // 默认 10086 端口
|
||||||
|
|
||||||
// 是否已登录
|
// 是否已登录
|
||||||
log.info("isLogin: {}", client.isLogin());
|
// log.info("isLogin: {}", client.isLogin());
|
||||||
|
|
||||||
// 登录账号 wxid
|
// 登录账号 wxid
|
||||||
log.info("wxid: {}", client.getSelfWxid());
|
// log.info("wxid: {}", client.getSelfWxid());
|
||||||
|
|
||||||
// 消息类型
|
// 消息类型
|
||||||
log.info("message types: {}", client.getMsgTypes());
|
// log.info("message types: {}", client.getMsgTypes());
|
||||||
|
|
||||||
// 所有联系人(包括群聊、公众号、好友……)
|
// 所有联系人(包括群聊、公众号、好友……)
|
||||||
client.printContacts(client.getContacts());
|
// client.printContacts(client.getContacts());
|
||||||
|
|
||||||
// 获取数据库
|
// 获取数据库
|
||||||
log.info("dbs: {}", client.getDbNames());
|
log.info("dbs: {}", client.getDbNames());
|
||||||
|
|
||||||
// 获取数据库下的表
|
// 获取数据库下的表
|
||||||
String db = "MicroMsg.db";
|
String db = "MicroMsg.db";
|
||||||
log.info("tables in {}: {}", db, client.getDbTables(db));
|
// log.info("tables in {}: {}", db, client.getDbTables(db));
|
||||||
|
|
||||||
// 发送文本消息,aters 是要 @ 的 wxid,多个用逗号分隔;消息里@的数量要与aters里的数量对应
|
// 发送文本消息,aters 是要 @ 的 wxid,多个用逗号分隔;消息里@的数量要与aters里的数量对应
|
||||||
client.sendText("Hello", "filehelper", "");
|
// client.sendText("Hello", "filehelper", "");
|
||||||
// client.sendText("Hello @某人1 @某人2", "xxxxxxxx@chatroom", "wxid_xxxxxxxxxxxxx1,wxid_xxxxxxxxxxxxx2");
|
// client.sendText("Hello @某人1 @某人2", "xxxxxxxx@chatroom", "wxid_xxxxxxxxxxxxx1,wxid_xxxxxxxxxxxxx2");
|
||||||
|
|
||||||
// 发送图片消息,图片必须要存在
|
// 发送图片消息,图片必须要存在
|
||||||
client.sendImage("C:\\Projs\\WeChatFerry\\TEQuant.jpeg", "filehelper");
|
// client.sendImage("C:\\Projs\\WeChatFerry\\TEQuant.jpeg", "filehelper");
|
||||||
|
|
||||||
// 发送文件消息,文件必须要存在
|
// 发送文件消息,文件必须要存在
|
||||||
client.sendFile("C:\\Projs\\WeChatFerry\\README.MD", "filehelper");
|
// client.sendFile("C:\\Projs\\WeChatFerry\\README.MD", "filehelper");
|
||||||
|
|
||||||
String xml =
|
String xml =
|
||||||
"<?xml version=\"1.0\"?><msg><appmsg appid=\"\" sdkver=\"0\"><title>叮当药房,24小时服务,28分钟送药到家!</title><des>叮当快药首家承诺范围内28分钟送药到家!叮当快药核心区域内7*24小时全天候服务,送药上门!叮当快药官网为您提供快捷便利,正品低价,安全放心的购药、送药服务体验。</des><action>view</action><type>33</type><showtype>0</showtype><content /><url>https://mp.weixin.qq.com/mp/waerrpage?appid=wxc2edadc87077fa2a&type=upgrade&upgradetype=3#wechat_redirect</url><dataurl /><lowurl /><lowdataurl /><recorditem /><thumburl /><messageaction /><md5>7f6f49d301ebf47100199b8a4fcf4de4</md5><extinfo /><sourceusername>gh_c2b88a38c424@app</sourceusername><sourcedisplayname>叮当快药 药店送药到家夜间买药</sourcedisplayname><commenturl /><appattach><totallen>0</totallen><attachid /><emoticonmd5></emoticonmd5><fileext>jpg</fileext><filekey>da0e08f5c7259d03da150d5e7ca6d950</filekey><cdnthumburl>3057020100044b30490201000204e4c0232702032f4ef20204a6bace6f02046401f62d042430326337303430352d333734332d343362652d623335322d6233333566623266376334620204012400030201000405004c537600</cdnthumburl><aeskey>0db26456caf243fbd4efb99058a01d66</aeskey><cdnthumbaeskey>0db26456caf243fbd4efb99058a01d66</cdnthumbaeskey><encryver>1</encryver><cdnthumblength>61558</cdnthumblength><cdnthumbheight>100</cdnthumbheight><cdnthumbwidth>100</cdnthumbwidth></appattach><weappinfo><pagepath>pages/index/index.html</pagepath><username>gh_c2b88a38c424@app</username><appid>wxc2edadc87077fa2a</appid><version>197</version><type>2</type><weappiconurl>http://wx.qlogo.cn/mmhead/Q3auHgzwzM4727n0NQ0ZIPQPlfp15m1WLsnrXbo1kLhFGcolgLyc0A/96</weappiconurl><appservicetype>0</appservicetype><shareId>1_wxc2edadc87077fa2a_29177e9a9b918cb9e75964f80bb8f32e_1677849476_0</shareId></weappinfo><websearch /></appmsg><fromusername>wxid_eob5qfcrv4zd22</fromusername><scene>0</scene><appinfo><version>1</version><appname /></appinfo><commenturl /></msg>";
|
"<?xml version=\"1.0\"?><msg><appmsg appid=\"\" sdkver=\"0\"><title>叮当药房,24小时服务,28分钟送药到家!</title><des>叮当快药首家承诺范围内28分钟送药到家!叮当快药核心区域内7*24小时全天候服务,送药上门!叮当快药官网为您提供快捷便利,正品低价,安全放心的购药、送药服务体验。</des><action>view</action><type>33</type><showtype>0</showtype><content /><url>https://mp.weixin.qq.com/mp/waerrpage?appid=wxc2edadc87077fa2a&type=upgrade&upgradetype=3#wechat_redirect</url><dataurl /><lowurl /><lowdataurl /><recorditem /><thumburl /><messageaction /><md5>7f6f49d301ebf47100199b8a4fcf4de4</md5><extinfo /><sourceusername>gh_c2b88a38c424@app</sourceusername><sourcedisplayname>叮当快药 药店送药到家夜间买药</sourcedisplayname><commenturl /><appattach><totallen>0</totallen><attachid /><emoticonmd5></emoticonmd5><fileext>jpg</fileext><filekey>da0e08f5c7259d03da150d5e7ca6d950</filekey><cdnthumburl>3057020100044b30490201000204e4c0232702032f4ef20204a6bace6f02046401f62d042430326337303430352d333734332d343362652d623335322d6233333566623266376334620204012400030201000405004c537600</cdnthumburl><aeskey>0db26456caf243fbd4efb99058a01d66</aeskey><cdnthumbaeskey>0db26456caf243fbd4efb99058a01d66</cdnthumbaeskey><encryver>1</encryver><cdnthumblength>61558</cdnthumblength><cdnthumbheight>100</cdnthumbheight><cdnthumbwidth>100</cdnthumbwidth></appattach><weappinfo><pagepath>pages/index/index.html</pagepath><username>gh_c2b88a38c424@app</username><appid>wxc2edadc87077fa2a</appid><version>197</version><type>2</type><weappiconurl>http://wx.qlogo.cn/mmhead/Q3auHgzwzM4727n0NQ0ZIPQPlfp15m1WLsnrXbo1kLhFGcolgLyc0A/96</weappiconurl><appservicetype>0</appservicetype><shareId>1_wxc2edadc87077fa2a_29177e9a9b918cb9e75964f80bb8f32e_1677849476_0</shareId></weappinfo><websearch /></appmsg><fromusername>wxid_eob5qfcrv4zd22</fromusername><scene>0</scene><appinfo><version>1</version><appname /></appinfo><commenturl /></msg>";
|
||||||
client.sendXml("filehelper", xml, "", 0x21);
|
// client.sendXml("filehelper", xml, "", 0x21);
|
||||||
|
|
||||||
// 发送表情消息,gif 必须要存在
|
// 发送表情消息,gif 必须要存在
|
||||||
client.sendEmotion("C:\\Projs\\WeChatFerry\\emo.gif", "filehelper");
|
// client.sendEmotion("C:\\Projs\\WeChatFerry\\emo.gif", "filehelper");
|
||||||
|
|
||||||
// 接收消息,并调用 printWxMsg 处理
|
// 接收消息,并调用 printWxMsg 处理
|
||||||
client.enableRecvMsg(100);
|
client.enableRecvMsg(100);
|
||||||
|
@ -10,6 +10,10 @@ spring:
|
|||||||
application:
|
application:
|
||||||
# 应用名
|
# 应用名
|
||||||
name: wcferry-mvn
|
name: wcferry-mvn
|
||||||
|
# swagger适配
|
||||||
|
mvc:
|
||||||
|
pathmatch:
|
||||||
|
matching-strategy: ant_path_matcher
|
||||||
|
|
||||||
# 本服务参数
|
# 本服务参数
|
||||||
wcferry:
|
wcferry:
|
||||||
|
Loading…
Reference in New Issue
Block a user