2024-09-21 20:22:28 +08:00
|
|
|
|
# WeChatFerry Java 客户端 maven版
|
|
|
|
|
|
|
|
|
|
⚠️ **只支持 Windows** ⚠️
|
|
|
|
|
|
2024-10-01 12:32:26 +08:00
|
|
|
|
`声明:` 本项目是基于 clients/java/wcferry 项目改造,随着时间推进,项目结构和代码规范逐渐产生分离,使用此项目的人员可参考之前的项目
|
|
|
|
|
我们在开发时请尽量保持注释的完整性,便于阅读维护
|
|
|
|
|
|
2024-09-21 20:22:28 +08:00
|
|
|
|
## 快速使用
|
|
|
|
|
|
|
|
|
|
### 环境准备
|
|
|
|
|
|
2024-10-05 12:54:43 +08:00
|
|
|
|
| 名称 | 版本 | 备注 |
|
|
|
|
|
|-------|-----------|----|
|
|
|
|
|
| JDK | 1.8+ | √ |
|
|
|
|
|
| Maven | 3.8+ | √ |
|
|
|
|
|
| 微信 | 3.9.10.27 | √ |
|
|
|
|
|
| MySQL | 8.0+ | 备用 |
|
2024-09-21 20:22:28 +08:00
|
|
|
|
|
|
|
|
|
### 下载文件
|
|
|
|
|
|
|
|
|
|
* 下载 [最新发布的文件](https://github.com/lich0821/WeChatFerry/releases/latest)
|
|
|
|
|
|
|
|
|
|
### 使用惯用 IDE,打开工程
|
|
|
|
|
|
|
|
|
|
可以直接以WeChatFerry为根目录打开
|
|
|
|
|
|
2024-10-01 00:15:50 +08:00
|
|
|
|
或者以WeChatFerry/clients/java/wechat-ferry-mvn为根目录打开
|
2024-09-21 20:22:28 +08:00
|
|
|
|
|
|
|
|
|
### 添加Maven
|
|
|
|
|
|
2024-10-01 00:15:50 +08:00
|
|
|
|
找到 WeChatFerry/clients/java/wechat-ferry-mvn/pom.xml 文件,右键添加到Maven中,会自动下载依赖
|
2024-09-21 20:22:28 +08:00
|
|
|
|
|
|
|
|
|
### 替换对应版本的dll
|
|
|
|
|
|
|
|
|
|
把刚下载的最新发布文件解压到本项目中的 dll 文件目录下,直接替换原因文件即可
|
|
|
|
|
|
|
|
|
|
### 修改配置文件
|
|
|
|
|
|
|
|
|
|
配置文件:src/main/resources/application.yml
|
|
|
|
|
|
|
|
|
|
根据自己的dll目录位置修改配置文件
|
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
# 本服务参数
|
2024-10-01 12:32:26 +08:00
|
|
|
|
wechat:
|
|
|
|
|
ferry:
|
|
|
|
|
# DLL文件位置
|
|
|
|
|
dll-path: E:\WeChatFerry\clients\java\wechat-ferry-mvn\dll\sdk.dll
|
|
|
|
|
# socket端口
|
|
|
|
|
socket-port: 10086
|
2024-09-21 20:22:28 +08:00
|
|
|
|
```
|
|
|
|
|
|
2024-10-05 12:54:43 +08:00
|
|
|
|
### 数据库修改-目前未使用
|
|
|
|
|
|
|
|
|
|
为了更好的拓展应用,本客户端后续将采用mysql数据库,请自行安装mysql数据库
|
|
|
|
|
|
2024-09-21 20:22:28 +08:00
|
|
|
|
### 编译运行
|
|
|
|
|
|
2024-10-01 00:15:50 +08:00
|
|
|
|
找到 src/main/java/com/wechat/ferry/WeChatFerryApplication.java 类
|
2024-09-21 20:22:28 +08:00
|
|
|
|
|
|
|
|
|
直接启动即可
|
|
|
|
|
|
|
|
|
|
### 访问
|
|
|
|
|
|
|
|
|
|
启动后springboot自身的端口为 9201 socket的端口为 10086
|
|
|
|
|
|
2024-09-24 22:22:09 +08:00
|
|
|
|
swagger地址:http://localhost:9201/swagger-ui/index.html
|
|
|
|
|
|
2024-09-21 20:22:28 +08:00
|
|
|
|
## 参与开发
|
|
|
|
|
|
|
|
|
|
### 核心依赖
|
|
|
|
|
|
|
|
|
|
| 依赖 | 版本 | 说明 |
|
|
|
|
|
|---------------|--------|----------|
|
|
|
|
|
| Spring Boot | 2.7.18 | 基础框架 |
|
|
|
|
|
| protobuf-java | 3.22.2 | rpc |
|
|
|
|
|
| jna | 5.6.0 | 态访问系统本地库 |
|
|
|
|
|
| nng-java | 1.4.0 | 本地包 |
|
2024-10-05 12:54:43 +08:00
|
|
|
|
| fastjson2 | 2.0.52 | 序列化 |
|
|
|
|
|
| dom4j | 2.1.3 | XML解析包 |
|
|
|
|
|
| httpclient | 4.5.13 | 客户端请求 |
|
2024-09-21 20:22:28 +08:00
|
|
|
|
|
2024-09-22 18:04:05 +08:00
|
|
|
|
### 模块结构
|
|
|
|
|
|
|
|
|
|
```
|
2024-10-01 00:15:50 +08:00
|
|
|
|
wechat-ferry-mvn
|
2024-09-22 18:04:05 +08:00
|
|
|
|
├─dll 核心dll
|
2024-09-23 21:12:13 +08:00
|
|
|
|
│ ├─sdk.dll sdk文件
|
|
|
|
|
│ └─readme.txt 本目录说明文件
|
2024-09-22 18:04:05 +08:00
|
|
|
|
│
|
|
|
|
|
├─src 源
|
2024-09-23 21:12:13 +08:00
|
|
|
|
│ ├─main 重启命令
|
2024-10-01 00:15:50 +08:00
|
|
|
|
│ │ ├─java(com.wechat.ferry) java代码目录
|
2024-09-23 21:12:13 +08:00
|
|
|
|
│ │ │ ├─config 配置
|
2024-10-01 00:15:50 +08:00
|
|
|
|
│ │ │ ├─entity 聚合模型
|
|
|
|
|
│ │ │ │ ├─dto DTO模型
|
2024-10-05 12:54:43 +08:00
|
|
|
|
│ │ │ │ ├─po 数据库实体(与表结构一一对应,否则请使用DTO)
|
|
|
|
|
│ │ │ │ ├─proto PB实体
|
2024-10-01 00:15:50 +08:00
|
|
|
|
│ │ │ │ └─vo 视图层返回体目录
|
|
|
|
|
│ │ │ ├─enums 枚举
|
|
|
|
|
│ │ │ ├─handle 处理层
|
2024-09-23 21:12:13 +08:00
|
|
|
|
│ │ │ ├─service 业务接口
|
|
|
|
|
│ │ │ │ └─impl 业务实现类
|
2024-10-01 00:15:50 +08:00
|
|
|
|
│ │ │ ├─utils 工具类
|
2024-09-23 21:12:13 +08:00
|
|
|
|
│ │ │ └─WcferryApplication.java 启动类
|
2024-10-01 00:15:50 +08:00
|
|
|
|
│ │ │
|
2024-09-23 21:12:13 +08:00
|
|
|
|
│ │ │resources 资源目录
|
|
|
|
|
│ │ │ ├─libs 本程序内置依赖包
|
2024-10-01 00:15:50 +08:00
|
|
|
|
│ │ │ ├─proto proto文件(此目录打包将被排除)
|
2024-09-23 21:12:13 +08:00
|
|
|
|
│ │ │ ├─win32-x86-64 依赖程序
|
|
|
|
|
│ │ │ ├─application.yml 本程序主配置文件
|
|
|
|
|
│ │ │ └─logback-spring.xml 日志配置文件
|
2024-09-22 18:04:05 +08:00
|
|
|
|
│
|
|
|
|
|
├─pom.xml POM文件
|
|
|
|
|
├─README.MD 说明文件
|
2024-09-23 21:12:13 +08:00
|
|
|
|
│
|
2024-09-22 18:04:05 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 配置说明
|
|
|
|
|
|
|
|
|
|
本程序主配置文件为 application.yml
|
|
|
|
|
|
|
|
|
|
#### 配置参数
|
|
|
|
|
|
2024-10-01 00:15:50 +08:00
|
|
|
|
本程序内置参数统一前缀:wechat.ferry 所有自定义本服务的参数请都放置在此前缀下,如:
|
2024-09-22 18:04:05 +08:00
|
|
|
|
|
|
|
|
|
```ymal
|
2024-10-01 00:15:50 +08:00
|
|
|
|
wechat:
|
|
|
|
|
ferry:
|
|
|
|
|
# DLL文件位置
|
|
|
|
|
dll-path: /dll/sdk.dll
|
2024-09-22 18:04:05 +08:00
|
|
|
|
```
|
|
|
|
|
|
2024-09-22 19:22:13 +08:00
|
|
|
|
#### 生成proto文件
|
|
|
|
|
|
|
|
|
|
本程序已经集成了生成proto文件的maven插件,直接install即可生成proto文件,且会在打包程序中去除 src/main/resources/proto
|
|
|
|
|
下面的内容,只保留实体类中的文件
|
|
|
|
|
|
2024-09-23 21:12:13 +08:00
|
|
|
|
默认install会重新根据.proto文件重新生成实体,如果不想被替换,请删除 src/main/resources/proto 下对应的.proto文件即可
|
2024-09-22 19:22:13 +08:00
|
|
|
|
|
2024-09-22 18:04:05 +08:00
|
|
|
|
### 提交规范
|
|
|
|
|
|
|
|
|
|
本模块希望大家使用统一提交格式,便于区分
|
|
|
|
|
|
|
|
|
|
格式:类型(任务号/缺陷号/没有使用0替代): [模块名称]-[子模块名称]-本次修改的说明
|
|
|
|
|
|
|
|
|
|
如:
|
|
|
|
|
|
|
|
|
|
```cmd
|
2024-10-01 00:15:50 +08:00
|
|
|
|
feat(0): [java]-[wechat-ferry-mvn]-基础类目录划分迁移及代码格式
|
2024-09-22 18:04:05 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
| 名称 | 版本 |
|
|
|
|
|
|------|--------------|
|
|
|
|
|
| feat | 新功能 |
|
|
|
|
|
| fix | 缺陷 |
|
|
|
|
|
| ... | 其他等git规范中的均可 |
|
2024-09-21 20:22:28 +08:00
|
|
|
|
|
|
|
|
|
|