接口文档

获取临时访问token

  • 请求路径: GET /api/projects/accesstoken/:projectId
  • 路劲参数: projectId 此参数为用户在创建工程时所产生的工程id
  • 示例代码
//fetch
const 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());
//axios
const 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临时访问tokenString
  • 异常情况:

  1. HTTP 401错误,缺失token
  2. HTTP 403错误, 当前用户无权访问
  3. HTTP 404错误, 访问的内容已经不存在

创建和转化模型接口

  • 请求路径: POST /api/models
  • 请求参数的格式:
// form-data:
{
'files.originalFile': File,
data: {
webhook?: String,
name: string
}
}
  • 参数说明
    参数名称参数说明参数类型是否必须
    files.originalFile需要被转化的文件File
    webhook转化完成后接收通知的urlString
    name模型名称String
  • 示例代码
//fetch
const 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
//axios
const 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模型的idstring
    name模型的名称string
    description模型的描述string
    status模型的状态, 可能取得值为: waiting, parsing, parsedstring
    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和errorstring
    url转化完成后的文件下载地址string
    imageUrl转化后预览图的下载地址string
    messge模型解析出错后的错误信息string

请求转化结果

  • 请求路径: GET /api/models/fileurls/:modelId
  • 路劲参数: modelId 此参数为用户在创建模型时所产生的模型id
  • 示例代码
//fetch
const convertResult = await fetch(`https://www.tiangongtuxue.com/tiangong-model-backend/api/models/fileurls/${modelId}`, // 此处填入创建工程时的工程id
{
headers: {
Authorization: `Bearer ${accesstoken}` //此处填入您在创建工程时获得的工程token
}
}
).then(response => response.json());
// axios
const 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