public class WeiXinUtil extends Object
XiaoChengXuUtil| 限定符和类型 | 字段和说明 |
|---|---|
static int |
ACCESS_TOKEN_DELAY_TIME |
static String |
ACCESS_TOKEN_URL |
boolean |
debug |
static int |
JSAPI_TICKET_DELAY_TIME |
static String |
JSAPI_TICKET_URL |
static String |
OAUTH2_ACCESS_TOKEN_URL |
static String |
OAUTH2_URL |
static String |
OAUTH2_USER_INFO_URL |
static String |
USER_INFO_URL |
| 构造器和说明 |
|---|
WeiXinUtil(String appId,
String appSecret,
String token)
微信基本操作-不涉及小程序。
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
autoReplyText(javax.servlet.http.HttpServletResponse response,
MessageReceive messageReceive,
String content)
微信服务器接收消息或者事件后,推送到我们的服务器。
|
AccessToken |
getAccessToken()
获取最新的普通access_token
|
JsapiTicket |
getJsapiTicket()
获取 JS SDK 的 ticket
|
SignatureBean |
getJsSignature(String url)
JS-SDK 生成 signature 签名,可以在页面中直接使用,如分享到朋友圈等
注意事项:
1.签名的noncestr和timestamp必须与wx.config中的nonceStr和timestamp相同。
|
String |
getOauth2ExpertUrl(String redirectUri)
获取网页授权的URL跳转地址,不会出现授权页面,只能拿到用户openid
|
String |
getOauth2OpenId(String code)
获取网页授权,获取用户的openid
|
String |
getOauth2SimpleUrl(String redirectUri)
获取网页授权的URL跳转地址,弹出授权页面,可通过openid拿到昵称、性别、所在地。
|
String |
getOauth2Url(String redirectUri,
String scope,
String state)
获取网页授权的URL跳转地址
|
UserInfo |
getOauth2UserInfo(String code)
网页授权获取用户的个人信息
|
UserInfo |
getUserInfo(String openId)
通过openId,获取用户的信息
|
void |
joinVerify(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
微信公众号开发,需首先填入与微信服务器交互的我方URL地址, 填写的URL需要正确响应微信发送的Token验证。
|
MessageReceive |
receiveMessage(javax.servlet.http.HttpServletRequest request)
接收xml格式消息,用户通过微信公众号发送消息,有服务器接收。
|
MessageReceive |
receiveMessage(String messageContent)
接收xml格式消息,用户通过微信公众号发送消息,有服务器接收。
|
public static String ACCESS_TOKEN_URL
public static String USER_INFO_URL
public static String OAUTH2_URL
public static String OAUTH2_ACCESS_TOKEN_URL
public static String OAUTH2_USER_INFO_URL
public static String JSAPI_TICKET_URL
public static int ACCESS_TOKEN_DELAY_TIME
public static int JSAPI_TICKET_DELAY_TIME
public boolean debug
public WeiXinUtil(String appId, String appSecret, String token)
XiaoChengXuUtilappId - AppID(应用ID)appSecret - AppSecret(应用密钥)token - 用户于微信公众平台双方拟定的令牌Token。可为空。public AccessToken getAccessToken()
public UserInfo getUserInfo(String openId)
openId - 普通用户的标识,对当前公众号唯一public String getOauth2Url(String redirectUri, String scope, String state)
redirectUri - 授权后重定向的回调链接地址,无需URL转码,原始urlscope - 应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息)state - 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节public String getOauth2SimpleUrl(String redirectUri)
redirectUri - 授权后重定向的回调链接地址,无需URL转码,原始urlpublic String getOauth2ExpertUrl(String redirectUri)
redirectUri - 授权后重定向的回调链接地址,无需URL转码,原始urlpublic String getOauth2OpenId(String code)
code - 如果用户同意授权,页面将跳转至 redirect_uri/?code=CODE&state=STATE,授权成功会get方式传过来public UserInfo getOauth2UserInfo(String code)
code - 如果用户同意授权,页面将跳转至 redirect_uri/?code=CODE&state=STATE,授权成功会get方式传过来UserInfo (无 subscribeTime 项)public MessageReceive receiveMessage(javax.servlet.http.HttpServletRequest request) throws org.dom4j.DocumentException
MessageReceive对象
通常此会存在于一个Servlet中,用于接收微信服务器推送来的消息。
request - 这里便是微信服务器接收到消息后,将消息POST提交过来的请求,会自动从request中取微信post的消息内容MessageReceiveorg.dom4j.DocumentException - 异常public MessageReceive receiveMessage(String messageContent) throws org.dom4j.DocumentException
MessageReceive对象
通常此会存在于一个Servlet中,用于接收微信服务器推送来的消息。例如SpringMVC中可以这样写:
MessageReceive message = new WeiXinUtil(......).receiveMessage(request);
messageContent - 这里便是微信服务器接收到消息后,将消息POST提交过来消息内容MessageReceiveorg.dom4j.DocumentException - 异常public void autoReplyText(javax.servlet.http.HttpServletResponse response,
MessageReceive messageReceive,
String content)
相当于:
MessageReply messageReply = new MessageReply(messageReceive.getFromUserName(), messageReceive.getToUserName());
messageReply.replyText(response, content);
response - HttpServletResponse响应,输出返回值给微信服务器。messageReceive - 使用receiveMessage(HttpServletRequest)方法获取到的 MessageReceive。这里面可以拿到是要回复给哪个用户。content - 微信公众号自动给触发此响应的用户发送的文字消息,这里便是文字消息的内容public void joinVerify(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
使用时,如 SpringMVC 中:
@RequestMapping("weixin")
public void verify(HttpServletRequest request, HttpServletResponse response){
WeiXinUtil.joinVerify(request, response);
}
request - HttpServletRequestresponse - HttpServletResponsepublic JsapiTicket getJsapiTicket()
public SignatureBean getJsSignature(String url)
1.签名的noncestr和timestamp必须与wx.config中的nonceStr和timestamp相同。
2.签名用的url必须是调用JS接口页面的完整URL。
3.出于安全考虑,开发者必须在服务器端实现签名的逻辑。
url - 当前网页的URL,不包含#及其后面部分,如 http://mp.weixin.qq.com?params=valueCopyright © 2019. All rights reserved.