task-283(后台迁移收尾/发布): admin-vue 后台工程入库 + Flask 后台整体退役

- 新后台 admin-frontend-vue 整工程入库(base=/admin-vue/、History 路由、Nginx 静态托管方案与 verify-dist 校验)
- Java AdminConsoleController 改为入口重定向: /admin|/admin.html、/login|/login.html -> /admin-vue/; 删除 classpath:static 旧 admin.html/login.html 单页与 admin.js 副本
- Flask 后台整体退役: 删除 admin_api/auth/main 蓝图、web_source 页面、static 脚本与 admin 相关测试; app.py 收敛为仅注册 version_bp(/api/version、/api/version/latest, 供桌面端更新检查)
- AdminApiGuardFilterTest 豁免样例路径 /admin.html -> /admin-vue/
This commit is contained in:
2026-09-06 10:41:47 +08:00
parent 6bd935dc6b
commit 4c88964473
71 changed files with 974 additions and 39150 deletions
@@ -18,15 +18,18 @@ import java.util.List;
import java.util.Map;
/**
* 管理后台页面与"当前管理员"自描述接口Java 收敛自 Flask 侧 web_source/admin.html 的依赖)
* 管理后台入口路由与"当前管理员"自描述接口。
*
* <p>页面经静态资源托管于同源(classpath:/static 下的 admin.html / login.html),
* 登录/登出沿用 auth 模块(POST /login、POST /logout)。这里提供 GET 页面转发与
* /api/admin/current-user、/current-user/menus,保持与旧前端契约一致({item}、{items})。
* <p>管理后台页面已整体迁移到 Vue SPA(Nginx 静态托管于 /admin-vue/,见 docs/specs/10、11),
* 旧 classpath:/static 下的 admin.html / login.html 与 Flask 侧 web_source 已删除(task-283)。
* 这里只保留入口重定向:/、/admin → /admin-vue//login → /admin-vue/loginSPA 登录页);
* /admin.html、/login.html 兜底重定向到新入口,避免旧书签直接 404。
* 登录/登出本体沿用 auth 模块(POST /login、POST /logout)。这里提供 GET 页面转发与
* /api/admin/current-user、/current-user/menus,保持与前端契约一致({item}、{items})。
*/
@RestController
@RequiredArgsConstructor
@Tag(name = "管理后台页面", description = "管理后台静态页路由与当前管理员信息")
@Tag(name = "管理后台页面", description = "管理后台入口重定向与当前管理员信息")
public class AdminConsoleController {
private final AdminAuthSupport adminAuthSupport;
@@ -38,22 +41,22 @@ public class AdminConsoleController {
return "redirect:/admin-vue/";
}
@GetMapping("/admin")
@Operation(summary = "管理后台入口", hidden = true)
@GetMapping({"/admin", "/admin.html"})
@Operation(summary = "管理后台入口(含旧 /admin.html 兜底)", hidden = true)
public String adminPage() {
return "redirect:/admin-vue/";
}
@GetMapping("/login")
@Operation(summary = "登录页入口", hidden = true)
@GetMapping({"/login", "/login.html"})
@Operation(summary = "登录页入口(含旧 /login.html 兜底)", hidden = true)
public String loginPage() {
return "forward:/login.html";
return "redirect:/admin-vue/login";
}
@GetMapping("/logout")
@Operation(summary = "登出 GET 兜底(POST 走 auth 模块)", hidden = true)
public String logoutPage() {
return "redirect:/login.html";
return "redirect:/admin-vue/login";
}
@GetMapping("/api/admin/current-user")