Skip to content

Instantly share code, notes, and snippets.

View greenyleaf's full-sized avatar

whatsABetterNick greenyleaf

View GitHub Profile
@greenyleaf
greenyleaf / WxAuthInterceptor.java
Created June 19, 2020 13:30
a Spring interceptor for Weixin(wechat) oauth2
package top.sdrkyj.custom.config;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import org.springframework.web.util.UriComponentsBuilder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@greenyleaf
greenyleaf / my-coupons.ftlh
Last active June 19, 2020 13:48
a mobile page Freemarker template of coupons list, used a little CSS3.
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width,user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,viewport-fit=cover">
<meta name="format-detection" content="telephone=no">
<meta name="applicable-device" content="mobile">
<meta name="screen-orientation" content="portrait">
<title>我的优惠券</title>
@greenyleaf
greenyleaf / QqwryParser.java
Created July 5, 2022 00:18
a Geo IP library parser of qqwry, cz88
@Component
@Slf4j
public class QqwryParser {
@Value("qqwry.dat")
private ClassPathResource resource;
public String[] versionInfo() throws IOException {
try (RandomAccessFile file = new RandomAccessFile(resource.getFile(), "r")) {
file.seek(4);
int lastIndexRecordOffset = Integer.reverseBytes(file.readInt());