Files
terminal/UPGRADE_GUIDE.md
T

6.6 KiB
Raw Blame History

Next Terminal 前端升级对接文档

已完成的工作

1. 前端代码替换

  • 从 GitHub 克隆了最新的 next-terminal 前端代码(v2.6.6+
  • 替换了旧的前端代码(v1.3.9
  • 备份了旧前端代码到 web-backup 目录

2. 前端配置修改

  • 更新了 package.json(新依赖:Vite, TypeScript, Tailwind CSS, Ant Design 5 等)
  • 配置了 vite.config.ts
    • 添加开发服务器代理(/api -> localhost:8088
    • 设置前端端口为 3000
    • 配置 PWA 支持
  • 修改了 API 基础 URL 配置,使用相对路径 /api
  • 配置 WebSocket URL 指向后端 8088 端口

3. 后端路由重构

  • 重构了 server/app/server.go 的路由配置
  • 添加了 /api/admin 前缀以匹配新前端的 API 调用格式
  • 所有 API 路由现在都位于 /api/admin/ 路径下
  • 修复了 access-token 删除接口的路径参数问题

4. 新增后端 API 端点

创建了 server/api/setup.go 文件,包含以下新端点:

初始化相关

  • GET /api/admin/setup-status - 检查系统是否需要初始化
  • POST /api/admin/setup-user - 创建初始管理员用户

登录认证相关

  • GET /api/admin/login-status - 获取当前登录状态
  • POST /api/admin/validate-totp - 验证 TOTP 验证码
  • GET /api/admin/account/password-policy - 获取密码策略配置

5. 数据模型扩展

  • dto/auth.go 中添加了 UserCreate 结构体

6. 后端编译验证

  • Go 后端代码编译成功,无错误

技术栈变化

旧版本 (v1.3.9)

  • 构建工具: Create React App (react-scripts)
  • UI 框架: Ant Design 4.x
  • 语言: JavaScript (JSX)
  • 状态管理: React Query 3.x
  • 路由: React Router 6
  • 终端: xterm 4.x

新版本 (latest)

  • 构建工具: Vite 7.x
  • UI 框架: Ant Design 5.x + Tailwind CSS 4.x
  • 语言: TypeScript (TSX)
  • 状态管理: React Query 5.x + Jotai
  • 路由: React Router 7.x
  • 终端: @xterm/xterm 5.x
  • 新增功能:
    • i18n 国际化支持
    • PWA 支持
    • WebAuthn 认证
    • OIDC 支持
    • 更多资产管理功能

待完成的工作

高优先级

  1. 前端依赖安装

    • 正在执行 npm install(需要较长时间)
    • 安装完成后需要验证依赖完整性
  2. 前端构建测试

    cd web
    npm run build
    
    • 可能需要修复 TypeScript 类型错误
    • 可能需要调整 Tailwind CSS 配置
    • 可能需要处理新的依赖兼容性问题
  3. 核心功能对接验证

    • 用户登录流程
    • 资产管理(CRUD
    • 会话连接(SSH/RDP/VNC
    • 终端操作
    • 权限控制

中优先级

  1. 缺失 API 端点实现

    新前端包含许多旧后端不支持的功能,需要逐步实现:

    用户管理增强

    • 部门管理 API (/departments)
    • 用户部门关联 API
    • LDAP 同步 API (/sync-from-ldap)
    • 用户导入 API (/import)
    • 用户客户端证书 API (/client-cert)
    • 批量重置密码/TOTP API

    资产管理增强

    • 资产分组 API (/groups, /tree)
    • 资产排序 API (/sort)
    • 资产网关统一接口 (/change-gateway)
    • 资产连接检测 API (/checking)
    • 资产解密 API (/decrypted)
    • Logo 管理 API (/logos)

    新功能模块

    • 数据库资产管理 (database-assets)
    • 网站资产管理 (websites)
    • 证书管理 (certificates)
    • DNS 提供商管理 (dns-providers)
    • 命令过滤器 (command-filters, command-filter-rules)
    • 代码片段管理 (snippets, snippet-users)
    • Agent 网关管理 (agent-gateways, agent-gateway-tokens)
    • SSH 网关管理 (ssh-gateways)
    • 网关组管理 (gateway-groups)
    • 计划任务管理 (scheduled-tasks) - 替代旧的 jobs
    • 操作日志 (operation-logs)
    • 访问日志 (access-logs)
    • 文件系统日志 (filesystem-logs)
    • Shell 助手 (shell-assistant)
    • 会话命令记录 (session-commands)
    • 数据库 SQL 日志 (database-sql-logs)
    • 数据库工单 (db-work-orders)

    安全与认证

    • WebAuthn API (/webauthn/*)
    • 安全令牌 API (/security-token/*)
    • OIDC 客户端管理 (oidc-clients)
    • OIDC Server 功能 (/oidc/server/*)
    • 登录锁定管理 (login-locked)
    • 企业微信集成 (wechat-work)

    系统设置

    • 许可证管理 (license)
    • Logo 管理 (logo)
    • 品牌/自定义设置 (branding)
    • 匿名访问设置 (anonymous)
    • Portal 页面设置 (portal)
    • 访问设置 (access-setting)
  2. 数据结构适配

    • 新前端可能期望不同的响应格式
    • 需要检查并调整 API 响应结构
    • 可能需要添加或修改字段
  3. 静态资源处理

    • 配置后端服务前端静态文件
    • 确保 /api/logo 等静态资源端点正常工作
    • 处理 PWA 相关资源

低优先级

  1. 性能优化

    • 实现新前端需要的分页、排序优化
    • 添加缓存策略
    • 优化大量数据的加载
  2. 国际化支持

    • 配置 i18n 后端支持
    • 添加多语言翻译文件
  3. 测试与调试

    • 编写单元测试
    • 进行端到端测试
    • 性能测试

快速开始指南

1. 启动后端

cd next-terminal-1.3.9
# 编辑 config.yml 配置数据库等信息
go run main.go

2. 安装并启动前端(开发模式)

cd web
npm install  # 如果尚未完成
npm run dev  # 启动开发服务器,默认在 http://localhost:3000

3. 访问系统

注意事项

  1. API 兼容性: 新前端是为更新的后端版本设计的,部分高级功能暂时不可用
  2. 渐进式实现: 建议优先实现核心功能,然后逐步添加高级功能
  3. 数据备份: 在进行升级前务必备份数据库
  4. 测试环境: 建议先在测试环境中验证所有功能
  5. 日志监控: 升级后密切关注日志,及时发现和解决问题

下一步行动

  1. 等待 npm install 完成
  2. 尝试前端构建,修复可能的错误
  3. 启动前后端服务,测试基本功能
  4. 根据测试结果补充缺失的 API 端点
  5. 逐步完善高级功能

最后更新时间: 2026-04-16 当前状态: 前端代码已替换,后端基础 API 已就绪,等待前端依赖安装完成