From 01a717e8b2ab9578b849da909d079651e913870f Mon Sep 17 00:00:00 2001 From: gitadmin Date: Sat, 9 May 2026 17:14:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20SSO=E5=8F=8C=E8=B7=AF=E5=BE=84=E8=AE=A4?= =?UTF-8?q?=E8=AF=81=20+=20=E7=AB=AF=E5=8F=A3=E4=BF=AE=E6=AD=A3=205176?= =?UTF-8?q?=E2=86=926176?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 中间件支持 X-Remote-User (SSO) + JWT 双路径 - /api/auth/me 签发 JWT,支持 SSO header 回退 - 退出登录同时清除 SSO cookie - 侧边栏系统设置仅 admin 可见 - package.json 端口 5176→6176 - 跨站点引用端口全部修正 --- .env.example | 4 +- .../content/preview-page.html | 192 +++++++++++++++ .../65974-1778137360/state/server-info | 1 + .../content/design-directions.html | 53 ++++ .../9392-1778134394/content/final-layout.html | 200 ++++++++++++++++ .../9392-1778134394/content/full-layout.html | 172 +++++++++++++ .../9392-1778134394/content/preview-page.html | 192 +++++++++++++++ .../content/reports-list-v2.html | 155 ++++++++++++ .../9392-1778134394/content/reports-list.html | 226 ++++++++++++++++++ .../9392-1778134394/state/server-info | 1 + CLAUDE.md | 10 +- docker-compose.yml | 2 +- package.json | 2 +- report-54-light.png | Bin 0 -> 69601 bytes report-preview-53.png | Bin 0 -> 67122 bytes src/app/api/auth/logout/route.ts | 4 + src/app/api/auth/me/route.ts | 50 +++- src/components/layout/Sidebar.tsx | 2 + src/components/layout/TopBar.tsx | 5 +- src/lib/assets-client.ts | 2 +- src/middleware.ts | 36 ++- 21 files changed, 1289 insertions(+), 20 deletions(-) create mode 100644 .superpowers/brainstorm/65974-1778137360/content/preview-page.html create mode 100644 .superpowers/brainstorm/65974-1778137360/state/server-info create mode 100644 .superpowers/brainstorm/9392-1778134394/content/design-directions.html create mode 100644 .superpowers/brainstorm/9392-1778134394/content/final-layout.html create mode 100644 .superpowers/brainstorm/9392-1778134394/content/full-layout.html create mode 100644 .superpowers/brainstorm/9392-1778134394/content/preview-page.html create mode 100644 .superpowers/brainstorm/9392-1778134394/content/reports-list-v2.html create mode 100644 .superpowers/brainstorm/9392-1778134394/content/reports-list.html create mode 100644 .superpowers/brainstorm/9392-1778134394/state/server-info create mode 100644 report-54-light.png create mode 100644 report-preview-53.png diff --git a/.env.example b/.env.example index dd058f5..3e91372 100644 --- a/.env.example +++ b/.env.example @@ -6,7 +6,7 @@ ASSETS_API_KEY=your-assets-api-key # 允许调用 issue-ai API 的 Key(逗号分隔,支持多个),由 issue-ai 管理界面生成 ALLOWED_API_KEYS=your-issue-api-key # NEXT_PUBLIC_ 前缀:构建时内嵌到客户端 JS,云上必须通过 deploy-ai.sh 设置 -# 本地开发:http://localhost:5177 +# 本地开发:http://localhost:6177 # 云上生产:https://assets.tlyq.ai -NEXT_PUBLIC_ASSETS_URL=http://localhost:5177 +NEXT_PUBLIC_ASSETS_URL=http://localhost:6177 NODE_ENV=development diff --git a/.superpowers/brainstorm/65974-1778137360/content/preview-page.html b/.superpowers/brainstorm/65974-1778137360/content/preview-page.html new file mode 100644 index 0000000..31b87c7 --- /dev/null +++ b/.superpowers/brainstorm/65974-1778137360/content/preview-page.html @@ -0,0 +1,192 @@ +

