公众号开发
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