MCPcopy
hub / github.com/binarywang/WxJava

github.com/binarywang/WxJava @v4.8.4 sqlite

repository ↗ · DeepWiki ↗ · release v4.8.4 ↗
18,427 symbols 67,169 edges 3,929 files 8,979 documented · 49%
README

WxJava - 微信开发 Java SDK

Github Gitee GitCode

GitHub release Maven Central Build Status 使用IntelliJ IDEA开发维护 License

Featured|HelloGitHub binarywang%2FWxJava | 趋势转变

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

特别赞助

ccflow
计全支付Jeepay,开源支付系统 Mall4j
mp qrcode 赞助商招募中 ad

目录索引

快速开始(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年度十大开源社区奖项
  2. 项目合作洽谈请联系微信binary0000(在微信里自行搜索并添加好友,请注明来意,如有关于SDK问题需讨论请参考下文入群讨论,不要加此微信)。
  3. 2026-01-03 发布 【4.8.0正式版】
  4. 贡献源码可以参考视频:【贡献源码全过程(上集)】【贡献源码全过程(下集)】 ,友情提供:程序员小山与Bug
  5. 新手重要提示:本项目仅是一个SDK开发工具包,未提供Web实现,建议使用 mavengradle 引用本项目即可使用本SDK提供的各种功能,详情可参考 【Demo项目】 或本项目中的部分单元测试代码;
  6. 微信开发新手请务必阅读【开发文档】(Gitee Wiki 或者 Github Wiki)的常见问题部分,可以少走很多弯路,节省不少时间。
  7. 技术交流群:想获得QQ群/微信群/钉钉企业群等信息的同学,请使用微信扫描上面的微信公众号二维码关注 WxJava 后点击相关菜单即可获取加入方式,同时也可以在微信中搜索 weixin-java-toolsWxJava 后选择正确的公众号进行关注,该公众号会及时通知SDK相关更新信息,并不定期分享微信Java开发相关技术知识;
  8. 钉钉技术交流群:32206329(技术交流2群), 30294972(技术交流1群,目前已满),35724728(通知群,实时通知Github项目变更记录)。
  9. 微信开发新手或者Java开发新手在群内提问或新开Issue提问前,请先阅读【提问的智慧】,并确保已查阅过 【开发文档Wiki】 ,避免浪费大家的宝贵时间;
  10. 寻求帮助时需贴代码或大长串异常信息的,请利用 http://paste.ubuntu.com

其他说明

  1. 阅读源码的同学请注意,本SDK为简化代码编译时加入了lombok支持,如果不了解lombok的话,请先学习下相关知识,比如可以阅读此文章
  2. 如有新功能需求,发现BUG,或者由于微信官方接口调整导致的代码问题,可以直接在【Issues】页提出issue,便于讨论追踪问题;
  3. 如果需要贡献代码,请务必在提交PR之前先仔细阅读【代码贡献指南】,谢谢理解配合;
  4. 目前本SDK最新版本要求的JDK最低版本是8,使用7的同学可以使用WxJava 3.8.0及以前版本,而还在使用JDK6的用户请参考【此项目】 ,而其他更早的JDK版本则需要自己改造实现。
  5. 本项目在开源中国的页面,欢迎大家积极留言评分 🙂
  6. SDK开发文档请查阅 【开发文档Wiki】,部分文档可能未能及时更新,如有发现,可以及时上报或者自行修改。
  7. 如果本开发工具包对您有所帮助,欢迎对我们的努力进行肯定,可以直接前往【托管于码云的项目首页】,在页尾部分找到“捐助”按钮进行打赏,多多益善 😄。非常感谢各位打赏和捐助的同学!
  8. 各个模块的Javadoc可以在线查看:weixin-java-miniappweixin-java-payweixin-java-mpweixin-java-commonweixin-java-cpweixin-java-open
  9. 本SDK项目在以下代码托管网站同步更新:
  10. 码云:https://gitee.com/binary/weixin-java-tools
  11. GitHub:https://github.com/binarywang/WxJava

Maven 引用方式

注意:最新版本(包括测试版)为 Maven Central,以下为最新正式版。

方式一:使用 BOM 统一管理版本(推荐)

如果同时使用多个 WxJava 模块,推荐通过 BOM 统一管理版本,无需为每个模块单独指定版本号。 wx-java-bom4.8.3.B 版本开始提供,请使用该版本或更高版本:

<properties>
  <wx-java.version>4.8.3.B</wx-java.version>
</properties>

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.github.binarywang</groupId>
      <artifactId>wx-java-bom</artifactId>
      <version>${wx-java.version}</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

之后直接引入所需模块,无需指定版本:

<dependency>
  <groupId>com.github.binarywang</groupId>
  <artifactId>weixin-java-mp</artifactId>
</dependency>
<dependency>
  <groupId>com.github.binarywang</groupId>
  <artifactId>weixin-java-pay</artifactId>
</dependency>

方式二:直接引用单个模块

<dependency>
  <groupId>com.github.binarywang</groupId>
  <artifactId>(不同模块参考下文)</artifactId>
  <version>4.8.0</version>
</dependency>
  • 微信小程序:weixin-java-miniapp
  • 微信支付:weixin-java-pay
  • 微信开放平台:weixin-java-open
  • 微信公众号:weixin-java-mp
  • 企业微信:weixin-java-cp
  • 微信视频号/微信小店:weixin-java-channel

注意: - 移动应用开发:如果你的移动应用(iOS/Android App)需要接入微信登录、分享等功能: - 微信登录(网页授权):使用 weixin-java-open 模块,在服务端处理 OAuth 授权 - 微信支付:使用 weixin-java-pay 模块 - 客户端集成:需使用微信官方提供的移动端SDK(iOS/Android),本项目为服务端SDK - 微信开放平台weixin-java-open)主要用于第三方平台,代公众号或小程序进行开发和管理


