Assloud
资源云
Assloud为Asset Cloud的复合词,即资源云。
Assloud意在提供一个由标准化、规范化的工作流生成的可用于FMP解决方案的内容聚合平台。
功能特性(Features)
TODO
架构设计(Architecture Design)
assloud主要由包、内容、资源三个层级组成。它们的结构如下所示:
|- bundle-x
|- content-x
|- meta.json
|- icon.png
|- cover.png
|- ...
|- _resources
|- a.x2i
|- b.xpd
|- c.xsa
|- ...
|- _attachments
|- 1.jpg
|- 2.txt
|- ...
资源(Resource)
资源为一个可执行的内容文件,可能的形态为一个视频、一个文档、一个模型、一个微应用等等。
资源是一个最小的运行单位。
资源文件保存在_resources文件夹中。
资源在执行时,通常使用以下两个参数:
source
string
资源的存储源,一般可选值为(assloud:// , file://)
uri
string
资源的路径
其中source是assloud://时,uri是在资源库中的相对路径,例如mybundle/_resources/1.lsa。source是file://时,uri是文件访问的绝对路径,例如c:/1.jpg。
附件(Attachment)
附件是一个内容的附件数据文件。
附件文件保存在_attachments文件夹中。
附件的定义字段为
{
"path": "cover.png",
"hash": "7065ccf10aeed15ac5b0665e1c946b26",
"Size": 874272,
"Url": ""
}
Url为空时,path是在_attachments文件夹中的相对路径。
内容(Content)
内容通过引用资源的方式,提供多种形态的展示形式。
内容是一个最小的显示单位。
内容具有一个元文件meta.json,包含了一个内容的所有数据信息,结构如下:
{
"name": "大熊猫",
"kvS": {
},
"alias": "大熊猫",
"title": "大熊猫",
"caption": "Ailuropoda melanoleuca",
"label": "食肉目;熊科",
"topic": "中国国宝",
"description": "体型肥硕似熊、丰腴富态,头圆尾短,体色为黑白两色,脸颊圆,有很大的“黑眼圈”。",
"alias_i18nS": {
},
"title_i18nS": {
},
"caption_i18nS": {
},
"label_i18nS": {
},
"topic_i18nS": {
},
"description_i18nS": {
},
"labelS": [
],
"tagS": [
],
"foreign_bundle_uuid": "b359b77a-fb45-4845-8455-27f57ddaeed8",
"AttachmentS": [
{
"path": "cover.png",
"hash": "7065ccf10aeed15ac5b0665e1c946b26",
"Size": 874272,
"Url": ""
}
],
"Uuid": "c56217f6-555d-4e11-8b23-db260160c8b7"
}
name
string
内容的名称,同时也是存储时使用的路径名
alias
string
别名,用于生成搜索需要的首字母
title
string
主标题
caption
string
副标题
label
string
用于显示的标签,以分号分隔
topic
string
标语
description
string
描述
alias_i18nS
map<string,string>
别名的多国语言字典
title_i18nS
map<string,string>
主标题的多国语言字典
caption_i18nS
map<string,string>
副标题的多国语言字典
topic_i18nS
map<string,string>
标语的多国语言字典
description_i18nS
map<string,string>
描述的多国语言字典
labelS
list<string>
用于检索的预设标签的列表
tagS
list<string>
用于检索的自定义标签的列表
kvS
list<string>
键值对,通常用于模块定位资源
AttachmentS
list<object>
附件文件的列表
Uuid
string
内容的唯一ID
foreign_bundle_uuid
string
所在的包的唯一ID
内容也可以包含多个附件文件,这些包含的附件文件,定义在AttachmentS字段中,存储时位于内容的路径下。
kvS中预定义以下字段
Res.Video
xv
2D平面视频
mp4
否
Res.Video3D
xv3
3D立体视频
mp4
否
Res.Video720
xvp
720全景平面视频
mp4
否
Res.Video3D720
xv3p
720全景3D立体视频
mp4
否
Res.Image
xi
平面图片
jpg
否
Res.Image720
xip
720全景图片
jpg
否
Res.Music
xm
带歌词的音乐
ogg(音乐文件), txt(歌词文件)
是
Res.Application
xlsa
lua脚本应用
lua(脚本文件),ogg(音频文件),json(配置文件),jpg(图片文件),png(图片文件)
是
注意: 以上字段定义的值,是相对于_resources文件夹的路径,例如1.xlsa。部分模块使用Open消息时,uri参数需要相对asset文件夹的路径,所以在发布消息到其他模块时,需要将参数处理为 {{bundleuuid}}/_resources/{{resource}}这样的格式。
包(Bundle)
多个内容和资源组成一个包。
包是一个最小的发布单位。
包具有一个元文件meta.json,包含了一个包的所有数据信息,结构如下:
{
"name": "XTC.Demo.1",
"summary": "测试数据1",
"labelS": [
],
"tagS": [
],
"resourceS": [
],
"summary_i18nS": {
},
"foreign_content_uuidS": [
"9fd295ef-5a0e-4607-b247-04f0fb43be97",
"4c3970f2-381d-464d-9988-7fb8a5b2fa25",
"6fa05de9-750f-4450-a8db-e8337e48699b",
"c56217f6-555d-4e11-8b23-db260160c8b7",
"bab32059-7a7b-4150-b83e-1b38567375b8",
"1dfbca4d-3376-4076-ab57-fde7020330f1",
"b2fbd138-3706-4920-b474-01d8f6c5a5a3"
],
"Uuid": "b359b77a-fb45-4845-8455-27f57ddaeed8"
}
name
string
内容的名称,同时也是存储时使用的路径名
summary
string
包的简介
summary_i18nS
map<string,string>
包的简介的多国语言字典
labelS
list<string>
用于检索的预设标签的列表
tagS
list<string>
用于检索的自定义标签的列表
resourceS
list<object>
资源文件的列表
Uuid
string
包的唯一ID
foreign_content_uuidS
list<string>
包含的内容的唯一ID的列表
Last updated