技术文档 · v1.0.0 更新日期 2026-09-06

智能翻译助手 · 技术文档

本文档是本系统的技术参考手册,面向使用、部署与二次集成的开发与运维人员,方便随时查阅各功能模块的接口调用方式、 参数字段、校验规则、响应结构、计费逻辑与错误码。内容基于 ai-translation-assistant 1.0.0(Spring Boot 3.5.6 / Java 21)编写,与实际实现一一对应。

产品概览

智能翻译助手(AI Translation Assistant)是一套基于 Spring Boot 3.5 + 通义千问大模型 + 阿里云机器翻译的多语言智能翻译系统, 采用 Thymeleaf 服务端渲染提供开箱即用的 Web 界面,同时暴露完整的 REST API 供第三方系统集成。

系统内置会员 + 点数双层计费体系(点数优先扣减、会员月度额度补足)、基于 JWT + Redis 的登录态管理、 支付宝 / 微信扫码支付、RocketMQ 订单超时自动取消,以及 MinIO 对象存储支撑的文档翻译链路。

核心能力一览
文本翻译 批量翻译 语言检测 文档翻译(8 种格式) 实时对话翻译(SSE 流式) AI 客服自动回复 术语库管理 / 导入导出 翻译质量评估 MT 后编辑润色 会员套餐 / 订单支付 点数计费 用户中心 / 个性化设置 朋友圈动态 平台统计 Actuator 监控

文档目录

全部文档按功能划分为 11 个章节,每个章节对应独立页面,建议按顺序阅读。

全局约定速览

以下约定适用于全部 /api/** 接口,各章节不再重复,详细规则见对应章节。

Base URL

应用默认监听 8090 端口(server.port),接口前缀统一为 /api/:

# 本地开发
http://localhost:8090/api/...

# 页面(Thymeleaf 服务端渲染)
http://localhost:8090/translate  /document  /chat  /membership ...
统一响应结构

除 SSE 流式响应、文件二进制流、支付回调(纯文本)外,所有 /api/** 响应由 ApiResponseAdvice 统一包装为以下结构:

{
  "success": true,          // 业务是否成功
  "message": "操作成功",     // 人类可读的提示信息
  "data": { ... },           // 业务数据(各接口定义见对应章节)
  "error": null              // 失败时的错误码,成功时为 null
}

客户端取业务数据一律读取 data 字段;判断成败以 success 为准。

认证方式
# 方式一:请求头携带 JWT(推荐)
Authorization: Bearer {token}

# 方式二:Cookie(浏览器端登录后自动携带)
Cookie: auth_token={token}

登录、注册、发送验证码、支付回调等白名单接口无需认证,完整白名单见「02 认证与鉴权」。

分页约定

所有分页接口的 page 参数从 0 开始(0 = 第一页), 服务端内部转换为 MyBatis-Plus 的 1 起始页码,响应中的 page 仍按 0 起始返回。

{
  "data": [ ... ],           // 当前页记录列表
  "page": 0,                 // 当前页码(0 起始,回显请求值)
  "size": 20,                // 每页条数
  "totalPages": 12,          // 总页数
  "totalElements": 231       // 总记录数
}
计费模型摘要
  • 文本翻译:按字符数计费,点数 = max(1, ceil(字符数 / 1000))(每 1000 字符 1 点,不足 1000 按 1 点)。
  • 文档翻译:按页计费,1 点 / 页,翻译开始前一次性预扣。
  • 扣减顺序:点数余额优先扣减,不足部分由会员月度额度补足;余额与额度均不足时返回 HTTP 402。
  • 缓存命中:相同翻译请求命中缓存时直接返回,不扣点。
  • Mock 引擎:未配置引擎时路由到 Mock 演示引擎,结果返回后自动退回点数,便于联调测试。

技术栈总览

分类技术 / 组件说明
运行时Java 21 + Spring Boot 3.5.6默认端口 8090,开启缓存 / 异步 / 事务
页面Thymeleaf(SSR)服务端渲染,统一 layout 母版
持久层MyBatis-Plus + MySQL15+ 业务表,utf8mb4,DDL 见 database/ 脚本
缓存Redis(Lettuce)登录 Token、翻译结果缓存、验证码存储
对象存储MinIO 8.5.7文档原文 / 译文存储与预签名下载
消息队列RocketMQ 2.3.0会员订单 30 分钟延时自动取消
大模型通义千问 qwen3-max(DashScope)LLM 翻译 / 客服回复 / 润色 / 质量评估
机器翻译阿里云 alimt TranslateGeneral通用文本翻译引擎与语种检测
文档解析Apache PDFBox 3 / Apache POI 5.2pdf 与 doc/docx/xls/xlsx/ppt/pptx 解析回写
支付支付宝 EasySDK / 微信 pay-java当面付扫码 + Native 扫码;银联为占位实现
鉴权JJWT 0.11.5(HS256)JWT 令牌 + Redis 会话 + Cookie
RAGSpring AI 1.0.0-M6(Embedding)术语 + 历史翻译检索与向量重排
监控Actuator + Prometheus/actuator/health,info,metrics,prometheus