diff --git a/README.md b/README.md index ab1d82352..6d93da2f9 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,9 @@ -### 微信`Java`开发工具包,支持包括微信支付、开放平台、公众号、企业微信、视频号、小程序等微信功能模块的后端开发。 +### 微信 `Java` 开发工具包,支持包括微信支付、开放平台、公众号、企业微信、视频号、小程序等微信功能模块的后端开发。 + +### 特别赞助
特别赞助 @@ -59,6 +61,37 @@
+### 目录索引 +- [快速开始(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问题需讨论请参考下文入群讨论,不要加此微信)。 @@ -112,6 +145,44 @@ - **微信开放平台**(`weixin-java-open`)主要用于第三方平台,代公众号或小程序进行开发和管理 + +--------------------------------- +### 最小示例 + +
+公众号(MP)示例:获取 AccessToken + +```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); +``` + +
+ +
+小程序(MiniApp)示例:code2Session + +```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()); +``` + +
+ --------------------------------- ### HTTP 客户端支持 diff --git a/docs/readme-optimization-analysis.md b/docs/readme-optimization-analysis.md new file mode 100644 index 000000000..8fa23ec33 --- /dev/null +++ b/docs/readme-optimization-analysis.md @@ -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` 正文(不是分析文档),并给你一个可直接合并的版本。