HTEX,PPTX,内容模块在Blob及IES5相关业务逻辑说明
黄贺彬 redigerade denna sida 3 år sedan

IES5 API域名

國際站點 API : https://www.teammodel.net

中國站點 API : https://www.teammodel.cn


BLOB容器第一级根目录规化

应用数据

/exam

此目录为评测数据,目录结构:
/exam/评测的uuid/paper/试卷的uuid或者代表不同的科目/试卷的index.json   --试卷的描述信息
                /paper/试卷的uuid或者代表不同的科目/题目的uuid.json   --题目信息
                /班级或者名单的uuid/学生id/ans.json    ----学生的作答记录

/vote

此目录为投票数据,目类结构:
/vote/投票的uuid/record.json  -----投票的详细记录,每个选项投票数,每个人的投票详情。
                /urecord/学生id.json  ----参加投票的学生的投票记录。

/survey

此目录为问卷数据,目类结构:
/survey/问卷的uuid/record.json   -----问卷的详细记录,问卷统计,每个人的作答记录,每个题的统计。
                  /urecord/学生id.json   -----参加问卷的学生的作答记录。
                  /qrecord/问卷题序.json  -----题目序号对应的所有人的作答记录。

/item

此目录为题目数据,目类结构:
/item/题目的uuid/题目的uuid.json    ------题目的详细信息
                /xxxx.mp4,mp3,png,...  ----题目关联的相关多媒体文档。

/paper

此目录为试卷数据,目类结构:
/paper/试卷的名称/题目的uuid.json    ------题目的详细信息
                /试卷的index.json    ------试卷的详细信息
                /xxxx.mp4,mp3,png,...  ----题目关联的相关多媒体文档。

/syllabus

此目录为课纲资源数据,目类结构:
/syllabus/试卷的名称/题目的uuid.json    ------课纲关联试卷的题目详细信息
         /试卷的名称/试卷的index.json    ------课纲关联试卷的详细信息
         /试卷的名称/xxxx.mp4,mp3,png,...  ----课纲关联试卷的题目相关多媒体文档。
         /题目的uuid/题目的uuid.json    ------课纲关联题目的详细信息
         /xxxx.mp4,mp3,png,docx,pptx,...  ----题目关联的相关多媒体文档。

/avatar

 此目录为学生头像,只会出现在学校容器中,目类结构:
 /avatar/xxxx.jpg,png,gif,bmp,tif,pcd,qti,qtf,tiff等 ---网页支持的图片格式。

/records

此目录为课堂记录数据,目类结构:
/records/课堂记录id/Announce.json    ------课堂记录总览
                  /xxx      ------课堂记录其他资源信息

/train

此目录为教研中心培训活动数据,(国际站暂不理会)目类结构:
/train/培训活动uuid/index.json    ------培训活动训练试卷信息。
                  /题目uuid.json    ------培训活动训练题目信息。

/jyzx

此目录为教研中心能力点资源数据,(国际站暂不理会)目类结构:
/jyzx/能力点树状结构的uuid/xxxx.mp4,mp3,png,docx,pptx....    ------教研中心能力点相关多媒体文档。

内容模块数据

/doc

此目录为文档类型数据,目类结构:
/doc/xxxx.docx,doc,pptx,ppt,xls,xlsx,pdf,csv    ------内容模块的文档类型文件。

/image

此目录为文档类型数据,目类结构:
/image/xxxx.jpg,png,gif,bmp,tif,pcd,qti,qtf,tiff等    ------内容模块的图片类型文件。

/res

此目录为htx,htex教材数据,目类结构:其中htex文档名 由pptx解析或htex解压获得的目录结构。
/res/xxx.hte    ------hiteach3支持的教材文件类型。
    /htex文档名/index.json    ------hiteach5支持的htex总览页。 
    /htex文档名/xxx-uuid.json ------hiteach5支持的htex单页元素集合的渲染json。
    /htex文档名/xxxx.mp4,mp3,png,jpg....  ------hiteach5支持的htex关联的多媒体资源。

