公众号开发
This commit is contained in:
		@@ -0,0 +1,12 @@
 | 
			
		||||
package com.stdiet.custom.domain.wechat;
 | 
			
		||||
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
 | 
			
		||||
@Data
 | 
			
		||||
public class WxAccessToken implements Serializable {
 | 
			
		||||
    private String accessToken;
 | 
			
		||||
 | 
			
		||||
    private Integer expiresIn;
 | 
			
		||||
}
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
package com.stdiet.custom.service;
 | 
			
		||||
 | 
			
		||||
import com.stdiet.common.core.domain.AjaxResult;
 | 
			
		||||
import com.stdiet.custom.domain.WxXmlData;
 | 
			
		||||
 | 
			
		||||
import javax.servlet.http.HttpServletRequest;
 | 
			
		||||
@@ -16,4 +17,6 @@ public interface ISysWxService {
 | 
			
		||||
    public String wxCheckAuth(String signature, String timestamp, String nonce, String echostr);
 | 
			
		||||
 | 
			
		||||
    public String autoResponse(HttpServletRequest request);
 | 
			
		||||
 | 
			
		||||
    public AjaxResult getAccessToken();
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
package com.stdiet.custom.service.impl;
 | 
			
		||||
 | 
			
		||||
import com.stdiet.common.core.domain.AjaxResult;
 | 
			
		||||
import com.stdiet.common.utils.StringUtils;
 | 
			
		||||
import com.stdiet.custom.domain.WxXmlData;
 | 
			
		||||
import com.stdiet.custom.service.ISysWxService;
 | 
			
		||||
@@ -29,7 +30,7 @@ public class SysWxServiceImpl implements ISysWxService {
 | 
			
		||||
            WxXmlData resultXmlData = new WxXmlData();
 | 
			
		||||
            resultXmlData.setToUserName(wxData.getFromUserName());  //收到的消息是谁发来的再发给谁
 | 
			
		||||
            resultXmlData.setFromUserName(wxData.getToUserName());  //
 | 
			
		||||
            if (!StringUtils.isEmpty(wxData.getEvent())) {
 | 
			
		||||
            if (wxData.getMsgType().equals(WechatMessageUtil.MESSAGE_EVENT)) {
 | 
			
		||||
                if (wxData.getEvent().equals(WechatMessageUtil.MESSAGE_EVENT_SUBSCRIBE)) {
 | 
			
		||||
                    resultXmlData.setMsgType("text");
 | 
			
		||||
                    resultXmlData.setCreateTime(System.currentTimeMillis());
 | 
			
		||||
@@ -37,7 +38,7 @@ public class SysWxServiceImpl implements ISysWxService {
 | 
			
		||||
                } else if (wxData.getEvent().equals(WechatMessageUtil.MESSAGE_EVENT_UNSUBSCRIBE)) {
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
            } else if (wxData.getContent().equalsIgnoreCase("vip")) {
 | 
			
		||||
            } else if (wxData.getMsgType().equals(WechatMessageUtil.MESSAGE_TEXT)) {
 | 
			
		||||
                resultXmlData.setMsgType("text");
 | 
			
		||||
                resultXmlData.setCreateTime(System.currentTimeMillis());
 | 
			
		||||
                resultXmlData.setContent("<a href=\"https://my.openwrite.cn/code/generate?blogId=18931-1576559666626-322\">点击该链接,获取博客解锁验证码</a>");
 | 
			
		||||
@@ -55,4 +56,10 @@ public class SysWxServiceImpl implements ISysWxService {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public AjaxResult getAccessToken() {
 | 
			
		||||
        return AjaxResult.success(WxTokenUtils.fetchAccessToken());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,10 @@
 | 
			
		||||
package com.stdiet.custom.utils;
 | 
			
		||||
 | 
			
		||||
import com.alibaba.fastjson.JSONObject;
 | 
			
		||||
import com.stdiet.common.utils.StringUtils;
 | 
			
		||||
import com.stdiet.common.utils.http.HttpUtils;
 | 
			
		||||
import com.stdiet.custom.domain.WxXmlData;
 | 
			
		||||
import com.stdiet.custom.domain.wechat.WxAccessToken;
 | 
			
		||||
import com.thoughtworks.xstream.XStream;
 | 
			
		||||
import org.apache.commons.io.IOUtils;
 | 
			
		||||
 | 
			
		||||
@@ -13,6 +17,23 @@ public class WxTokenUtils {
 | 
			
		||||
 | 
			
		||||
    // 与接口配置信息中的Token要一致
 | 
			
		||||
    private static String token = "shengtangdiet";
 | 
			
		||||
    private static String appId = "wx4a9c1fc9dba53202";
 | 
			
		||||
    private static String appSecret = "fff029ade5d3575df755f4cf9e52f8da";
 | 
			
		||||
    private static String tokenUrl = "https://api.weixin.qq.com/cgi-bin/token";
 | 
			
		||||
 | 
			
		||||
    public static WxAccessToken fetchAccessToken() {
 | 
			
		||||
        try {
 | 
			
		||||
            String resStr = HttpUtils.sendGet(tokenUrl, "grant_type=client_credential&appid=" + appId + "secret=" + appSecret);
 | 
			
		||||
            if (StringUtils.isEmpty(resStr)) {
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            JSONObject obj = JSONObject.parseObject(resStr);
 | 
			
		||||
            WxAccessToken token = JSONObject.toJavaObject(obj, WxAccessToken.class);
 | 
			
		||||
            return token;
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 验证签名
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user