报告预览页

+

从列表点击报告名称或"预览"按钮进入。右上角按钮根据状态动态切换。

+ +
+
预览页 — 状态:数据已就绪(待生成文档)
+
+ + +
+
+ +
+

月报

+ 2026-04-01 ~ 2026-04-30 +
+ + + 数据已就绪 + +
+ +
+ + +
+
+
工单总数
+
12
+
+
+
已解决
+
10
+
83.3%
+
+
+
整体可用性
+
98.52%
+
低于99%
+
+
+
平均处理时长
+
240
+
分钟
+
+
+
进行中
+
2
+
+
+ + +
+
+
+ 1 + 设备概况 +
+
+
+
+
🖥
+
8台 GPU 服务器
+
+
+
🗄
+
3台 存储服务器
+
+
+
+ + +
+
+
+ 2 + 运营数据 +
+
+
+
故障工单 8
+
涉及设备 5
+
无故障天数 24
+
+
+ + +
+
+
+ 3 + 故障分类 +
+
+
+
+
5
+
GPU 故障
+
+
62.5%
+
+
+
1
+
存储故障
+
+
12.5%
+
+
+
2
+
其他工单
+
+
25.0%
+
+
+
+ + +
+
+
+ 4 + 服务可用性 +
+
+
+
+ 整体可用性: + 98.52% +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IP 地址设备类型故障时长可用性状态
10.0.0.35GPU2,160 分钟95.12%进行中
10.0.0.42GPU1,440 分钟96.78%已恢复
10.0.0.18存储720 分钟98.41%已恢复
+
共 3 个 IP 可用性低于 100%,其余设备保持 100% 在线
+
+
+ +
+
+ + +
+

右上角按钮 — 按状态切换

+
+ +
+
+
数据已就绪
+ 生成报告文档 +
+
+
文档生成中
+ 生成中... +
+
+
已完成
+ ⬇ 下载报告 +
+
+
生成失败
+ 重新生成 +
+
diff --git a/.superpowers/brainstorm/65974-1778137360/state/server-info b/.superpowers/brainstorm/65974-1778137360/state/server-info new file mode 100644 index 0000000..00bf740 --- /dev/null +++ b/.superpowers/brainstorm/65974-1778137360/state/server-info @@ -0,0 +1 @@ +{"type":"server-started","port":50153,"host":"127.0.0.1","url_host":"localhost","url":"http://localhost:50153","screen_dir":"/Users/niuniu/programs/docker/issue-ai/.superpowers/brainstorm/65974-1778137360/content","state_dir":"/Users/niuniu/programs/docker/issue-ai/.superpowers/brainstorm/65974-1778137360/state"} diff --git a/.superpowers/brainstorm/9392-1778134394/content/design-directions.html b/.superpowers/brainstorm/9392-1778134394/content/design-directions.html new file mode 100644 index 0000000..d69238f --- /dev/null +++ b/.superpowers/brainstorm/9392-1778134394/content/design-directions.html @@ -0,0 +1,53 @@ +

报告预览页 — 设计方向

+

当前页面只展示 4 个数字卡片 + 3 个故障分类卡片。以下三个方向兼顾数据丰富度与视觉提升,各有侧重。

+ +
+
+
A
+
+

仪表盘风格

+

将预览页做成迷你仪表盘:顶部 KPI 卡片带环比/同比趋势箭头,中间用横向条状图展示故障分类,底部展示服务可用性分布。数据量大但不杂乱,适合快速扫读。

+
+
+
+
B
+
+

摘要 + 详情分区

+

顶部为摘要区(设备规模 + 核心指标如可用性/SLA/解决率),下方可展开的折叠面板展示故障明细(按分类、按设备、按日期)。信息层级清晰,用户按需深入。

