864c22ffc7
上游 ai.t8star.org 实测约 1/8 单请求完全不应答(主机 A 上 JDK 客户端 HTTP/1.1 与 HTTP/2 均复现),检测只有一次机会时用户会看到 「网络不可达:HttpTimeoutException: request timed out」。 - 传输层失败(超时/网络不可达)对直连最后一跳重试一次(800ms 间隔); 代理模块不重试——jikip 按提取次数计费,重试会多扣一次 - 失败文案中文化(新增 CODE_TIMEOUT),英文异常串只进服务端日志 - 探测提问改「你好」(最简一次调用) - 检测面板标明检测对象(配置密钥 sk-**** / 输入值(未保存)), 检测接口超时单独放宽(客户端 60s / 后台 180s),避免重试期间前端先超时
Admin Frontend Vue
独立的后台管理前端工程,与客户端 frontend-vue 完全分离。
本地开发
npm install
$env:VITE_API_TARGET = "http://127.0.0.1:18080"
npm run dev
开发入口:http://localhost:5174/admin-vue/
构建
npm run build
npm test
构建产物在 dist/,部署到 Nginx 的 /admin-vue/ 根目录。该工程不写入客户端的 new_web_source,也不打进 Java JAR。
运行时契约
- 登录态:复用同源 Cookie/Session。
- 当前用户:
GET /api/admin/current-user。 - 菜单树:
GET /api/admin/current-user/menus,Java 返回树形菜单。 - 退出登录:
POST /api/admin/logout。 - 前端路由:History 模式,基准路径
/admin-vue/。 - 权限粒度:菜单/页面级,不定义按钮级权限。
首批页面
/admin-vue/account/users/admin-vue/account/menus/admin-vue/account/groups
当前首批页面已接入 Java 现有用户、菜单和数据权限分组 API;Java 菜单接口完成树形响应和 Flyway 菜单迁移后,路由权限守卫即可按最终菜单树工作。