由于公司业务需要,在小程序上开发客服功能
先浏览微信提供的接口文档https://developers.weixin.qq.com/miniprogram/dev/framework/server-ability/message-push.html
浏览完后,我们开始配置
1、先开发一个接口,用于验证需要填写的“URL服务器地址”,此接口用GET请求
@IgnoreToken
@GetMapping("/XXXXXXX")
public void weixinProcessGetMethod(@RequestParam(required = false) Map<String, Object> params,HttpServletResponse response) {
// 微信加密签名
String msgSignature = (String) params.get("signature");
// 时间戳
String timeStamp = (String) params.get("timestamp");
// 随机数
String nonce = (String) params.get("nonce");
// 随机字符串
String echoStr = (String) params.get("echostr");
log.info("客服消息验证url参数:{}", JSONObject.toJSONString(params));
String result = "";
if (SignUtil.checkSignature(msgSignature, timeStamp, nonce)) {
result = echoStr;
}
log.info("客服消息验证url验证结果:{}",result);
WXCommonUtils.responeOutputResult(response,result);
}
再附一个工具类
import java.security.MessageDigest;
import java