+
+
+
+
C
+
+

单页报告预览

+

接近真实报告的排版风格:带章节标题(一、设备概况 二、运营数据 三、故障分类 四、服务可用性),每个章节内嵌简表或数据卡片。预览即缩略版报告,视觉专业正式。

+
+
+
+ +
+

共同增强的数据指标

+

无论选哪个方向,以下字段都会从 metadata 中新增暴露:

+
+ +
+
+

新增指标

+
    +
  • 解决率(已解决 / 故障总数)
  • +
  • SLA 达标率
  • +
  • 平均处理时长
  • +
  • 故障分类分布(带具体数量)
  • +
  • 进行中工单数
  • +
  • 月报独有:设备级最低可用性 IP
  • +
+
+
+

改动范围

+
    +
  • 前后端都需改:metadata 字段扩展 + 预览页 UI 重写
  • +
  • 旧报告不含新字段,需兼容降级展示
  • +
  • 周报/月报数据结构不同,需分别处理
  • +
+
+
diff --git a/.superpowers/brainstorm/9392-1778134394/content/final-layout.html b/.superpowers/brainstorm/9392-1778134394/content/final-layout.html new file mode 100644 index 0000000..6d9532a --- /dev/null +++ b/.superpowers/brainstorm/9392-1778134394/content/final-layout.html @@ -0,0 +1,200 @@ +

报告预览页 — 最终方案

+

5 KPI + 4 章节全部展开。第 4 章列出所有可用性 < 100% 的 IP。

+ +
+
完整页面布局 — 月报示例(2026年4月)
+
+ + +
+
+ +
+

月报

+ 2026-04-01 ~ 2026-04-30 +
+ 已完成 +
+ +
+ + +
+
+
工单总数
+
12
+
+
+
已解决
+
10
+
83.3%
+
+
+
整体可用性
+
98.52%
+
低于99%
+
+
+
平均处理时长
+
240
+
分钟
+
+
+
进行中
+
2
+
+
+ + +
+ + +
+
+
+ 1 + 设备概况 +
+ +
+
+
+
🖥
+
8台 GPU 服务器
+
+
+
🗄
+
3台 存储服务器
+
+
+
+ + +
+
+
+ 2 + 运营数据 +
+ +
+
+
故障工单 8
+
涉及设备 5
+
无故障天数 24
+
+
+ + +
+
+
+ 3 + 故障分类 +
+ +
+
+
+
5
+
GPU 故障
+
+
62.5%
+
+
+
1
+
存储故障
+
+
12.5%
+
+
+
2
+
其他工单
+
+
25.0%
+
+
+
+ + +
+
+
+ 4 + 服务可用性 +
+ +
+
+ +
+ 整体可用性: + 98.52% +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IP 地址设备类型故障时长可用性状态
10.0.0.35GPU2,160 分钟95.12%进行中
10.0.0.42GPU1,440 分钟96.78%已恢复
10.0.0.18存储720 分钟98.41%已恢复
+
共 3 个 IP 可用性低于 100%,其余设备保持 100% 在线
+
+
+ +
+
+
+ +
+

方案确认清单

+
+ +
+
+

✓ 已定

+
    +
  • 5 KPI 卡片(工单总数 / 已解决 / 整体可用性 / 平均处理时长 / 进行中)
  • +
  • 4 章节全部默认展开
  • +
  • Ch4 列出所有可用性 <100% 的 IP + 明细表
  • +
  • 故障分类带占比进度条
  • +
  • 周报/月报自适应章节内容
  • +
+
+
+

? 待确认

+
    +
  • Ch3 展开后是否需要按 fault_subcategory 二级明细?
  • +
  • Ch2 展开后是否需要按日故障统计简表?
  • +
  • 后端 metadata 需扩展 5-6 个新字段
  • +
