重写复现方法

This commit is contained in:
2025-08-29 10:44:35 +08:00
parent b3257bd6de
commit 6ae8afc284
5 changed files with 263 additions and 233 deletions

View File

@@ -4,11 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.mini.capi.biz.domain.ApiMenus;
import com.mini.capi.biz.domain.ApiModule;
import com.mini.capi.biz.domain.ApiUser;
import com.mini.capi.biz.service.ApiMenusService;
import com.mini.capi.biz.service.ApiModuleService;
import com.mini.capi.biz.service.ApiUserService;
import com.mini.capi.model.auth.Result;
import com.mini.capi.sys.service.PortalService;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession;
import lombok.Data;
import org.springframework.web.bind.annotation.*;
@@ -27,7 +27,10 @@ public class LoginController {
private ApiUserService userService;
@Resource
private PortalService portalService;
private ApiModuleService moduleService;
@Resource
private ApiMenusService menusService;
@Data
@@ -72,16 +75,18 @@ public class LoginController {
@GetMapping("/modules")
public List<ApiModule> modules() {
return portalService.listModules();
return moduleService.list();
}
@GetMapping("/menus")
public List<ApiMenus> menus(@RequestParam String moduleCode) {
return portalService.listMenus(moduleCode);
QueryWrapper<ApiMenus> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("module_code", moduleCode);
return menusService.list(queryWrapper);
}
@GetMapping("/me")
public ApiUser me(HttpServletRequest request) {
return portalService.currentUser(request);
public ApiUser me(HttpSession session) {
return (ApiUser) session.getAttribute("Authorization");
}
}

View File

@@ -13,10 +13,18 @@ public class LoginPageController {
/**
*
*
*/
@GetMapping("/welcome")
public String welcomePage() {
return "forward:/views/demo.html";
}
/**
* 系统首页-控制台
*/
@GetMapping("/home")
public String homePage() {
return "forward:/views/home.html";
}
}

View File

@@ -1,95 +0,0 @@
package com.mini.capi.sys.service;
import com.mini.capi.biz.domain.ApiMenus;
import com.mini.capi.biz.domain.ApiModule;
import com.mini.capi.biz.domain.ApiUser;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class PortalService {
private final List<ApiModule> modules = Arrays.asList(
createModule("m1","API管理","API","fa-code","#api"),
createModule("m2","邮件管理","MAIL","fa-envelope","#mail"),
createModule("m3","数据管理","DATA","fa-database","#data"),
createModule("m4","系统管理","SYS","fa-cog","#system")
);
private final List<ApiMenus> menus = Arrays.asList(
// API
createMenu("m1-1","新增API","API_ADD","fa-plus-circle","#api/add","API"),
createMenu("m1-2","API列表","API_LIST","fa-list","#api/list","API"),
createMenu("m1-3","调用统计","API_STAT","fa-bar-chart","#api/stat","API"),
createMenu("m1-4","密钥管理","API_KEY","fa-key","#api/key","API"),
createMenu("m1-5","权限设置","API_PERM","fa-shield","#api/perm","API"),
createMenu("m1-6","调用记录","API_LOG","fa-history","#api/log","API"),
// MAIL
createMenu("m2-1","发送邮件","MAIL_SEND","fa-pencil","#mail/send","MAIL"),
createMenu("m2-2","收件箱","MAIL_INBOX","fa-inbox","#mail/inbox","MAIL"),
createMenu("m2-3","已发送","MAIL_SENT","fa-paper-plane","#mail/sent","MAIL"),
createMenu("m2-4","垃圾箱","MAIL_TRASH","fa-trash","#mail/trash","MAIL"),
createMenu("m2-5","星标邮件","MAIL_STAR","fa-star","#mail/star","MAIL"),
createMenu("m2-6","邮件设置","MAIL_SET","fa-cog","#mail/set","MAIL"),
// DATA
createMenu("m3-1","数据列表","DATA_LIST","fa-table","#data/list","DATA"),
createMenu("m3-2","数据筛选","DATA_FILTER","fa-filter","#data/filter","DATA"),
createMenu("m3-3","数据导出","DATA_EXPORT","fa-download","#data/export","DATA"),
createMenu("m3-4","数据导入","DATA_IMPORT","fa-upload","#data/import","DATA"),
createMenu("m3-5","数据分析","DATA_ANALYZE","fa-bar-chart","#data/analyze","DATA"),
createMenu("m3-6","操作记录","DATA_LOG","fa-history","#data/log","DATA"),
// SYS
createMenu("m4-1","用户管理","SYS_USER","fa-user","#sys/user","SYS"),
createMenu("m4-2","角色权限","SYS_ROLE","fa-users","#sys/role","SYS"),
createMenu("m4-3","系统设置","SYS_SET","fa-sliders","#sys/set","SYS"),
createMenu("m4-4","插件管理","SYS_PLUGIN","fa-plug","#sys/plugin","SYS"),
createMenu("m4-5","安全中心","SYS_SECURE","fa-shield","#sys/secure","SYS"),
createMenu("m4-6","关于系统","SYS_ABOUT","fa-info-circle","#sys/about","SYS")
);
public List<ApiModule> listModules() {
return modules;
}
public List<ApiMenus> listMenus(String moduleCode) {
return menus.stream()
.filter(m -> m.getModuleCode().equalsIgnoreCase(moduleCode))
.collect(Collectors.toList());
}
public ApiUser currentUser(HttpServletRequest request) {
HttpSession session = request.getSession();
return (ApiUser) session.getAttribute("Authorization");
}
/* ---------- helper ---------- */
private ApiModule createModule(String id, String name, String code, String icon, String href) {
ApiModule m = new ApiModule();
m.setModuleId(id);
m.setModuleName(name);
m.setModuleCode(code);
m.setCIcon(icon);
m.setCHref(href);
return m;
}
private ApiMenus createMenu(String id, String name, String code, String icon, String href, String moduleCode) {
ApiMenus m = new ApiMenus();
m.setMenuId(id);
m.setMenuName(name);
m.setMenuCode(code);
m.setCIcon(icon);
m.setCHref(href);
m.setModuleCode(moduleCode);
return m;
}
}