最小示例

公众号(MP)示例:获取 AccessToken

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

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());

版本说明

点此展开查看

  1. 本项目定为大约每半年左右发布一次正式版,遇到重大问题需修复会及时提交新版本,欢迎大家随时提交 Pull Request
  2. 每次代码更新都会自动构建出新版本方便及时尝鲜,版本号格式为 x.x.x-时间戳;
  3. 发布正式版时,develop 分支代码合并进入 release 分支),版本号格式为 X.X.0(如2.1.02.2.0等);
  4. 每隔一段时间后,会发布测试版本(如3.6.8.B,即尾号不为0,并添加B,以区别于正式版),代码仅存在于 develop 分支中;
  5. 目前最新版本号为 Maven Central ,也可以通过访问以下链接分别查看各个模块最新的版本: 【微信支付】【小程序】【公众号】【企业微信】【开放平台】【视频号】

应用案例

完整案例登记列表,请【访问这里】查看,欢迎登记更多的案例。

以下为节选的部分案例, 点此展开查看

开源项目:

  • 基于微信公众号的签到、抽奖、发送弹幕程序:https://github.com/workcheng/weiya
  • Jeepay 支付系统:https://gitee.com/jeequan/jeepay
  • 微同商城:https://gitee.com/fuyang_lipengjun/platform
  • 微信点餐系统:https://github.com/sqmax/springboot-project
  • 专注批量推送的小而美的工具:https://github.com/rememberber/WePush
  • yshop意象商城系统:https://gitee.com/guchengwuyue/yshopmall
  • wx-manage(微信公众号管理项目):https://github.com/niefy/wx-manage
  • 基于若依开发的微信公众号管理系统:https://gitee.com/joolun/JooLun-wx
  • SAAS微信小程序电商:https://gitee.com/wei-it/weiit-saas
  • mall4j 电商商城系统:https://gitee.com/gz-yami/mall4j

小程序:

  • (京东)友家铺子,友家铺子店长版,京粉精选
  • 喵星人贴吧助手(扫码关注)
  • 树懒揽书+
  • 广廉快线,鹏城巴士等
  • 当燃挑战、sportlight轻灵运动
  • 360考试宝典
  • 民医台
  • 来一团商家版
  • 史必达(史丹利)
  • 嘀嗒云印
  • 维沃吼吼
  • 王朝社区(比亚迪新能源社区)
  • 极吼吼手机上门回收换新
  • 未来信封
  • 5G惠享
  • 生菜wordpress转小程序
  • 丽日购

公众号:

  • 中国电信上海网厅(sh_189)
  • E答平台
  • 宁夏生鲜365
  • 通服货滴
  • 神龙养车
  • 沃音乐商务智能
  • 光环云社群
  • 手机排队
  • 全民约跑健身便利店
  • 民医台
  • YshopMall
  • 好行景区直通车以及全国40多个公众号
  • 我奥篮球公众号
  • 未来信封官微
  • 银川智云问诊
  • 5G惠享

