Commit 28b55cc2 by Lizh

feat: P0 Step 1.8 — SysLoginController 登录/用户信息/路由/登出 4 端点

Co-Authored-By: Claude <noreply@anthropic.com>
parent c9f598be
package com.jomalls.custom.webapp.controller.system;
import com.jomalls.custom.app.service.system.SysLoginService;
import com.jomalls.custom.app.vo.LoginUserInfoVO;
import com.jomalls.custom.app.vo.RouterVO;
import com.jomalls.custom.utils.R;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 登录鉴权控制器
*
* @author Lizh
*/
@Slf4j
@RestController
@RequiredArgsConstructor
@Tag(name = "登录鉴权")
public class SysLoginController {
private final SysLoginService sysLoginService;
/**
* 用户登录
*/
@PostMapping("/api/v2/login")
@Operation(summary = "用户登录")
public R<Map<String, String>> login(@RequestBody Map<String, String> body) {
String username = body.get("username");
String password = body.get("password");
log.info("用户[{}]尝试登录", username);
String token = sysLoginService.login(username, password);
Map<String, String> result = new HashMap<>();
result.put("token", token);
log.info("用户[{}]登录成功", username);
return R.ok(result);
}
/**
* 获取用户信息
*/
@GetMapping("/api/v2/getInfo")
@Operation(summary = "获取当前用户信息")
public R<LoginUserInfoVO> getInfo() {
LoginUserInfoVO info = sysLoginService.getInfo();
return R.ok(info);
}
/**
* 获取路由菜单
*/
@GetMapping("/api/v2/getRouters")
@Operation(summary = "获取前端路由菜单")
public R<List<RouterVO>> getRouters() {
List<RouterVO> routers = sysLoginService.getRouters();
return R.ok(routers);
}
/**
* 退出登录
*/
@PostMapping("/api/v2/logout")
@Operation(summary = "退出登录")
public R<Void> logout() {
log.info("用户退出登录");
return R.ok();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment