WeChatFerry/clients/java/wechat-ferry-mvn
chandler adcc05dc7c feat(0): [java]-[wechat-ferry-mvn]-1.对消息类型为49的XML进行解析转JSON
2.调用第三方服务时通过配置文件决定成功状态码
2024-10-05 15:36:48 +08:00
..
dll feat(0): [java]-[wechat-ferry-mvn]-项目名称及目录统一调整 2024-10-01 00:15:50 +08:00
src/main feat(0): [java]-[wechat-ferry-mvn]-1.对消息类型为49的XML进行解析转JSON 2024-10-05 15:36:48 +08:00
.gitignore feat(0): [java]-[wechat-ferry-mvn]-项目名称及目录统一调整 2024-10-01 00:15:50 +08:00
pom.xml feat(0): [java]-[wechat-ferry-mvn]-基础功能完善 2024-10-05 12:54:43 +08:00
README.MD feat(0): [java]-[wechat-ferry-mvn]-基础功能完善 2024-10-05 12:54:43 +08:00

WeChatFerry Java 客户端 maven版

⚠️ 只支持 Windows ⚠️

声明: 本项目是基于 clients/java/wcferry 项目改造,随着时间推进,项目结构和代码规范逐渐产生分离,使用此项目的人员可参考之前的项目 我们在开发时请尽量保持注释的完整性,便于阅读维护

快速使用

环境准备

名称 版本 备注
JDK 1.8+
Maven 3.8+
微信 3.9.10.27
MySQL 8.0+ 备用

下载文件

使用惯用 IDE打开工程

可以直接以WeChatFerry为根目录打开

或者以WeChatFerry/clients/java/wechat-ferry-mvn为根目录打开

添加Maven

找到 WeChatFerry/clients/java/wechat-ferry-mvn/pom.xml 文件右键添加到Maven中会自动下载依赖

替换对应版本的dll

把刚下载的最新发布文件解压到本项目中的 dll 文件目录下,直接替换原因文件即可

修改配置文件

配置文件src/main/resources/application.yml

根据自己的dll目录位置修改配置文件

# 本服务参数
wechat:
  ferry:
    # DLL文件位置
    dll-path: E:\WeChatFerry\clients\java\wechat-ferry-mvn\dll\sdk.dll
    # socket端口
    socket-port: 10086

数据库修改-目前未使用

为了更好的拓展应用本客户端后续将采用mysql数据库请自行安装mysql数据库

编译运行

找到 src/main/java/com/wechat/ferry/WeChatFerryApplication.java 类

直接启动即可

访问

启动后springboot自身的端口为 9201 socket的端口为 10086

swagger地址http://localhost:9201/swagger-ui/index.html

参与开发

核心依赖

依赖 版本 说明
Spring Boot 2.7.18 基础框架
protobuf-java 3.22.2 rpc
jna 5.6.0 态访问系统本地库
nng-java 1.4.0 本地包
fastjson2 2.0.52 序列化
dom4j 2.1.3 XML解析包
httpclient 4.5.13 客户端请求

模块结构

wechat-ferry-mvn
├─dll                                       核心dll
│  ├─sdk.dll                                sdk文件
│  └─readme.txt                             本目录说明文件
│ 
├─src                                       源
│  ├─main                                   重启命令
│  │  ├─java(com.wechat.ferry)              java代码目录
│  │  │  ├─config                           配置
│  │  │  ├─entity                           聚合模型
│  │  │  │  ├─dto                           DTO模型
│  │  │  │  ├─po                            数据库实体(与表结构一一对应,否则请使用DTO)
│  │  │  │  ├─proto                         PB实体
│  │  │  │  └─vo                            视图层返回体目录
│  │  │  ├─enums                            枚举
│  │  │  ├─handle                           处理层
│  │  │  ├─service                          业务接口
│  │  │  │  └─impl                          业务实现类
│  │  │  ├─utils                            工具类
│  │  │  └─WcferryApplication.java          启动类
│  │  │
│  │  │resources                            资源目录
│  │  │  ├─libs                             本程序内置依赖包
│  │  │  ├─proto                            proto文件(此目录打包将被排除)
│  │  │  ├─win32-x86-64                     依赖程序
│  │  │  ├─application.yml                  本程序主配置文件
│  │  │  └─logback-spring.xml               日志配置文件
│ 
├─pom.xml                                   POM文件
├─README.MD                                 说明文件
│   

配置说明

本程序主配置文件为 application.yml

配置参数

本程序内置参数统一前缀wechat.ferry 所有自定义本服务的参数请都放置在此前缀下,如:

wechat:
  ferry:
    # DLL文件位置
    dll-path: /dll/sdk.dll

生成proto文件

本程序已经集成了生成proto文件的maven插件直接install即可生成proto文件且会在打包程序中去除 src/main/resources/proto 下面的内容,只保留实体类中的文件

默认install会重新根据.proto文件重新生成实体如果不想被替换请删除 src/main/resources/proto 下对应的.proto文件即可

提交规范

本模块希望大家使用统一提交格式,便于区分

格式:类型(任务号/缺陷号/没有使用0替代): [模块名称]-[子模块名称]-本次修改的说明

如:

feat(0): [java]-[wechat-ferry-mvn]-基础类目录划分迁移及代码格式
名称 版本
feat 新功能
fix 缺陷
... 其他等git规范中的均可