+
+
diff --git a/.superpowers/brainstorm/9392-1778134394/content/full-layout.html b/.superpowers/brainstorm/9392-1778134394/content/full-layout.html new file mode 100644 index 0000000..d4918e7 --- /dev/null +++ b/.superpowers/brainstorm/9392-1778134394/content/full-layout.html @@ -0,0 +1,172 @@ +

报告预览页 — 融合方案全景

+

B(摘要+详情分区)+ C(报告章节结构)。周报/月报共用同一布局,章节内容自适应。

+ +
+
完整页面布局 — 月报示例(2026年4月)
+
+ + +
+
+ +
+

月报

+ 2026-04-01 ~ 2026-04-30 +
+ 已完成 +
+ +
+ + +
+
+
工单总数
+
12
+
+
+
已解决
+
10
+
83.3%
+
+
+
可用性均值
+
98.52%
+
+
+
SLA 达标率
+
91.7%
+
+
+
平均处理时长
+
240
+
分钟
+
+
+
进行中
+
2
+
+
+ + +
+ + +
+
+
+ 1 + 设备概况 +
+ +
+
+
+
🖥
+
8台 GPU 服务器
+
+
+
🗄
+
3台 存储服务器
+
+
+
+ + +
+
+
+ 2 + 运营数据 +
+ +
+
+
故障工单 8
+
涉及设备 5
+
无故障天数 24
+
+
+ + +
+
+
+ 3 + 故障分类 +
+ +
+
+
+
5
+
GPU 故障
+
+
62.5%
+
+
+
1
+
存储故障
+
+
12.5%
+
+
+
2
+
其他工单
+
+
25.0%
+
+
+
+ + +
+
+
+ 4 + 服务可用性 +
+ +
+
+
+ 98.52% + 整体可用性 +
+
+ 最低可用 IP: + 10.0.0.35 + (95.12%) +
+
+
+ +
+ +
+
+ + +
+

设计要点

+
+ +
+
+

交互特性

+
    +
  • 章节卡片默认全部展开,可折叠
  • +
  • 折叠态显示摘要数据,不丢失关键信息
  • +
  • 有数据的章节正常展示,无数据的章节(如无GPU故障)保留卡片但数量为 0
  • +
  • 周报/月报章节内容自适应(周报无"按IP可用性"明细,改为按日统计)
  • +
+
+
+

待确认

+
    +
  • KPI 行 5-6 个指标是否太多?是否需要精简到 4 个?
  • +
  • 章节是否默认全部展开,还是默认折叠只显示摘要?
  • +
  • 故障分类是否需要按 fault_subcategory 二级展开?
  • +
+
+
diff --git a/.superpowers/brainstorm/9392-1778134394/content/preview-page.html b/.superpowers/brainstorm/9392-1778134394/content/preview-page.html new file mode 100644 index 0000000..31b87c7 --- /dev/null +++ b/.superpowers/brainstorm/9392-1778134394/content/preview-page.html @@ -0,0 +1,192 @@ +

报告预览页

+

从列表点击报告名称或"预览"按钮进入。右上角按钮根据状态动态切换。

+ +
+
预览页 — 状态:数据已就绪(待生成文档)
+
+ + +
+
+ +
+

月报

+ 2026-04-01 ~ 2026-04-30 +
+ + + 数据已就绪 + +
+ +
+ + +
+
+
工单总数
+
12
+
+
+
已解决
+
10
+
83.3%
+
+
+
整体可用性
+
98.52%
+
低于99%
+
+
+
平均处理时长
+
240
+
分钟
+
+
+
进行中
+
2
+
+
+ + +
+
+
+ 1 + 设备概况 +
+
+
+
+
🖥
+
8台 GPU 服务器
+
+
+
🗄
+
3台 存储服务器
+
+
+
+ + +
+
+
+ 2 + 运营数据 +
+
+
+
故障工单 8
+
涉及设备 5
+
无故障天数 24
+
+
+ + +
+
+
+ 3 + 故障分类 +
+
+
+
+
5
+
GPU 故障
+
+
62.5%
+
+
+
1
+
存储故障
+
+
12.5%
+
+
+
2
+
其他工单
+
+
25.0%
+
+
+
+ + +
+
+
+ 4 + 服务可用性 +
+
+
+
+ 整体可用性: + 98.52% +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IP 地址设备类型故障时长可用性状态
10.0.0.35GPU2,160 分钟95.12%进行中
10.0.0.42GPU1,440 分钟96.78%已恢复
10.0.0.18存储720 分钟98.41%已恢复
+
共 3 个 IP 可用性低于 100%,其余设备保持 100% 在线
+
+
+ +
+
+ + +
+