/video

此目录为视频类型数据,目类结构:
/video/xxxx.mp4,avi,webm,mov,mpeg,mkv,3gp,mpg,rmvb,wmv,asf,dvd,ogm,mpeg2,mpeg4等    ------内容模块的视频类型文件。

/audio

此目录为音频类型数据,目类结构:
/audio/xxxx.mp3,ogg,wav,ape,cda,au,midi,mac,acc等    ------内容模块的音频类型文件。

/other

此目录为除doc,imageres,video,audio以外的内容数据,目类结构:
/other/xxxx.rar,zip,json....等    ------其他文件类型。

其他非正式数据

/thum

此目录为视频或者图片的缩略图数据,目类结构:
/other/xxx.png,jpg...等    ------视频或者图片的缩略图数据。

/temp

此目录为临时上传目录数据,可能会随时被清理掉,目类结构:
/temp/xxx.png,zip...等    ------临时上传文件。

API列表

学校、个人内容文件记录列表接口(blob/bloblog-list)
学校、个人内容文件记录新增更新接口(blob/bloblog-upsert)
学校、个人内容文件记录删除接口(blob/bloblog-delete)
学校、个人内容文件记录重命名接口(blob/bloblog-rename)
列出Blob文件夹下的文件列表(blob/blob-list)
获取Blob容器空间使用情况(blob/used-space)
HTEX,PPTX,DOCX解析接口(import/parse-doc)


学校、个人内容文件列表接口

{POST} https://teammodelos-test.chinacloudsites.cn/blob/bloblog-list
{Header} x-auth-authtoken 登陆返回的jwt
{request} 请求参数

Parameter Type Required Info
name string 必須 学校编码/醍摩豆ID 标记容器名称
type string 必須 内容类型audio 音频,video 视频 ,doc文档,image图片,other 其他,res教材,thum缩略图
scope string 必须 学校:school/个人:private
periodId string 可选 关联的学段id
{
    "name": "habook",
    "type": "res",
    "scope": "school",
    "periodId": "50fdecdb-6cbd-4c9a-8dc2-a627f4d6b312"
}
{response} 返回参数 
{
    "bloblogs": [
        {
            "name": null,//文件名称,预留,暂未启用
            "url": "res/认识元 角 分 - 副本/index.json",//文件地址
            "time": 1630069550067,//上传时间
            "size": 841850,//占用空间
            "periodId": [  //关联学段
                "50fdecdb-6cbd-4c9a-8dc2-a627f4d6b312"
            ],
            "subjectId": [],//关联学科,预留,暂未启用
            "gradeId": [],//关联年级,预留,暂未启用
            "type": "res",//文件类型
            "id": "024b6cb0-3ef0-4767-97f2-f23f6e96a527",//内容id
            "code": "Bloblog-habook",//分区键
            "pk": "Bloblog",//pk类型
            "ttl": -1
        }
    ]
}

学校、个人内容文件记录新增更新接口

{POST} https://teammodelos-test.chinacloudsites.cn/blob/bloblog-upsert
{Header} x-auth-authtoken 登陆返回的jwt
{request} 请求参数

Parameter Type Required Info
periodId string 可选 关联的学段id
subjectId string 可选 关联的学科id
gradeId string 可选 关联的年级id
scope string 必須 学校:school/个人:private
name string 必須 学校编码/醍摩豆ID 标记容器名称
url array[string] 必須 多个blob文件保存地址,如果在CosmosDB存在相同的地址,则覆盖
{
    "periodId": [
        "50fdecdb-6cbd-4c9a-8dc2-a627f4d6b312"
    ],
    "gradeId": [],
    "subjectId": [],
    "scope": "school",
    "name": "habook",
    "url": [
        "image/cdydjxx.jpg"
    ]
}

{response} 返回参数

