Skip to content

NXAI 前端 API 封装文档

概述

本文档描述 NXAI 前端项目中封装的 API 请求方法,基于 Vue.js + Axios 实现。

请求封装层

前端所有 API 请求均通过 [request.js](file:///Users/long/GitHub/nxaitest/nxaitest-frontend/src/common/request.js) 封装,具备以下特性:

特性说明
自动 Token 注入请求拦截器自动在 Header 添加 token
全局 Loading默认显示加载进度条,可通过 hideLoading: true 关闭
统一错误处理根据后端返回的 type 字段自动显示通知
超时处理默认超时 8000ms,可通过 timeout 自定义
登录态失效处理type=5 时自动清除 Token 并跳转首页

响应拦截处理

type 值含义前端行为
0无提示静默处理
1info 提示显示蓝色信息通知
2success 提示显示绿色成功通知
3warning 提示显示黄色警告通知
4error 提示显示红色错误通知
5需重定向登录清除 Token,跳转首页

一、用户认证模块

1.1 注册相关

registerByEmail(email, username, password)

说明:邮箱注册

参数

参数类型必填说明
emailstring邮箱地址
usernamestring用户名
passwordstring密码

对应接口POST /api/auth/register


getAuthPublicConfig()

说明:获取公开配置(是否开放注册、主站注册 URL)

对应接口GET /api/auth/public-config


1.2 登录相关

loginByEmail(email, password)

说明:邮箱登录

参数

参数类型必填说明
emailstring邮箱地址
passwordstring密码

对应接口POST /api/auth/login

响应示例

json
{
  "statusCode": 2200,
  "data": {
    "token": "jwt_token",
    "user": { "id": 1, "username": "test" }
  }
}

exchangeGatewaySso(ssoToken)

说明:AI 网关 JWT 兑换本站登录

参数

参数类型必填说明
ssoTokenstring网关签发的短期 JWT

对应接口POST /api/auth/sso/gateway

配置timeout: 15000mshideLoading: true


1.3 用户信息

getCurrentUser()

说明:获取当前登录用户信息

对应接口GET /api/auth/me


updateAvatarByBase64(imageBase64)

说明:通过 Base64 更新头像

参数

参数类型必填说明
imageBase64stringBase64 编码的图片数据

对应接口PATCH /api/auth/me/avatar

配置timeout: 60000ms


1.4 游客心跳

guestHeartbeat(temporaryUserId)

说明:游客模式心跳保活

参数

参数类型必填说明
temporaryUserIdstring临时用户 ID

对应接口POST /api/auth/guest/heartbeat


二、API 访问令牌

2.1 令牌管理

listAccessTokens()

说明:列出用户的 API 访问令牌

对应接口GET /api/access/tokens


ensureDefaultAccessToken()

说明:幂等创建默认令牌(进入令牌页时调用)

对应接口POST /api/access/tokens/ensure-default


createAccessToken(payload)

说明:创建新令牌

参数

参数类型必填说明
payloadobject令牌配置(name、modelLimits 等)

对应接口POST /api/access/tokens


updateAccessTokenStatus(tokenId, active)

说明:更新令牌状态(启用/禁用)

参数

参数类型必填说明
tokenIdnumber/string令牌 ID
activeboolean是否启用

对应接口PATCH /api/access/tokens/{tokenId}/status


deleteAccessToken(tokenId)

说明:删除令牌

参数

参数类型必填说明
tokenIdnumber/string令牌 ID

对应接口DELETE /api/access/tokens/{tokenId}


2.2 临时令牌

getTemporaryAccessToken(temporaryUserId)

说明:获取临时令牌

参数

参数类型必填说明
temporaryUserIdstring临时用户 ID

对应接口GET /api/access/tokens/temporary


upsertTemporaryAccessToken(payload)

说明:创建/更新临时令牌

参数

参数类型必填说明
payloadobject包含 temporaryUserId、apiKey 等

对应接口POST /api/access/tokens/temporary


2.3 访问日志

getAccessUsageLogs(params)

说明:查询 API 使用日志

参数

参数类型必填说明
paramsobject查询参数(type、page、pageSize、时间范围等)

对应接口GET /api/access/logs


getAccessUsageLogStat(params)

说明:获取 API 使用统计

参数

参数类型必填说明
paramsobject查询参数(type、时间范围等)

对应接口GET /api/access/logs/stat


三、聊天会话

3.1 会话管理

listChatSessions()

说明:列出用户会话列表

对应接口GET /api/chat/sessions


createChatSession(payload)

说明:创建新会话

参数

参数类型必填说明
payloadstring/object会话标题或完整配置对象

对应接口POST /api/chat/sessions


getChatSessionDetail(sessionId)

说明:获取会话详情

参数

参数类型必填说明
sessionIdnumber/string会话 ID

对应接口GET /api/chat/sessions/{sessionId}

配置timeout: 30000ms


saveChatSession(sessionId, payload)

说明:保存会话

参数

参数类型必填说明
sessionIdnumber/string会话 ID
payloadobject会话数据

对应接口PUT /api/chat/sessions/{sessionId}


pinChatSession(sessionId, pinned)

说明:置顶/取消置顶会话

参数

参数类型必填说明
sessionIdnumber/string会话 ID
pinnedboolean是否置顶

对应接口PATCH /api/chat/sessions/{sessionId}/pin


renameChatSession(sessionId, title)

说明:重命名会话

参数

参数类型必填说明
sessionIdnumber/string会话 ID
titlestring新标题

对应接口PATCH /api/chat/sessions/{sessionId}/title


deleteChatSession(sessionId)

说明:删除会话

参数

参数类型必填说明
sessionIdnumber/string会话 ID

对应接口DELETE /api/chat/sessions/{sessionId}


四、AI 网关核心

4.1 模型管理

getAiModels(apiKey, baseUrl, forceRefresh, sessionId, groupName, temporaryUserId, hideLoading)

说明:获取模型列表

参数

参数类型必填说明
apiKeystringAPI 密钥
baseUrlstring基础 URL
forceRefreshboolean是否强制刷新缓存,默认 false
sessionIdstring会话 ID
groupNamestring分组名称
temporaryUserIdstring临时用户 ID
hideLoadingboolean是否隐藏加载状态

对应接口POST /api/ai/models


getInitGroupAndKey(sessionId)

说明:获取初始分组和密钥

参数

参数类型必填说明
sessionIdstring会话 ID

对应接口GET /api/ai/initGroupAndKey


getAutoPreferredModels(capability)

说明:获取自动优选模型列表

参数

参数类型必填说明
capabilitystring能力过滤,默认 "TEXT"

对应接口GET /api/ai/auto/preferred-models


4.2 聊天补全

chatCompletions(payload, options)

说明:聊天补全(非流式)

参数

参数类型必填说明
payloadobject聊天请求体(model、messages 等)
optionsobject配置选项
└─ timeoutnumber超时时间(毫秒)
└─ suppressNotifyboolean是否禁用通知
└─ hideLoadingboolean是否隐藏加载状态

对应接口POST /api/ai/chat/completions


proChatCompletions(payload, options)

说明:专业版聊天补全(非流式)

参数:同 chatCompletions

对应接口POST /api/ai/pro/chat/completions


4.3 模型协议与能力

resolveModelProtocol(modelId, scene)

说明:解析模型协议详情

参数

参数类型必填说明
modelIdstring模型 ID
scenestring场景(chat/image),默认 "chat"

对应接口GET /api/ai/model-protocol/resolve


resolveImageModelCapability(modelId)

说明:解析模型的图片能力矩阵

参数

参数类型必填说明
modelIdstring模型 ID

对应接口GET /api/ai/model-capability/image/resolve


listSkills(scene)

说明:列出可用技能

参数

参数类型必填说明
scenestring场景,默认 "chat"

对应接口GET /api/ai/skills


4.4 Agent 智能体

agentPromptPolish(payload, options)

说明:提示词润色

参数

参数类型必填说明
payloadobject请求体(prompt、targetLanguage 等)
optionsobject配置选项(同 chatCompletions)

对应接口POST /api/agents/prompt-polish


五、视频生成

videoGenerations(payload)

说明:视频生成

参数

参数类型必填说明
payloadobject视频生成请求体

对应接口POST /api/video/generations


videoTaskStatus(taskId, payload)

说明:查询视频任务状态

参数

参数类型必填说明
taskIdstring任务 ID
payloadobject查询参数

对应接口POST /api/video/generations/{taskId}


createVideoJob(payload)

说明:创建视频任务(异步)

参数

参数类型必填说明
payloadobject视频生成请求体

对应接口POST /api/video/jobs


getVideoJobStatus(jobId)

说明:查询视频 Job 状态

参数

参数类型必填说明
jobIdstringJob ID

对应接口POST /api/video/jobs/{jobId}


getVideoJobStreamUrl(jobId)

说明:获取视频 Job 进度流 URL

参数

参数类型必填说明
jobIdstringJob ID

返回:完整的 SSE 流 URL


六、图片生成

imageGenerations(payload)

说明:图片生成(非流式)

参数

参数类型必填说明
payloadobject图片生成请求体

对应接口POST /api/image/generations


getImageGenerationStreamUrl()

说明:获取图片生成流式 URL

返回:完整的 SSE 流 URL

对应接口POST /api/image/generations/stream


七、图片记录

listImageRecords()

说明:列出图片记录

对应接口GET /api/image/records


getImageRecord(recordId)

说明:获取单条图片记录

参数

参数类型必填说明
recordIdnumber/string记录 ID

对应接口GET /api/image/records/{recordId}


createImageRecord(payload)

说明:创建图片记录

参数

参数类型必填说明
payloadobject记录数据

对应接口POST /api/image/records


updateImageRecord(recordId, payload)

说明:更新图片记录

参数

参数类型必填说明
recordIdnumber/string记录 ID
payloadobject更新数据

对应接口PUT /api/image/records/{recordId}


八、视频记录

listVideoRecords()

说明:列出视频记录

对应接口GET /api/video/records


getVideoRecord(recordId)

说明:获取单条视频记录

参数

参数类型必填说明
recordIdnumber/string记录 ID

对应接口GET /api/video/records/{recordId}


createVideoRecord(payload)

说明:创建视频记录

参数

参数类型必填说明
payloadobject记录数据

对应接口POST /api/video/records


updateVideoRecord(recordId, payload)

说明:更新视频记录

参数

参数类型必填说明
recordIdnumber/string记录 ID
payloadobject更新数据

对应接口PUT /api/video/records/{recordId}


九、作品管理

listUserWorks(params)

说明:列出作品

参数

参数类型必填说明
paramsobject查询参数(scene、limit、offset、temporaryUserId)

对应接口GET /api/works


deleteUserWork(workId, params)

说明:删除作品

参数

参数类型必填说明
workIdnumber/string作品 ID
paramsobject额外参数(temporaryUserId)

对应接口DELETE /api/works/{workId}


createCodeWork(params)

说明:创建代码作品

参数

参数类型必填说明
paramsobject作品数据(title、description、assetIds 等)

对应接口POST /api/works/code


updateWorkTitle(params)

说明:更新作品标题

参数

参数类型必填说明
paramsobject包含 workId 和 title

对应接口PUT /api/works/{workId}/title


十、文件上传

uploadGeneratedFile(formData)

说明:上传生成的文件

参数

参数类型必填说明
formDataFormData包含 file 字段的表单数据

对应接口POST /api/files/upload

配置Content-Type: multipart/form-datatimeout: 30000ms


uploadCodeText(params)

说明:上传代码文本

参数

参数类型必填说明
paramsobject包含 codeContent、language、filename

对应接口POST /api/files/upload-text


十一、Vibe Coding

vibeCodingCreateSession(payload)

说明:创建 Vibe Coding 会话

参数

参数类型必填说明
payloadobject会话配置(giteeToken、repoName、projectDescription 等)

对应接口POST /api/vibe-coding/sessions


vibeCodingGetStreamUrl(sessionId)

说明:获取 Vibe Coding 流 URL

参数

参数类型必填说明
sessionIdstring会话 ID

返回:完整的 SSE 流 URL


vibeCodingRespondToPrompt(sessionId, response)

说明:响应 Vibe Coding 提示

参数

参数类型必填说明
sessionIdstring会话 ID
responsestring用户响应内容

对应接口POST /api/vibe-coding/sessions/{sessionId}/respond


vibeCodingAbortSession(sessionId)

说明:中止 Vibe Coding 会话

参数

参数类型必填说明
sessionIdstring会话 ID

对应接口POST /api/vibe-coding/sessions/{sessionId}/abort


vibeCodingGetSessionStatus(sessionId)

说明:获取 Vibe Coding 会话状态

参数

参数类型必填说明
sessionIdstring会话 ID

对应接口GET /api/vibe-coding/sessions/{sessionId}/status


十二、助手(Assistants)

listPublicAssistants()

说明:列出公开助手(无需登录)

对应接口GET /api/assistants/public


listPersonalAssistants()

说明:列出个人助手(需登录)

对应接口GET /api/assistants/personal


listCommunityAssistants()

说明:列出社区助手

对应接口GET /api/assistants/list-community


getAssistantDetail(id)

说明:获取助手详情

参数

参数类型必填说明
idnumber/string助手 ID

对应接口GET /api/assistants/{id}


createAssistant(payload)

说明:创建助手

参数

参数类型必填说明
payloadobject助手配置(name、description、systemPrompt 等)

对应接口POST /api/assistants


updateAssistant(payload)

说明:更新助手

参数

参数类型必填说明
payloadobject包含 id 和更新字段

对应接口PUT /api/assistants


deleteAssistant(id)

说明:删除助手

参数

参数类型必填说明
idnumber/string助手 ID

对应接口DELETE /api/assistants/{id}


shareAssistant(payload)

说明:分享/取消分享助手

参数

参数类型必填说明
payloadobject包含 id 和 share(boolean)

对应接口POST /api/assistants/share


getSharedAssistant(shareCode)

说明:获取分享的助手

参数

参数类型必填说明
shareCodestring分享码

对应接口GET /api/assistants/shared/{shareCode}


importSharedAssistant(shareCode)

说明:导入分享的助手

参数

参数类型必填说明
shareCodestring分享码

对应接口POST /api/assistants/import/{shareCode}


十三、模型测试(独立模块)

模型测试 API 使用独立的 axios 实例,封装在 [modelTestRequest.js](file:///Users/long/GitHub/nxaitest/nxaitest-frontend/src/network/modelTestRequest.js)

createModelTestRun(payload)

说明:创建测试运行

参数

参数类型必填说明
payloadobject测试配置(testSuiteId、model、testCases 等)

对应接口POST /api/model-test/runs


getModelTestRun(runId)

说明:获取测试运行结果

参数

参数类型必填说明
runIdstring运行 ID

对应接口GET /api/model-test/runs/{runId}


getModelTestCases(target, modelId)

说明:列出可用测试用例

参数

参数类型必填说明
targetstring测试目标
modelIdstring模型 ID

对应接口GET /api/model-test/cases


请求配置选项

所有请求方法均支持以下可选配置项:

选项类型默认值说明
hideLoadingbooleanfalse是否隐藏加载进度条
suppressNotifybooleanfalse是否禁用通知提示
timeoutnumber8000超时时间(毫秒)

示例

javascript
userRequest.chatCompletions(payload, {
  timeout: 30000,
  hideLoading: true,
  suppressNotify: true
});

前端路由

前端使用 Vue Router,定义了以下页面路由:

路径页面组件说明
/homeHomePage首页
/chatTextChat文本聊天
/createCreateStudio创作工作室
/agent-designAgentDesignAgent 设计
/api-centerApiPageAPI 中心
/api-center/guide/:idGuideDetailPageAPI 指南详情
/eventsEventsPage活动页
/teamTeamPage团队页
/modeltestModelTest模型测试
/account/settingsUserAccountSettings账户设置
/account/subscriptionMembershipStaticPage会员订阅
/galleryGalleryPage作品画廊
/assistants/libraryAssistantLibrary助手库
/assistants/createAssistantEditor创建助手
/assistants/edit/:idAssistantEditor编辑助手
/assistants/share/:shareCodeAssistantDetail分享的助手详情