右上角按钮 — 按状态切换

+
+ +
+
+
数据已就绪
+ 生成报告文档 +
+
+
文档生成中
+ 生成中... +
+
+
已完成
+ ⬇ 下载报告 +
+
+
生成失败
+ 重新生成 +
+
diff --git a/.superpowers/brainstorm/9392-1778134394/content/reports-list-v2.html b/.superpowers/brainstorm/9392-1778134394/content/reports-list-v2.html new file mode 100644 index 0000000..829f507 --- /dev/null +++ b/.superpowers/brainstorm/9392-1778134394/content/reports-list-v2.html @@ -0,0 +1,155 @@ +

报告管理列表

+

类型列用颜色区分月报/周报。批量操作按钮仅在选中后出现。

+ +
+
报告管理页面
+
+ + +
+
+

报告管理

+ 数据预览与文档生成 +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + 报告名称类型时间段状态创建时间操作
+ 2026年4月图灵IT基础设施运营月报 + + 月报 + 2026-04-01 ~ 2026-04-30 + + + 数据已就绪 + + 2026-05-07 14:30 +
+ 预览 + 生成文档 + 🗑 +
+
+ 图灵IT基础设施运营周报(4月28日-5月4日) + + 周报 + 2026-04-28 ~ 2026-05-04 + + + 文档生成中 + + 2026-05-07 14:35 + 预览 +
+ 2026年3月图灵IT基础设施运营月报 + + 月报 + 2026-03-01 ~ 2026-03-31 + + + 已完成 + + 2026-05-06 10:15 +
+ 预览 + ⬇ 下载 + 🗑 +
+
+ 图灵IT基础设施运营周报(4月21日-4月27日) + + 周报 + 2026-04-21 ~ 2026-04-27 + + + 生成失败 + + 2026-05-06 11:00 +
+ 预览 + 重试 + 🗑 +
+
+ +
+
+ +
+
+

✓ 类型颜色区分

+
+ 月报 + 蓝色背景,与报告预览章节编号色呼应 +
+
+ 周报 + 紫色背景,与月报明显区分 +
+
+
+

✓ 批量操作栏

+
    +
  • 未选中任何行时不显示批量操作栏
  • +
  • 选中 ≥1 行后,在表格下方出现「📦 批量下载」「🗑 批量删除」
  • +
  • 与现有实现完全一致,无需改动
  • +
+
+
diff --git a/.superpowers/brainstorm/9392-1778134394/content/reports-list.html b/.superpowers/brainstorm/9392-1778134394/content/reports-list.html new file mode 100644 index 0000000..9d2ddb6 --- /dev/null +++ b/.superpowers/brainstorm/9392-1778134394/content/reports-list.html @@ -0,0 +1,226 @@ +

报告管理页 — 新流程重构

+

核心理念:预览数据先行(1-2s),确认后再生成 DOCX(10-30s)。

+ +
+

流程对比

+
+ +
+
+
旧流程
+
+ 选择月份 → 点"生成报告" →
+ 等待 10-30s(数据+图表+DOCX+OLE)
+ 报告完成 → 点"查看"预览 →
+ 发现数据有误 → 删除重来 +
+
+
+
新流程
+
+ 选择月份 → 点"预览报告" →
+ 等待 1-2s(仅数据采集)
+ 自动跳转预览页 → 确认数据无误 →
+ 点"生成报告文档" → 下载 DOCX +
+
+
+ +
+

