Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 72 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@
</a>
</div>

### 微信`Java`开发工具包,支持包括微信支付、开放平台、公众号、企业微信、视频号、小程序等微信功能模块的后端开发。
### 微信 `Java` 开发工具包,支持包括微信支付、开放平台、公众号、企业微信、视频号、小程序等微信功能模块的后端开发。

### 特别赞助
<div align="center">
<b>特别赞助</b>
<table cellspacing="0" cellpadding="0" width="500">
Expand Down Expand Up @@ -59,6 +61,37 @@
</table>
</div>

### 目录索引
- [快速开始(3分钟)](#快速开始3分钟)
- [我该选哪个模块?](#我该选哪个模块)
- [重要信息](#重要信息)
- [其他说明](#其他说明)
- [Maven 引用方式](#maven-引用方式)
- [最小示例](#最小示例)
- [HTTP 客户端支持](#http-客户端支持)
- [版本说明](#版本说明)
- [应用案例](#应用案例)
- [特别赞助](#特别赞助)
- [贡献者列表](#贡献者列表)

### 快速开始(3分钟)
1. 根据业务场景选择模块(见下方“我该选哪个模块?”)
2. 引入 Maven 依赖并选择对应模块
3. 参考最小示例完成初始化并调用 API

### 我该选哪个模块?

| 业务场景 | 模块 | artifactId |
|---|---|---|
| 微信公众号开发 | MP | `weixin-java-mp` |
| 微信小程序开发 | MiniApp | `weixin-java-miniapp` |
| 微信支付 | Pay | `weixin-java-pay` |
| 企业微信 | CP | `weixin-java-cp` |
| 微信开放平台(第三方平台) | Open | `weixin-java-open` |
| 视频号 / 微信小店 | Channel | `weixin-java-channel` |

> 移动端(iOS/Android)微信登录、分享等能力仍需集成微信官方客户端 SDK;本项目为服务端 SDK。

### 重要信息
1. [`WxJava` 荣获 `GitCode` 2024年度十大开源社区奖项](https://mp.weixin.qq.com/s/wM_UlMsDm3IZ1CPPDvcvQw)。
2. 项目合作洽谈请联系微信`binary0000`(在微信里自行搜索并添加好友,请注明来意,如有关于SDK问题需讨论请参考下文入群讨论,不要加此微信)。
Expand Down Expand Up @@ -112,6 +145,44 @@
- **微信开放平台**(`weixin-java-open`)主要用于第三方平台,代公众号或小程序进行开发和管理



---------------------------------
### 最小示例

<details>
<summary>公众号(MP)示例:获取 AccessToken</summary>

```java
WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl();
config.setAppId("your-app-id");
config.setSecret("your-secret");

WxMpService wxMpService = new WxMpServiceImpl();
wxMpService.setWxMpConfigStorage(config);

String accessToken = wxMpService.getAccessToken();
System.out.println(accessToken);
```

</details>

<details>
<summary>小程序(MiniApp)示例:code2Session</summary>

```java
WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
config.setAppid("your-app-id");
config.setSecret("your-secret");

WxMaService wxMaService = new WxMaServiceImpl();
wxMaService.setWxMaConfig(config);

WxMaJscode2SessionResult result = wxMaService.getUserService().getSessionInfo("js-code");
System.out.println(result.getOpenid());
```

</details>

---------------------------------
### HTTP 客户端支持

Expand Down
168 changes: 168 additions & 0 deletions docs/readme-optimization-analysis.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
# README.md 改版方案(可直接对比)

> 目标:不是只做问题分析,而是给出可落地、可对比、可直接执行的 README 改版方案。

## 0. 现状简述(基于当前 README)

当前 README 信息很全(徽章、版本、模块、交流群、案例、贡献者等),但新用户首屏的“上手路径”不够聚焦。核心问题是:**信息完整 > 任务导向**,导致首次访问者很难在 3 分钟内完成“选模块 + 引依赖 + 跑通最小功能”。

---

## 方案 A:轻量优化(最小改动,低风险)

### 适用场景
- 希望**尽量不改原有内容**;
- 希望一周内快速上线;
- 对现有社区内容、赞助区块位置不做大调整。

### 核心动作
1. 在 README 顶部新增目录(TOC)。
2. 在首屏徽章后新增“3 分钟快速开始”。
3. 新增“我该选哪个模块”表格(场景 -> artifactId)。
4. 保留原“重要信息/其他说明”,仅做分组和精简。

### 优点
- 改动小、合并风险低;
- 不打破老用户阅读习惯;
- 快速提升新手转化。

### 缺点
- 结构层面的历史包袱仍在;
- 文档总体长度依旧偏长。

### 预计工作量
- 0.5 ~ 1 天。

---

## 方案 B:中度重构(推荐)

### 适用场景
- 希望兼顾新手体验与历史信息保留;
- 愿意做一次有节奏的 README 重排;
- 接受“内容分层+折叠”的结构变化。

### 核心动作
1. 重排为“任务漏斗结构”:
- 项目简介
- 快速开始
- 模块选择
- 安装与版本
- 最小示例
- FAQ
- 社区与贡献
- 赞助与案例(折叠)
2. 将“重要信息 / 其他说明”合并为:
- 新手必读
- 提问前检查
- 参与贡献
3. 增加每个核心模块 8~20 行最小示例(先放 2 个代表模块也可)。
4. 时间敏感内容改为动态链接/徽章(减少手工维护)。

### 优点
- 新手上手路径明显改善;
- 老信息依然可查(通过折叠和分层保留);
- 维护成本下降。

### 缺点
- 需要一次性重排,评审成本中等;
- 对旧版阅读习惯有轻微影响。

### 预计工作量
- 1 ~ 2 天。

---

## 方案 C:深度改版(产品化文档首页)

### 适用场景
- 希望 README 充当“文档门户”;
- 后续愿意持续维护文档指标与模板;
- 可以接受较大改动与多次迭代。

### 核心动作
1. README 只保留“导航型内容 + 最小样例”,把长文本拆到 `docs/`。
2. 增加角色化入口:
- 新手接入
- 生产稳定性
- 多模块集成
- 贡献开发
3. 增加 FAQ Top5 + 提问模板 + 最小复现模板。
4. 建立“文档更新准则”(版本升级时检查清单)。

### 优点
- 长期体验最佳;
- 结构清晰、扩展性强;
- 降低重复提问。

### 缺点
- 改动最大;
- 对维护协作要求更高。

### 预计工作量
- 3 ~ 5 天(按分阶段)。

---

## 对比结论(建议选择)

| 维度 | 方案 A 轻量优化 | 方案 B 中度重构(推荐) | 方案 C 深度改版 |
|---|---|---|---|
| 改动风险 | 低 | 中 | 高 |
| 上手体验提升 | 中 | 高 | 很高 |
| 历史兼容性 | 很高 | 高 | 中 |
| 维护成本优化 | 低 | 中高 | 高 |
| 落地速度 | 快 | 中 | 慢 |

**建议优先选 B**:投入产出比最好,既能显著提升新用户体验,也不会过度扰动现有社区信息。

---

## 你可以直接拍板的执行版本(推荐:B1/B2)

### B1(两步走,稳妥)
- 第一步:只做结构重排 + 模块选择表 + 快速开始。
- 第二步:补最小示例 + FAQ + 模板链接。

### B2(一次到位)
- 一次 PR 完成 B 方案全部动作,评审后合并。

---

## 可直接复用的 README 新目录模板

```markdown
## WxJava - 微信开发 Java SDK

### 快速开始(3分钟)
- 1) 选择模块
- 2) 引入依赖
- 3) 跑最小示例

### 我该选哪个模块?
| 场景 | 模块 |
|---|---|
| 公众号开发 | weixin-java-mp |
| 小程序 | weixin-java-miniapp |
| 微信支付 | weixin-java-pay |
| 企业微信 | weixin-java-cp |
| 开放平台/第三方平台 | weixin-java-open |
| 视频号/微信小店 | weixin-java-channel |

### 安装与版本
### 最小示例
### FAQ(提问前必读)
### 社区与支持
### 贡献指南
### 赞助与致谢(可折叠)
```

---

## 建议你现在怎么选

- 如果你要**今天就改并发版**:选 **方案 A**。
- 如果你要**本周改完且效果明显**:选 **方案 B(推荐)**。
- 如果你要**把 README 变成长期文档门户**:选 **方案 C**。

如果你确认方案(A/B/C 或 B1/B2),我下一步可以直接按你选的方案改 `README.md` 正文(不是分析文档),并给你一个可直接合并的版本。