WeChatFerry/clients/java/wechat-ferry-mvn/README.MD
chandler 06cee96313 feat(0): [java]-[wechat-ferry-mvn]-基础功能完善
1.引入JSON格式化依赖
2.编写XML和JSON转换工具类
3.消息接口支持boot接口打印,便于后续boot项目自身接管处理
4.项目名称及目录统一调整
5.支持接收消息后转发消息
6.打包配置修改
2024-10-05 12:54:43 +08:00

161 lines
5.1 KiB
Markdown
Vendored
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# WeChatFerry Java 客户端 maven版
⚠️ **只支持 Windows** ⚠️
`声明:` 本项目是基于 clients/java/wcferry 项目改造,随着时间推进,项目结构和代码规范逐渐产生分离,使用此项目的人员可参考之前的项目
我们在开发时请尽量保持注释的完整性,便于阅读维护
## 快速使用
### 环境准备
| 名称 | 版本 | 备注 |
|-------|-----------|----|
| JDK | 1.8+ | √ |
| Maven | 3.8+ | √ |
| 微信 | 3.9.10.27 | √ |
| MySQL | 8.0+ | 备用 |
### 下载文件
* 下载 [最新发布的文件](https://github.com/lich0821/WeChatFerry/releases/latest)
### 使用惯用 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目录位置修改配置文件
```yaml
# 本服务参数
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 所有自定义本服务的参数请都放置在此前缀下,如:
```ymal
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替代): [模块名称]-[子模块名称]-本次修改的说明
如:
```cmd
feat(0): [java]-[wechat-ferry-mvn]-基础类目录划分迁移及代码格式
```
| 名称 | 版本 |
|------|--------------|
| feat | 新功能 |
| fix | 缺陷 |
| ... | 其他等git规范中的均可 |