企业微信:

  • HTC企业微信
  • 掌上史丹利
  • 药店益

其他:

  • 高善人力资源
  • 小猪餐餐
  • 餐饮系统
  • 微信公众号管理系统:http://demo.joolun.com
  • 锐捷网络:Saleslink

贡献者列表

特别感谢参与贡献的所有同学,所有贡献者列表请在此处查看,欢迎大家继续踊跃贡献代码!

GitHub Stargazers over time

Star History Chart

Extension points exported contracts — how you extend this code

WxChannelMessageHandler (Interface)
处理视频号推送消息的处理器 @author Zeyes [15 implementers]
weixin-java-channel/src/main/java/me/chanjar/weixin/channel/message/rule/WxChannelMessageHandler.java
ToJson (Interface)
包含toJson()方法的接口. @author Binary Wang created on 2020-10-05 [529 implementers]
weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/ToJson.java
WxMaShopImgService (Interface)
小程序交易组件-接入商品前必需接口 @author liming1019 [6 implementers]
weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaShopImgService.java
WxMpMessageHandler (Interface)
处理微信推送消息的处理器接口. @author Daniel Qian [22 implementers]
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMessageHandler.java
WxCpTpMessageHandler (Interface)
处理微信推送消息的处理器接口 @author Daniel Qian [15 implementers]
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/tp/message/WxCpTpMessageHandler.java
WxMpMultiServices (Interface)
企业微信 WxMpService 所有实例存放类. @author yl created on 2024/1/23 [5 implementers]
spring-boot-starters/wx-java-mp-multi-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/service/WxMpMultiServices.java
WxQidianApiUrl (Interface)
腾讯企点接口api地址 Created by alegria on 2020年12月26日. [4 implementers]
weixin-java-qidian/src/main/java/me/chanjar/weixin/qidian/enums/WxQidianApiUrl.java
WxMaMultiServices (Interface)
微信小程序 WxMaService 所有实例存放类. @author monch created on 2024/9/6 [4 implementers]
spring-boot-starters/wx-java-miniapp-multi-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/service/WxMaMultiServices.java

Core symbols most depended-on inside this repo

addProperty
called by 1392
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpUserGsonAdapter.java
put
called by 934
weixin-java-common/src/main/java/me/chanjar/weixin/common/util/json/GsonHelper.java
toJson
called by 823
weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/ToJson.java
create
called by 791
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpGsonBuilder.java
build
called by 755
weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/okhttp/OkHttpClientBuilder.java
post
called by 558
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java
getApiUrl
called by 525
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/WxCpConfigStorage.java
toJson
called by 520
weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/message/WxMaOutMessage.java

Shape

Method 13,048
Class 4,817
Interface 386
Enum 176

Languages

Java100%

Modules by API surface

weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/WxPayService.java111 symbols
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java91 symbols
weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/BaseWxMpServiceImplTest.java90 symbols
weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenInMemoryConfigStorage.java89 symbols
weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/BaseWxMaServiceImpl.java89 symbols
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/msgaudit/WxCpChatModel.java86 symbols
weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/BaseWxPayServiceImpl.java84 symbols
weixin-java-open/src/test/java/me/chanjar/weixin/open/api/impl/WxOpenMaServiceImplTest.java84 symbols
weixin-java-qidian/src/test/java/me/chanjar/weixin/qidian/api/impl/BaseWxQidianServiceImplTest.java82 symbols
weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java82 symbols
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpExternalContactServiceImpl.java82 symbols
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpExternalContactService.java82 symbols

Dependencies from manifests, versioned

ch.qos.logback:logback-classic1.3.12 · 1×
com.fasterxml.jackson.core:jackson-annotations
com.fasterxml.jackson.core:jackson-core
com.fasterxml.jackson.dataformat:jackson-dataformat-xml
com.fasterxml.jackson:jackson-bom2.18.4 · 1×
com.github.binarywang:qrcode-utils1.3 · 1×
com.github.binarywang:weixin-graal
com.github.binarywang:weixin-java-aispeech
com.github.binarywang:weixin-java-channel
com.github.binarywang:weixin-java-common
com.github.binarywang:weixin-java-cp
com.github.binarywang:weixin-java-miniapp

For agents

$ claude mcp add WxJava \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact