weixin4j/weixin4j-mp/README.md
2014-12-12 11:16:35 +08:00

4.3 KiB

weixin4j-mp

微信公众平台开发工具包

功能列表

  • weixin4j-mp-api

    • MediaApi 上传/下载媒体文件API

    • NotifyApi 客服消息API

    • CustomApi 多客服API

    • MassApi 群发消息API

    • UserApi 用户管理API

    • GroupApi 分组管理API

    • MenuApi 底部菜单API

    • QrApi 二维码API

    • TmplApi 模板消息API

    • HelperApi 辅助API

  • weixin4j-mp-server

    • netty服务器 & 消息分发

    • 被动消息AES加密、解密

项目说明

1.weixin4j-mp包含「微信公众平台」的API封装以及一个半成品的netty服务实现.

2.API的成功调用依赖于正确的appid等数据,创建(或者copy项目里面的)一个名为weixin.properties的资源文件放在自己工程中的classpath下.

属性名 说明
account 微信公众号信息 json格式
token_path 使用FileTokenHolder时token保存的物理路径
qr_path 调用二维码接口时保存二维码图片的物理路径
media_path 调用媒体接口时保存媒体文件的物理路径
bill_path 调用下载对账单接口保存excel文件的物理路径
ca_file 调用某些接口(支付相关)强制需要auth的ca授权文件

示例(properties中换行用右斜杆\)

account={"id":"appId","secret":"appSecret",\
	"token":"开放者的token",\
	"encodingAesKey":"公众号设置了加密方式且为「安全模式」时需要填入",\
	"mchId":"V3.x版本下的微信商户号",\
	"partnerId":"财付通的商户号",\
	"partnerKey":"财付通商户权限密钥Key",\
	"version":"针对微信支付的版本号(2,3),如果不填则按照mchId非空与否来判断",\
	"paySignKey":"微信支付中调用API的密钥"}

token_path=/tmp/weixin/token
qr_path=/tmp/weixin/qr
media_path=/tmp/weixin/media
bill_path=/tmp/weixin/bill
ca_file=/tmp/weixin/xxxxx.p12 | xxxx.pfx

3.在项目根目录下执行mvn package命令后得到jar包,将weixin4j-mp-full包或者weixin4j-baseweixin4j-mp-api两个包引入到自己的工程.

WeixinProxy weixinProxy = new WeixinProxy();
// weixinProxy = new WeixinProxy(appid,appsecret);
// weixinProxy = new WeixinProxy(weixinAccount);
weixinProxy.getUser(openId);

4.如需使用netty服务,则可以在相应的action中实现自己的业务处理,打包后放到正确的目录下解压weixin-*-server-bin.zip执行sh startup.sh start便可启动服务.

@ActionAnnotation(msgType = MessageType.text)
public class TextAction extends AbstractAction<TextMessage> {

	@Override
	public ResponseMessage execute(TextMessage inMessage) {
		return new ResponseMessage(new Text("Hello World!"), inMessage);
	}
}

更新LOG

  • 2014-10-27

    • 用netty构建http服务器&消息分发
  • 2014-10-28

    • 调整ActionMapping抽象化
  • 2014-10-31

    • weixin.properties切分为API调用地址和公众号appid等信息两部分
  • 2014-11-03

    • weixin-mp分离为weixin4j-mp-apiweixin4j-mp-server两个工程

    • weixin4j-mp: 新增支付模块

  • 2014-11-06

    • weixin4j-mp-api: 新增V3版本退款接口
  • 2014-11-08

    • weixin4j-mp-api: 新增V2版本退款申请退款查询对账单下载三个接口

    • weixin4j-mp-api: 新增一个简单的语义理解接口

  • 2014-11-11

    • weixin4j-mp-api: 自定义assemblyweixin4j-base工程也一起打包(weixin4j-mp-api-full.jar)
  • 2014-11-15

    • weixin4j-mp-api: 新增获取微信服务器IP地址接口

    • weixin4j-mp-server: 解决server工程打包后不能运行问题(ClassUtil无法获取jar包里面的类)

    • weixin4j-mp-server: 新增被动消息的加密以及回复消息的解密

  • 2014-11-16

    • weixin4j-mp-api: 新增多客服接口
  • 2014-11-17

    • weixin4j-mp-api: 新增冲正被扫支付接口
  • 2014-11-23

    • weixin4j-mp-api: 重新定义(手贱)了「被动消息」「客服消息」「群发消息」的传输实体

    • weixin4j-mp-server: WeixinServerBootstrap重命名为WeixinMpServerBootstrap

  • 2014-12-12

    • weixin4j-mp-api: 新增设置模板消息所处行业获取模板消息ID接口