Admin实体:
bash
@TableName("t_admin")
@Data
public class Admin {
@TableId(type = IdType.AUTO)
private Integer id; // 编号
private String userName; // 用户名
private String password; // 密码
@TableField(select = false)
private String newPassword; // 新密码
}
再新建t_admin数据库表,以及mapper,service;
AdminController.java
bash
/**
* 管理员Controller
* @author java1234_小锋
* @site www.java1234.com
* @company 南通小锋网络科技有限公司
* @create 2022-05-04 17:53
*/
@RestController
public class AdminController {
@Autowired
private IAdminService adminService;
/**
* 管理员登录
* @param admin
* @return
*/
@PostMapping("/adminLogin")
public R adminLogin(@RequestBody Admin admin){
if(admin==null){
return R.error();
}
if(StringUtil.isEmpty(admin.getUserName())){
return R.error("用户名不能位空!");
}
if(StringUtil.isEmpty(admin.getPassword())){
return R.error("密码不能位空!");
}
Admin resultAdmin = adminService.getOne(new QueryWrapper<Admin>().eq("userName", admin.getUserName()));
if(resultAdmin==null){
return R.error("用户名不存在");
}
if(!resultAdmin.getPassword().trim().equals(admin.getPassword())){
return R.error("用户名或者密码错误!");
}
String token = JwtUtils.createJWT("-1", "admin", SystemConstant.JWT_TTL);
Map<String,Object> resultMap=new HashMap<>();
resultMap.put("token",token);
return R.ok(resultMap);
}
}
前端引入axios,以及ElMessage组件
bash
import axios from 'axios'
import {ElMessage} from 'element-plus'
axios请求:
bash
const handleLogin=()=>{
formRef.value.validate(async (valid)=>{
if(valid){
axios.post("http://localhost:8081/adminLogin",form.value)
.then(response=>{
console.log((response.data))
}).catch(error=>{
ElMessage.error('系统运行出错,请联系管理员')
})
}
})
}
跨域问题解决:
bash
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowCredentials(true)
.allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE","OPTIONS")
.maxAge(3600);
}
AdminMapper.xml
bash
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.java1234.mapper.AdminMapper">
</mapper>
Admin.java
bash
package com.java1234.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 管理员实体
* @author java1234_小锋
* @site www.java1234.com
* @company 南通小锋网络科技有限公司
* @create 2022-02-05 7:47
*/
@TableName("t_admin")
@Data
public class Admin {
@TableId(type = IdType.AUTO)
private Integer id; // 编号
private String userName; // 用户名
private String password; // 密码
@TableField(select = false)
private String newPassword; // 新密码
}
AdminMapper
bash
package com.java1234.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.java1234.entity.Admin;
/**
* 管理员Mapper接口
* @author java1234_小锋
* @site www.java1234.com
* @company 南通小锋网络科技有限公司
* @create 2022-02-23 22:00
*/
public interface AdminMapper extends BaseMapper<Admin> {
}
IAdminService
bash
package com.java1234.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.java1234.entity.Admin;
/**
* 管理员Service接口
* @author java1234_小锋
* @site www.java1234.com
* @company 南通小锋网络科技有限公司
* @create 2022-02-23 22:01
*/
public interface IAdminService extends IService<Admin> {
}
IAdminServiceImpl
bash
package com.java1234.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.java1234.entity.Admin;
import com.java1234.mapper.AdminMapper;
import com.java1234.service.IAdminService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 管理员Service实现类
* @author java1234_小锋
* @site www.java1234.com
* @company 南通小锋网络科技有限公司
* @create 2022-02-23 22:02
*/
@Service("adminService")
public class IAdminServiceImpl extends ServiceImpl<AdminMapper,Admin> implements IAdminService {
@Autowired
private AdminMapper adminMapper;
}
AdminController
bash
package com.java1234.controller.admin;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.java1234.constant.SystemConstant;
import com.java1234.entity.Admin;
import com.java1234.entity.R;
import com.java1234.service.IAdminService;
import com.java1234.util.JwtUtils;
import com.java1234.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
/**
* 管理员Controller
* @author java1234_小锋
* @site www.java1234.com
* @company 南通小锋网络科技有限公司
* @create 2022-05-04 20:02
*/
@RestController
public class AdminController {
@Autowired
private IAdminService adminService;
/**
* 管理员登录
* @param admin
* @return
*/
@PostMapping("/adminLogin")
public R adminLogin(@RequestBody Admin admin){
if(admin==null){
return R.error();
}
if(StringUtil.isEmpty(admin.getUserName())){
return R.error("用户名不能为空!");
}
if(StringUtil.isEmpty(admin.getPassword())){
return R.error("密码不能为空!");
}
Admin resultAdmin = adminService.getOne(new QueryWrapper<Admin>().eq("userName", admin.getUserName()));
if(resultAdmin==null){
return R.error("用户名不存在");
}
if(!resultAdmin.getPassword().trim().equals(admin.getPassword())){
return R.error("用户名或者密码错误!");
}
String token = JwtUtils.createJWT("-1", "admin", SystemConstant.JWT_TTL);
Map<String,Object> resultMap=new HashMap<>();
resultMap.put("token",token);
return R.ok(resultMap);
}
}