{
    "bloblog": [
        {
            "name": null,//文件名称,预留,暂未启用
            "url": "res/认识元 角 分 - 副本/index.json",//文件地址
            "time": 1630069550067,//上传时间
            "size": 841850,//占用空间
            "periodId": [  //关联学段
                "50fdecdb-6cbd-4c9a-8dc2-a627f4d6b312"
            ],
            "subjectId": [],//关联学科,预留,暂未启用
            "gradeId": [],//关联年级,预留,暂未启用
            "type": "res",//文件类型
            "id": "024b6cb0-3ef0-4767-97f2-f23f6e96a527",//内容id
            "code": "Bloblog-habook",//分区键
            "pk": "Bloblog",//pk类型
            "ttl": -1
        }
    ],
    "status": 200
}

学校、个人内容文件记录删除接口

{POST} https://teammodelos-test.chinacloudsites.cn/blob/bloblog-delete
{Header} x-auth-authtoken 登陆返回的jwt
{request} 请求参数

Parameter Type Required Info
scope string 必須 学校:school/个人:private
cntr string 必須 blob容器名
blobs array[object] 必須 删除的文件记录对象
blobs[array].path string 必須 文件路径
blobs[array].id string 必須 记录id
{
    "scope": "school",
    "cntr": "habook",
    "blobs": [
        {
            "path": "res/认识元 角 分 - 副本/index.json",
            "id": "024b6cb0-3ef0-4767-97f2-f23f6e96a527"
        }
    ]
}

{response} 返回参数

{
    "status": true
}

学校、个人内容文件记录重命名接口

{POST} https://teammodelos-test.chinacloudsites.cn/blob/bloblog-rename
{Header} x-auth-authtoken 登陆返回的jwt
{request} 请求参数

Parameter Type Required Info
scope string 必須 学校:school/个人:private
cntr string 必須 blob容器名
id string 必須 文件记录id
newName string 必須 新文件名(保证后缀名也要有)
{
    "scope": "school",
    "cntr": "habook",
    "id": "65400e48-248f-4d09-b49b-f9de23ebba34",
    "newName": "image/tmdlogo.png"
}

{response} 返回参数

{
    "status": true
}

获取Blob容器空间使用情况

{POST} https://teammodelos-test.chinacloudsites.cn/blob/used-space
{Header} x-auth-authtoken 登陆返回的jwt
{request} 请求参数

Parameter Type Required Info
scope string 可选 学校:school,但如果需要获取学校总空间(包含分配给教师的空间)的则必填
containerName string 必須 blob容器名,学校编码,或者醍摩豆id
{
    "scope": "school",
    "containerName": "hbcn"
}

{response} 返回参数

{
    "size": 524004732,//已经使用的,单位字节
    "catalog": {
        "vote": 108,//问卷
        "exam": 177100,//评测
        "survey": 1211597,//投票
        "avatar": 4615870,//头像
        "syllabus": 80351677,//课纲
        "paper": 208548326,//试卷
        "item": 229100054,//试题
        "records":0,//课堂记录
        "doc":0,//文档
        "image":0,//图片
        "res":0,//htex
        "video":0,//视频
        "audio":0,//音频
        "other":0,//其他文件
        "thum":0,//缩略图
        "temp":0//临时文件
    },
    "teach": 55 //分配给教师的,单位GB
}

HTEX,PPTX,DOCX解析接口

{POST} https://teammodelos-test.chinacloudsites.cn/import/parse-doc {Header} x-auth-authtoken 登陆返回的jwt
{request} 请求参数

Parameter Type Required Info
scope string 必須 学校:school/个人:private
file string 必須 blob的文件链接,后缀可以是pptx,docx,doc,htex
{
    "file": "https://teammodelos.blob.core.chinacloudapi.cn/1535418750/doc/6.2.3平面图形的认识与测量(三)(1).pptx",
    "scope": "private"
}

{response} 返回参数

{
    "index": "https://teammodelos.blob.core.chinacloudapi.cn/1535418750/res/6.2.3平面图形的认识与测量(三)(1)/index.json"
}