学网站建设app,wordpress 高级版,专业设计企业网站,营销网站参考基于 Spring Boot 瑞吉外卖系统开发#xff08;十五#xff09;
前台用户登录 在登录页面输入验证码#xff0c;单击“登录”按钮#xff0c;页面会携带输入的手机号和验证码向“/user/login”发起请求。
定义UserMapper接口
Mapper
public interface UserMapper exte…基于 Spring Boot 瑞吉外卖系统开发十五
前台用户登录 在登录页面输入验证码单击“登录”按钮页面会携带输入的手机号和验证码向“/user/login”发起请求。
定义UserMapper接口
Mapper
public interface UserMapper extends BaseMapperUser {
}定义UserService接口
public interface UserService extends IServiceUser {
}定义UserService实现类
Service
public class UserServiceImpl extends ServiceImplUserMapper, User implements UserService {
}定义UserController类
RestController
RequestMapping(/user)
public class UserController {Autowiredprivate UserService userService;/*** 移动端用户登录* param map* param session* return*/PostMapping(/login)public RUser login(RequestBody MapString,String map,HttpSession session){String phone map.get(phone);String code map.get(code);//TODO 验证码验证//判断当前手机号对应的用户是否为新用户如果是新用户就自动完成注册QueryWrapperUser query new QueryWrapper();query.eq(phone,phone);User user userService.getOne(query);if(user null){user new User();user.setPhone(phone);user.setStatus(1);userService.save(user);}session.setAttribute(loginUser,user);return R.success(user);}/*** 用户退出*/PostMapping(/loginout)public RString logout(HttpServletRequest request){//清理Session中保存的当前登录员工的idrequest.getSession().removeAttribute(loginUser);return R.success(退出成功);}}定义用户登录拦截器拦截请求
在config包中创建UserLoginInterceptor 拦截器
public class UserLoginInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {Object loginUser request.getSession().getAttribute(loginUser);if (loginUser null) {//未登录返回登录页response.sendRedirect(/front/page/login.html);return false ; //不放行}return true ; //放行}}配置用户登录拦截器
在WebMvcConfig文件中配置拦截器设置拦截的路径这里只简单设置了拦截页面。 Overridepublic void addInterceptors(InterceptorRegistry registry) {//后台员工登录拦截器registry.addInterceptor(new LoginInterceptor()).addPathPatterns(/backend/page/**,/backend/index.html).excludePathPatterns(/backend/page/login/login.html);//前台用户登录拦截器registry.addInterceptor(new UserLoginInterceptor()).addPathPatterns(/front/page/**,/front/index.html).excludePathPatterns(/front/page/login.html);}运行测试
输入手机号及该验证码后单击“登录”按钮会跳转到用户端首页。