# easy-wechat
**Repository Path**: easy-dev/easy-wechat
## Basic Information
- **Project Name**: easy-wechat
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2016-03-28
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# EASY-WECHAT #
## 简介 ##
> 帮助托管微信的消息接收,开放消息处理拓展
> 实现微信内auth授权登陆功能,解耦微信登陆与项目之间的业务绑定
> 接管维护微信token(可选),封装微信接口API对象,励志做最简单的微信调用
> 其他功能不断维护拓展中
## 快速开始 ##
### 项目引入 ###
##### 普通web工程依赖jar包清单 #####
fastjson-1.1.41.jar
slf4j-api-1.7.10.jar
commons-lang3-3.4.jar
xstream-1.4.9.jar
commons-codec-1.9.jar
##### Maven项目依赖 #####
org.easydev
easy-wechat
0.0.1-SNAPSHOT
### 使用引导 ###
##### 微信登陆 #####
在web.xml中配置微信登陆Filter,即可实现微信自动登陆
wechatLoginFilter
org.easydev.wechat.filter.WechatLoginFilter
wechatLoginFilter
/*
登陆结果放在cookie中,项目需要使用时可以通过如下方法获取:
CookieUtil.getCookieValue("easyOpenId", request);
##### 微信服务器消息接管 #####
在web.xml中配置如下微信服务器接收servlet即可
wechatServlet
org.easydev.wechat.servlet.WechatServlet
serviceName
XXXXXXXX
wechatServlet
/wechatServlet
其中参数**serviceName**是实现**org.easydev.wechat.servlet.AbsWechatService**的类
需要处理的方法只有三个,分别是设置appId,token,和AESKey
可拓展的方法多达十几个,可以分别对不同消息类型处理的方法覆写,基本满足大部分业务的场景需求
##### 微信API调用封装 #####
**优势:**
1. 按功能封装微信接口调用,入参出参对象化
2. 默认接管微信token维护,使得业务调用只需关注业务参数本身。
3. 接口不断维护,持续升级中
**值得注意的地方:**
微信token维护目前是放在内存中的,如果项目多台部署,则不能采用默认托管token的方式。
**API调用示例**
// 微信根据openid获取用户信息
UserInfo ui = new UserInfo();
// ui.setAccessToken("XXX"); 如果token不托管则自己设置token,默认不需要这一行
ui.setOpenid("oEPttwdmdrH9h_AtTLh_S-_juMSU");
// 下面一句简单完成接口调用,返回的是封装好的javaBean,不需要再为解析String、json烦恼
UserAPI.getUserInfo(ui);