接口文档
获取临时访问token
- 请求路径: GET /api/projects/accesstoken/:projectId
- 路劲参数: projectId 此参数为用户在创建工程时所产生的工程id
- 示例代码
//fetchconst accesstoken = await fetch('https://www.tiangongtuxue.com/tiangong-model-backend/api/projects/accesstoken/<your_project_id>', // 此处填入创建工程时的工程id{headers: {Authorization: `Bearer <your_project_token>` //此处填入您在创建工程时获得的工程token}}).then(response => response.json());//axiosconst result = await axios.get('https://www.tiangongtuxue.com/tiangong-model-backend/api/projects/accesstoken/<your_project_id>', {headers: {Authorization: `Bearer <your_project_token>` //此处填入您在创建工程时获得的工程token}})const accesstoken = result.data; //从响应中获取token/*** accesstoken: {* token: string* }*/
返回参数说明:
参数名称 参数说明 参数类型 token 临时访问token String 异常情况:
- HTTP 401错误,缺失token
- HTTP 403错误, 当前用户无权访问
- HTTP 404错误, 访问的内容已经不存在
创建和转化模型接口
- 请求路径: POST /api/models
- 请求参数的格式:
// form-data:{'files.originalFile': File,data: {webhook?: String,name: string}}
- 参数说明
参数名称 参数说明 参数类型 是否必须 files.originalFile 需要被转化的文件 File 是 webhook 转化完成后接收通知的url String 否 name 模型名称 String 是
- 示例代码
//fetchconst formData = new FormData();const file = fileList[0]let data = {webhook: '<url_to_notify_when_the_file_is_parsed>', // 可选name: '<name_of_model>' // 必须}formData.append(`files.originalFile`, file, file.name);formData.append('data', JSON.stringify(data));const uploadResult = await fetch('https://www.tiangongtuxue.com/tiangong-model-backend/api/models', {method: 'post',body: formData,headers: {Authorization: `Bearer ${accesstoken}`}}).then(response => response.json());const modelId = uploadResult.data.id//axiosconst formData = new FormData();const file = fileList[0]; // 确保fileList已经定义并且包含至少一个文件对象let data = {webhook: '<url_to_notify_when_the_file_is_parsed>', // 可选name: '<name_of_model>' // 必须};// 向formData中添加文件和数据formData.append(`files.originalFile`, file, file.name);formData.append('data', JSON.stringify(data));// 使用axios发起POST请求const uploadResult = await axios({method: 'post',url: 'https://www.tiangongtuxue.com/tiangong-model-backend/api/models',data: formData,headers: {Authorization: `Bearer ${accesstoken}`, // 确保accesstoken是有效的token字符串// 注意:当使用FormData时,Content-Type应该让浏览器自动设置,以正确处理boundary'Content-Type': 'multipart/form-data' // 这一行通常不是必需的,因为axios/浏览器会自动设置}})const modelId = uploadResult.data.id
- 返回数据格式:
{"data": {"id": number | string,"attributes": {"name": string,"description": string,"status": string,"message": string,"createdAt": string,"updatedAt": string,"publishedAt": string,"webhook": string,"size": number}},"meta": {}}
- 返回数据参数说明
参数名称 参数说明 参数类型 id 模型的id string name 模型的名称 string description 模型的描述 string status 模型的状态, 可能取得值为: waiting, parsing, parsed string message 模型解析过程中生成的信息 string createdAt 模型的创建时间 string updatedAt 模型的更新时间 string publishedAt 模型的发布时间 string webhook 解析完成后用于通知的一个url地址 string size 文件的大小 number
- webhook请求数据格式
// 如果转化成功{result: 'ok',url: string,imageUrl: string}// 如果转化失败{result: 'error',message: string,}
- webhook请求数据参数说明
参数名称 参数说明 参数类型 result 通知转化结果,可能是ok和error string url 转化完成后的文件下载地址 string imageUrl 转化后预览图的下载地址 string messge 模型解析出错后的错误信息 string
请求转化结果
- 请求路径: GET /api/models/fileurls/:modelId
- 路劲参数: modelId 此参数为用户在创建模型时所产生的模型id
- 示例代码
//fetchconst convertResult = await fetch(`https://www.tiangongtuxue.com/tiangong-model-backend/api/models/fileurls/${modelId}`, // 此处填入创建工程时的工程id{headers: {Authorization: `Bearer ${accesstoken}` //此处填入您在创建工程时获得的工程token}}).then(response => response.json());// axiosconst response = await axios.get(`https://www.tiangongtuxue.com/tiangong-model-backend/api/models/fileurls/${modelId}`, {headers: {Authorization: `Bearer ${accesstoken}` //此处填入您在创建工程时获得的工程token}});const convertResult = response.data; // 从响应中获取数据
- 返回参数格式:
// 如果转化完成convertResult = {result: 'ok',url: string,imageUrl: string}// 如果转化未完成convertResult = {result: 'waiting'}// 如果转化失败convertResult = {result: 'error',message: <some_message>}
- 返回参数说明:
参数名称 参数说明 参数类型 result 解析结果,可能为ok, waiting, error。分别表示:完成,转化中,错误 string url 转化完成文件的url地址 string imageUrl 模型的预览图地址 string message 转化结果消息 string