Admin实体:
@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
/*** 管理员Controller* @author java1234_小锋* @site www.java1234.com* @company 南通小锋网络科技有限公司* @create 2022-05-04 17:53*/
@RestController
public class AdminController {@Autowiredprivate 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组件
import axios from 'axios'
import {ElMessage} from 'element-plus'
axios请求:
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('系统运行出错,请联系管理员')})}})
}
跨域问题解决:
@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOrigins("*").allowCredentials(true).allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE","OPTIONS").maxAge(3600);}
AdminMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.java1234.mapper.AdminMapper"></mapper>
Admin.java
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
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
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
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 {@Autowiredprivate AdminMapper adminMapper;
}
AdminController
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 {@Autowiredprivate 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);}
}