• @Company: 洛阳图联科技有限公司

  • @Date: 2019/12/10 17:05

*/

public class SmartRequestTokenUtil {

private static ThreadLocal requestUserThreadLocal = new ThreadLocal();

public static void setUser(HttpServletRequest request, SystemUserVo requestToken) {

request.getSession().setAttribute(CommonConst.SESSION_CURRENT_USER_KEY, requestToken);

request.getSession().setAttribute(CommonConst.X_ACCESS_TOKEN,request.getHeader(CommonConst.X_ACCESS_TOKEN));

requestUserThreadLocal.set(requestToken);

}

public static SystemUserVo getThreadLocalUser() {

return requestUserThreadLocal.get();

}

public static SystemUserVo getRequestUser() {

RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();

if (requestAttributes != null) {

HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest();

if (request != null) {

return (SystemUserVo) request.getSession().getAttribute(CommonConst.SESSION_CURRENT_USER_KEY);

}

}

return null;

}

public static String getRequestToken() {

RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();

if (requestAttributes != null) {

HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest();

if (request != null) {

//解决- 跨服务调用接口时,拦截器session判断null转string异常问题

Object session = request.getSession().getAttribute(CommonConst.X_ACCESS_TOKEN);

if(session != null){

return session.toString();

}

}

}

return null;

}

public static String getRequestUserId() {

SystemUserVo requestUser = getRequestUser();

if (null == requestUser) {

return null;

}

return requestUser.getId();

}

public static String getRequestCompanyId() {

SystemUserVo requestUser = getRequestUser();

if (null == requestUser) {

return null;

}

return requestUser.getCompanyId();

}

}

user对象

import com.tulian.cim6d.valid.user.UserInterface;

import io.swagger.annotations.ApiModelProperty;

import lombok.Data;

import java.util.Date;

/**

  • 用户信息

  • @version 1.0

  • @since JDK1.8

  • @author tarzan

  • @date 2019年12月06日 16:29:12

*/

@Data

public class SystemUserVo {

public SystemUserVo(){}

public SystemUserVo(UserInterface ui){

this.companyId = ui.getCompanyId();

this.id = ui.getUserId();

this.loginName = ui.getLoginName();

this.realName = ui.getName();

}

/**

  • 主键

*/

@ApiModelProperty(value = “主键”)

private String id;

/**

  • 昵称

*/

@ApiModelProperty(value = “昵称”)

private String nickName;

/**

  • 真实姓名

*/

@ApiModelProperty(value = “真实姓名”)

private String realName;

/**

  • 手机号

*/

@ApiModelProperty(value = “手机号”)

private String mobile;

/**

  • 性别(1:男,2:女)

*/

@ApiModelProperty(value = “性别(1:男,2:女)”)

private Integer sex;

/**

  • 登录用户名

*/

@ApiModelProperty(value = “登录用户名”)

private String loginName;

/**

  • 主属部门id

*/

@ApiModelProperty(value = “主属部门id”)

private String primaryDepartmentId;

/**

  • 主属部门id

*/

@ApiModelProperty(value = “主属部门id”)

private String primaryDepartmentName;

/**

  • 附属部门id(多个用逗号隔开)

*/

@ApiModelProperty(value = “附属部门id(多个用逗号隔开)”)

private String secondaryDepartmentId;

/**

  • 附属部门名称(多个用逗号隔开)

*/

@ApiModelProperty(value = “附属部门名称(多个用逗号隔开)”)

private String secondaryDepartmentNames;

/**

  • 职位

*/

@ApiModelProperty(value = “职位”)

private String duty;

/**

  • 汇报对象id(t_system_user中的id)

*/

@ApiModelProperty(value = “汇报对象id”)

private String reportPersonId;

/**

  • 入职日期

*/

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

文章到这里就结束了,如果觉得对你有帮助可以点个赞哦,如果有需要前端校招面试题PDF完整版的朋友可以点击这里即可免费获取,包括答案解析。

5swKY0V-1712205776355)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

文章到这里就结束了,如果觉得对你有帮助可以点个赞哦,如果有需要前端校招面试题PDF完整版的朋友可以点击这里即可免费获取,包括答案解析。

[外链图片转存中…(img-YWnx25rU-1712205776355)]

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