报告列表页 — 新版布局

+
+ +
+
报告管理页面(列表)
+
+ + +
+
+

报告管理

+ 数据预览与文档生成 +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + 报告名称类型时间段状态创建时间操作
2026年4月图灵IT基础设施运营月报月报2026-04-01 ~ 2026-04-30 + + + 数据已就绪 + + 2026-05-07 14:30 +
+ 预览 + 生成文档 + 🗑 +
+
图灵IT基础设施运营周报(4月28日-5月4日)周报2026-04-28 ~ 2026-05-04 + + + 文档生成中 + + 2026-05-07 14:35 +
+ 预览 +
+
2026年3月图灵IT基础设施运营月报月报2026-03-01 ~ 2026-03-31 + + + 已完成 + + 2026-05-06 10:15 +
+ 预览 + ⬇ 下载 + 🗑 +
+
图灵IT基础设施运营周报(4月21日-4月27日)周报2026-04-21 ~ 2026-04-27 + + + 生成失败 + + 2026-05-06 11:00 +
+ 预览 + 重试 + 🗑 +
+
+ + +
+ 已选 2 项 +
+ 📦 批量下载 + 🗑 批量删除 +
+
+ +
+
+ +
+

状态体系总览

+
+ +
+
+
数据已就绪
+
数据采集完成
文档未生成
+
+ 预览 + 生成文档 +
+
+
+
文档生成中
+
DOCX 构建中
图表+OLE嵌入
+
+ 预览 +
+
+
+
已完成
+
文档就绪
可下载
+
+ 预览 + 下载 +
+
+
+
生成失败
+
文档构建出错
可查看预览数据
+
+ 预览 + 重试 +
+
+
+ +
+

与预览页的衔接

