提交 a72fe2c6 authored 作者: 李秋林's avatar 李秋林

添加token工具类,R封闭类修改

上级 997849a3
...@@ -33,6 +33,7 @@ public class JwtUtils { ...@@ -33,6 +33,7 @@ public class JwtUtils {
String jwtToken = JWT.create() String jwtToken = JWT.create()
.withClaim("openId", openId) .withClaim("openId", openId)
.withClaim("phone", phone) .withClaim("phone", phone)
.withClaim("time", System.currentTimeMillis())
.sign(algorithm); .sign(algorithm);
return jwtToken; return jwtToken;
} catch (Exception e) { } catch (Exception e) {
......
package com.wangxiaolu.promotion.result.advice;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.wangxiaolu.promotion.exception.APIException;
import com.wangxiaolu.promotion.result.basedata.RCode;
import com.wangxiaolu.promotion.result.basedata.R;
import org.springframework.core.MethodParameter;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
/**
* @author : liqiulin
* @date : 2024-03-28 17
* @describe : todo 自动封装 R
*/
@RestControllerAdvice(basePackages = {"com.wangxiaolu.promotion.controller"})
public class ControllerResponseAdvice implements ResponseBodyAdvice<Object> {
@Override
public boolean supports(MethodParameter methodParameter, Class<? extends HttpMessageConverter<?>> aClass) {
// response是R类型或者注释了NotControllerResponseAdvice都不进行包装
return !methodParameter.getParameterType().isAssignableFrom(R.class);
}
@Override
public Object beforeBodyWrite(Object data, MethodParameter methodParameter, MediaType mediaType, Class<? extends HttpMessageConverter<?>> aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) {
// String类型不能直接包装
if (methodParameter.getGenericParameterType().equals(String.class)) {
ObjectMapper objectMapper = new ObjectMapper();
try {
// 将数据包装在ResultVo里后转换为json串进行返回
return objectMapper.writeValueAsString(new R(data));
} catch (JsonProcessingException e) {
throw new APIException(RCode.RESPONSE_PACK_ERROR, e.getMessage());
}
}
// 包装成R返回
return new R(data);
}
}
...@@ -34,6 +34,15 @@ public class R { ...@@ -34,6 +34,15 @@ public class R {
this.data = data; this.data = data;
} }
/**
* 默认成功
*/
public R() {
this.code = RCode.SUCCESS.getCode();
this.msg = RCode.SUCCESS.getMsg();
this.data = null;
}
/** /**
* 无数据返回 * 无数据返回
*/ */
...@@ -69,4 +78,11 @@ public class R { ...@@ -69,4 +78,11 @@ public class R {
this.msg = msg; this.msg = msg;
this.data = data; this.data = data;
} }
public static R success(Object data) {
return new R(data);
}
public static R success() {
return new R();
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论