1,克隆项目
git clone https://github.com/PanJiaChen/vue-element-admin.git
2,进入项目目录
cd vue-element-admin
3,安装依赖
npm install
1,导入vue-admin-template 项目后 打开 .env.development .env.production .env.staging 对请求路径进行修改
2,修改后对src/utils/request.js下的这个文件进行响应的修改
根据自己项目需求进行修改。
3,打开login页面 handleLogin方法记得不要修改里面的user/login
这方法请求的是 src/api/user.js
然后在springboot项目下编写方法
1,Controller
@PostMapping(value = "/logins")
@ApiOperation(value = "管理登录")
public R logins(@RequestBody AdminLoginVo adminLoginVo){
R r = adminSysService.logins(adminLoginVo);
return r;
}
@GetMapping(value = "/info")
@ApiOperation(value = "通过token验证管理信息")
public R info(@RequestParam(value = "token") String token){
HashMap<String,String> map = new HashMap<>();
DecodedJWT verify = JWTutil.verify(token);
String name = verify.getClaim("name").asString();
String avatar = verify.getClaim("image").asString();
map.put("name",name);
map.put("avatar",avatar);
map.put("roles","admin");
return R.ok().put("data",map);
}
2,service
@Override
public R logins(AdminLoginVo adminLoginVo) {
AdminSysEntity adminSysEntity = baseMapper.getusernameandpassowrd(adminLoginVo.getUsername(), MD5util.code(adminLoginVo.getPassword()));
if(adminSysEntity == null){
return R.error(Information.No_datawasfound);
}
Map<String,String> JwtMap = new HashMap<>();
JwtMap.put("username", adminSysEntity.getUsername());
JwtMap.put("name", adminSysEntity.getName());
JwtMap.put("email", adminSysEntity.getEmail());
JwtMap.put("image", adminSysEntity.getImage());
JwtMap.put("phone", adminSysEntity.getPhone());
String token = JWTutil.getToken(JwtMap);
return R.ok().put("token",token);
}
然后对前端的src/store/modules/user.js文件进行修改
主要分为这两大块 记住token 和 name什么的 要跟你后端返回来的格式对应
第一个userlogin 对后端管理登录请求 返回的token 进行个存楚 ,给第二个getuserinfo携带token对后端通过token进行验证管理信息
实现退出登录
找到退出登录的操作按钮
/src/layout/components/Navbar.vue文件
【注】注销登录可以调用user/resetToken直接清除前端的cookie记录,不去与后端交互
定义resetToken这个方法
找到目录/src/store/modules/user.js
然后就发现退出登录这个功能就实现了!!!