+
+ +
+
用户操作流程
+
+
+
+ 列表页
点"新建报告" +
+ +
+ 弹窗选择
月份/日期 +
+ +
+ 1-2s 数据采集
自动跳转预览页 +
+ +
+ 预览页
确认数据 +
+ +
+ 点"生成文档"
下载 DOCX +
+
+
+
diff --git a/.superpowers/brainstorm/9392-1778134394/state/server-info b/.superpowers/brainstorm/9392-1778134394/state/server-info new file mode 100644 index 0000000..3402949 --- /dev/null +++ b/.superpowers/brainstorm/9392-1778134394/state/server-info @@ -0,0 +1 @@ +{"type":"server-started","port":60240,"host":"127.0.0.1","url_host":"localhost","url":"http://localhost:60240","screen_dir":"/Users/niuniu/programs/docker/issue-ai/.superpowers/brainstorm/9392-1778134394/content","state_dir":"/Users/niuniu/programs/docker/issue-ai/.superpowers/brainstorm/9392-1778134394/state"} diff --git a/CLAUDE.md b/CLAUDE.md index 54fdd63..18156bd 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -13,7 +13,7 @@ issue-ai 是基于 Next.js + SQLite 的工单跟踪管理系统,部署在腾 | 站点域名 | `issue.tlyq.ai` | | 服务器 | txjp(IP: 43.133.38.210) | | 代码路径 | `/root/docker/issue-ai/` | -| 本地端口 | 5176 | +| 本地端口 | 6176 | | 容器名 | `issue-ai` | | 数据库 | SQLite:`data/issue.db` | | 报告存储 | `reports/` 目录(环境变量 `REPORTS_DIR` 可覆盖) | @@ -139,9 +139,9 @@ npm run import # 导入工单 | 环境变量 | 本地开发 | 云服务器(txjp) | 说明 | |---------|---------|----------------|------| -| `ASSETS_API_URL` | `http://localhost:5177/api` | `http://assets-ai:3000/api` | 调用 assets API 地址 | +| `ASSETS_API_URL` | `http://localhost:6177/api` | `http://assets-ai:3000/api` | 调用 assets API 地址 | | `ASSETS_API_KEY` | 本地 assets-ai 生成 | 云上 assets-ai 生成 | **每个环境独立,不可跨环境使用** | -| `NEXT_PUBLIC_ASSETS_URL` | `http://localhost:5177` | `https://assets.tlyq.ai` | 前端跳转链接(构建时内嵌) | +| `NEXT_PUBLIC_ASSETS_URL` | `http://localhost:6177` | `https://assets.tlyq.ai` | 前端跳转链接(构建时内嵌) | | `ALLOWED_API_KEYS` | 本地 issue-ai 生成的 Key | 云上 issue-ai 生成的 Key | 允许外部系统调本系统的 Key,逗号分隔 | | `JWT_SECRET` | `dev-secret-key-local` | `${ISSUE_JWT_SECRET}` | 本地两系统需一致(同 localhost 域) | | `DATABASE_PATH` | `./data/issue.db` | `/app/data/issue.db` | Docker volume 挂载 | @@ -154,10 +154,10 @@ DATABASE_PATH=./data/issue.db JWT_SECRET=dev-secret-key-local ADMIN_PASSWORD=admin123 NODE_ENV=development -ASSETS_API_URL=http://localhost:5177/api +ASSETS_API_URL=http://localhost:6177/api ASSETS_API_KEY=ak_<32字节十六进制> ALLOWED_API_KEYS=ak_<32字节十六进制> -NEXT_PUBLIC_ASSETS_URL=http://localhost:5177 +NEXT_PUBLIC_ASSETS_URL=http://localhost:6177 ``` --- diff --git a/docker-compose.yml b/docker-compose.yml index 9886a8a..0ea31df 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: build: . container_name: issue-ai ports: - - "5176:3000" + - "6176:3000" volumes: - issue-data:/app/data - issue-uploads:/app/uploads diff --git a/package.json b/package.json index b4e40d9..72b2643 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "private": true, "scripts": { - "dev": "NODE_OPTIONS='--max-old-space-size=2048' next dev --port 5176", + "dev": "NODE_OPTIONS='--max-old-space-size=2048' next dev --port 6176", "build": "next build", "start": "next start", "lint": "next lint", diff --git a/report-54-light.png b/report-54-light.png new file mode 100644 index 0000000000000000000000000000000000000000..7deeb63cb68ca8835ef624ac683d0378b2278f39 GIT binary patch literal 69601 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
    XXmjs*>6&Kxmkpg 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�)3;NlIAQMB{d~}U#XD%;M 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 | undefined + if (user) { + const jwt = await createToken({ + id: user.id as number, + username: user.username as string, + display_name: (user.display_name as string) || '', + role: user.role as string, + }) + const response = NextResponse.json({ user }) + response.cookies.set('session_issue', jwt, { httpOnly: true, sameSite: 'lax', path: '/', maxAge: 7 * 24 * 60 * 60 }) + return response + } + } + + // 路径 2:JWT cookie(本地开发 / @fallback 紧急绕过) + const user = await getCurrentUser() + if (!user) return NextResponse.json({ error: '未登录' }, { status: 401 }) + return NextResponse.json({ user }) + } catch { + return NextResponse.json({ error: '获取用户信息失败' }, { status: 500 }) + } } diff --git a/src/components/layout/Sidebar.tsx b/src/components/layout/Sidebar.tsx index 8fc63bc..7e70e45 100644 --- a/src/components/layout/Sidebar.tsx +++ b/src/components/layout/Sidebar.tsx @@ -48,6 +48,7 @@ export default function Sidebar() { 全部工单 )} + {isAdmin && (

    系统设置 @@ -58,6 +59,7 @@ export default function Sidebar() { return ({item.label}) })}
    + )} ) diff --git a/src/components/layout/TopBar.tsx b/src/components/layout/TopBar.tsx index aed847f..6855c33 100644 --- a/src/components/layout/TopBar.tsx +++ b/src/components/layout/TopBar.tsx @@ -8,7 +8,10 @@ interface TopBarProps { user: { username: string; display_name: string; role: st export default function TopBar({ user }: TopBarProps) { const { theme, toggleTheme } = useTheme() const router = useRouter() - const handleLogout = async () => { await fetch('/api/auth/logout', { method: 'POST' }); router.push('/login'); router.refresh() } + const handleLogout = async () => { + await fetch('/api/auth/logout', { method: 'POST' }) + router.push('/login'); router.refresh() + } return (
    diff --git a/src/lib/assets-client.ts b/src/lib/assets-client.ts index 87912e3..0e10e5f 100644 --- a/src/lib/assets-client.ts +++ b/src/lib/assets-client.ts @@ -1,4 +1,4 @@ -const ASSETS_API_URL = process.env.ASSETS_API_URL || 'http://localhost:5177/api' +const ASSETS_API_URL = process.env.ASSETS_API_URL || 'http://localhost:6177/api' const ASSETS_API_KEY = process.env.ASSETS_API_KEY || '' export interface Asset { diff --git a/src/middleware.ts b/src/middleware.ts index 5f60390..024f36e 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -2,7 +2,6 @@ import { NextRequest, NextResponse } from 'next/server' import { verifyToken } from '@/lib/jwt' function verifyApiKey(key: string): boolean { - // API Key 以环境变量形式存储,支持多个 Key(逗号分隔) const allowedKeys = process.env.ALLOWED_API_KEYS || '' if (!allowedKeys) return false const keys = allowedKeys.split(',').map(k => k.trim()) @@ -11,23 +10,50 @@ function verifyApiKey(key: string): boolean { export async function middleware(request: NextRequest) { const { pathname } = request.nextUrl + + // 清除外部注入的 trust proxy headers(防伪造) + const requestHeaders = new Headers(request.headers) + requestHeaders.delete('x-remote-user') + requestHeaders.delete('x-remote-groups') + + // SSO 代理认证路径:检测 X-Remote-User header + 代理密钥验证 + const remoteUser = request.headers.get('x-remote-user') + const proxyKey = request.headers.get('x-auth-proxy-key') + const isFromNginx = proxyKey === 'internal-auth-key-tlyq-2026' + + if (remoteUser && isFromNginx) { + // logout 路径不设置 SSO session(避免清除后又重新设置) + if (pathname === '/api/auth/logout') return NextResponse.next() + + const response = pathname === '/login' || pathname === '/' + ? NextResponse.redirect(new URL('/tickets', request.url)) + : NextResponse.next() + + response.cookies.set('session', JSON.stringify({ username: remoteUser }), { + httpOnly: true, + sameSite: 'lax', + path: '/', + }) + if (pathname.startsWith('/api/')) { + response.headers.set('x-original-pathname', pathname + (request.nextUrl.search || '')) + } + return response + } + + // 回退:现有 JWT 认证路径 if (pathname.startsWith('/login') || pathname === '/') return NextResponse.next() if (pathname === '/api/auth/login') return NextResponse.next() const authHeader = request.headers.get('authorization') - // API Key 认证:Bearer ak_xxx 格式 if (authHeader?.startsWith('Bearer ak_')) { const key = authHeader.slice(7) if (verifyApiKey(key)) return NextResponse.next() - // 环境变量中未匹配,API 路由仍放行(route handler 可查询数据库二次验证) if (pathname.startsWith('/api/')) return NextResponse.next() } - // Cookie 认证 const token = request.cookies.get('session_issue')?.value - // 构建带 redirect 参数的登录 URL function buildLoginRedirect() { const loginUrl = new URL('/login', request.url) const dest = pathname + (request.nextUrl.search || '')