diff --git a/clients/java/wcferry-mvn/README.MD b/clients/java/wcferry-mvn/README.MD index 8bc07d9..2d4136e 100644 --- a/clients/java/wcferry-mvn/README.MD +++ b/clients/java/wcferry-mvn/README.MD @@ -55,6 +55,8 @@ wcferry: 启动后springboot自身的端口为 9201 socket的端口为 10086 +swagger地址:http://localhost:9201/swagger-ui/index.html + ## 参与开发 ### 核心依赖 @@ -71,29 +73,29 @@ wcferry: ``` wcferry-mvn ├─dll 核心dll -│ ├─sdk.dll sdk文件 -│ └─readme.txt 本目录说明文件 +│ ├─sdk.dll sdk文件 +│ └─readme.txt 本目录说明文件 │ ├─src 源 -│ ├─main 重启命令 -│ │ ├─java(com.iamteer) java代码目录 -│ │ │ ├─config 配置 -│ │ │ ├─entity 实体 -│ │ │ ├─runner 运行(程序启动中与启动后的自动化任务都放置于此) -│ │ │ ├─service 业务接口 -│ │ │ │ └─impl 业务实现类 -│ │ │ ├─Client.java socket客户端 -│ │ │ └─WcferryApplication.java 启动类 -│ │ │resources 数据库脚本 -│ │ │ ├─libs 本程序内置依赖包 -│ │ │ ├─proto proto文件 -│ │ │ ├─win32-x86-64 依赖程序 -│ │ │ ├─application.yml 本程序主配置文件 -│ │ │ └─logback-spring.xml 日志配置文件 +│ ├─main 重启命令 +│ │ ├─java(com.iamteer) java代码目录 +│ │ │ ├─config 配置 +│ │ │ ├─entity 实体 +│ │ │ ├─runner 运行(程序启动中与启动后的自动化任务都放置于此) +│ │ │ ├─service 业务接口 +│ │ │ │ └─impl 业务实现类 +│ │ │ ├─Client.java socket客户端 +│ │ │ └─WcferryApplication.java 启动类 +│ │ │resources 资源目录 +│ │ │ ├─libs 本程序内置依赖包 +│ │ │ ├─proto proto文件 +│ │ │ ├─win32-x86-64 依赖程序 +│ │ │ ├─application.yml 本程序主配置文件 +│ │ │ └─logback-spring.xml 日志配置文件 │ ├─pom.xml POM文件 ├─README.MD 说明文件 -│ +│ ``` @@ -116,7 +118,7 @@ wcferry: 本程序已经集成了生成proto文件的maven插件,直接install即可生成proto文件,且会在打包程序中去除 src/main/resources/proto 下面的内容,只保留实体类中的文件 -默认install会重新根据 生成实体,如果不想被替换,请删除 src/main/resources/proto 下对应的文件即可 +默认install会重新根据.proto文件重新生成实体,如果不想被替换,请删除 src/main/resources/proto 下对应的.proto文件即可 ### 提交规范 diff --git a/clients/java/wcferry-mvn/pom.xml b/clients/java/wcferry-mvn/pom.xml index 16f0a96..e4d8458 100644 --- a/clients/java/wcferry-mvn/pom.xml +++ b/clients/java/wcferry-mvn/pom.xml @@ -25,6 +25,11 @@ org.springframework.boot spring-boot-starter-web + + org.springframework.boot + spring-boot-starter-test + test + org.slf4j @@ -37,6 +42,12 @@ 1.18.30 provided + + + io.springfox + springfox-boot-starter + 3.0.0 + com.google.protobuf diff --git a/clients/java/wcferry-mvn/src/main/java/com/iamteer/config/SwaggerConfig.java b/clients/java/wcferry-mvn/src/main/java/com/iamteer/config/SwaggerConfig.java new file mode 100644 index 0000000..3881665 --- /dev/null +++ b/clients/java/wcferry-mvn/src/main/java/com/iamteer/config/SwaggerConfig.java @@ -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(); + } + +} diff --git a/clients/java/wcferry-mvn/src/main/java/com/iamteer/runner/WechatRunner.java b/clients/java/wcferry-mvn/src/main/java/com/iamteer/runner/WechatRunner.java index d047f77..67e6516 100644 --- a/clients/java/wcferry-mvn/src/main/java/com/iamteer/runner/WechatRunner.java +++ b/clients/java/wcferry-mvn/src/main/java/com/iamteer/runner/WechatRunner.java @@ -42,40 +42,40 @@ public class WechatRunner implements ApplicationRunner { Client client = new Client(properties.getSocketPort(), properties.getDllPath()); // 默认 10086 端口 // 是否已登录 - log.info("isLogin: {}", client.isLogin()); + // log.info("isLogin: {}", client.isLogin()); // 登录账号 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()); // 获取数据库下的表 String db = "MicroMsg.db"; - log.info("tables in {}: {}", db, client.getDbTables(db)); + // log.info("tables in {}: {}", db, client.getDbTables(db)); // 发送文本消息,aters 是要 @ 的 wxid,多个用逗号分隔;消息里@的数量要与aters里的数量对应 - client.sendText("Hello", "filehelper", ""); + // client.sendText("Hello", "filehelper", ""); // 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 = "叮当药房,24小时服务,28分钟送药到家!叮当快药首家承诺范围内28分钟送药到家!叮当快药核心区域内7*24小时全天候服务,送药上门!叮当快药官网为您提供快捷便利,正品低价,安全放心的购药、送药服务体验。view330https://mp.weixin.qq.com/mp/waerrpage?appid=wxc2edadc87077fa2a&type=upgrade&upgradetype=3#wechat_redirect7f6f49d301ebf47100199b8a4fcf4de4gh_c2b88a38c424@app叮当快药 药店送药到家夜间买药0jpgda0e08f5c7259d03da150d5e7ca6d9503057020100044b30490201000204e4c0232702032f4ef20204a6bace6f02046401f62d042430326337303430352d333734332d343362652d623335322d6233333566623266376334620204012400030201000405004c5376000db26456caf243fbd4efb99058a01d660db26456caf243fbd4efb99058a01d66161558100100pages/index/index.htmlgh_c2b88a38c424@appwxc2edadc87077fa2a1972http://wx.qlogo.cn/mmhead/Q3auHgzwzM4727n0NQ0ZIPQPlfp15m1WLsnrXbo1kLhFGcolgLyc0A/9601_wxc2edadc87077fa2a_29177e9a9b918cb9e75964f80bb8f32e_1677849476_0wxid_eob5qfcrv4zd2201"; - client.sendXml("filehelper", xml, "", 0x21); + // client.sendXml("filehelper", xml, "", 0x21); // 发送表情消息,gif 必须要存在 - client.sendEmotion("C:\\Projs\\WeChatFerry\\emo.gif", "filehelper"); + // client.sendEmotion("C:\\Projs\\WeChatFerry\\emo.gif", "filehelper"); // 接收消息,并调用 printWxMsg 处理 client.enableRecvMsg(100); diff --git a/clients/java/wcferry-mvn/src/main/resources/application.yml b/clients/java/wcferry-mvn/src/main/resources/application.yml index d0089c3..0b3ff26 100644 --- a/clients/java/wcferry-mvn/src/main/resources/application.yml +++ b/clients/java/wcferry-mvn/src/main/resources/application.yml @@ -10,6 +10,10 @@ spring: application: # 应用名 name: wcferry-mvn + # swagger适配 + mvc: + pathmatch: + matching-strategy: ant_path_matcher # 本服务参数 wcferry: