参数说明表格中未包含是否必填项的参数均为必填参数。
通用参数说明
所有接口都包含三个参数:appId
、workspaceId
和 tenantId
,这三个参数的含义如下。本文档后续接口说明中会省略对这三个参数的说明。
参数名称 | 类型 | 说明 |
appId | String | 所属的应用 |
workspaceId | String | 所属的工作空间 |
tenantId | String | 所属的租户 |
通用返回值说明
参数名称 | 类型 | 说明 |
resultCode | String | 请求正常返回 OK,其他情况表明 API 请求异常。 |
requestId | String | 标识请求的 ID。 |
resultMessage | String | 请求异常时的描述。 |
Result | Object | 返回的具体对象,具体含义看具体返回值。 |
所有接口返回的具体对象均包含两个字段:success
、resultMsg
,这两个字段的含义如下:
名称 | 类型 | 说明 |
success | Boolean | 查询是否成功。 |
resultMsg | String | 查询失败后的返回值。 |
创建虚拟域名
请求 - CreateMcubeVhostRequest
名称 | 类型 | 说明 |
vhost | String | 虚拟域名的值。 |
返回值 - CreateMcubeVhostResponse
{
"createVhostResult":{
"data":"success",
"resultMsg":"",
"success":true
},
"requestId":"F9C681F2-6377-488D-865B-1144E0CE69D2",
"resultCode":"OK"
}
返回值说明
返回值名称 | 类型 | 说明 |
data | String | 如果创建成功,返回 success。如果创建失败,success 字段的值为 false。 |
createVhostResult | Object | 返回的具体对象,仅包含通用返回值。 |
查询虚拟域名
请求 - QueryMcubeVhostRequest
返回值 - QueryMcubeVhostResponse
{
"queryVhostResult":{
"data":"test.com",
"resultMsg":"",
"success":true
},
"requestId":"637D5BE0-0111-4C53-BCEE-473CFFA0DBAD",
"resultCode":"OK"
}
返回值说明
返回值名称 | 类型 | 说明 |
queryVhostResult | Object | 返回的具体对象,具体含义见下表。 |
在返回的对象中,包含的字段含义如下:
名称 | 类型 | 说明 |
data | String | 查询到的虚拟域名信息。 |
resultMsg | String | 查询失败后的返回值。 |
success | Boolean | 查询是否成功。 |
查询密钥文件是否存在
请求 - ExistMcubeRsaKeyRequest
返回值 - ExistMcubeRsaKeyResponse
{
"checkRsaKeyResult":{
"data":"fail",
"resultMsg":"",
"success":false
},
"requestId":"8F76783A-8070-4182-895D-14E5D66F8BA3",
"resultCode":"OK"
}
返回值说明
返回值名称 | 类型 | 说明 |
checkRsaKeyResult | Object | 返回的具体对象,具体含义见下表。 |
在返回的对象中,包含的字段含义如下:
名称 | 类型 | 说明 |
data | String | 查询密钥是否存在返回结果。 |
resultMsg | String | 查询失败后的返回值。 |
success | Boolean | 查询是否成功。 |
获取上传文件 token
请求 - GetMcubeFileTokenRequest
参数名称 | 类型 | 说明 |
onexFlag | Boolean | 固定传值为 |
返回值 - GetMcubeFileTokenResponse
{
"getFileTokenResult":{
"fileToken":{
"accessid":"LTAI7z7XPfKU****",
"dir":"mds/tempFileForOnex/ONEXE9B092D/test/PUQYHL/8b574cb7-3596-403f-a0e9-208660fc2081/",
"expire":"1584327372",
"host":"https://mcube-test.oss-cn-hangzhou.aliyuncs.com",
"policy":"QwM2YtYTBlOS0yMDg2NjBmYzIwODEvIl1dfQ==",
"signature":"kisfP5YhbPtmES8+w="
},
"resultMsg":"",
"success":true
},
"requestId":"8BAA3288-662E-422C-9960-2EEBFC08369F",
"resultCode":"OK"
}
返回值说明
返回值名称 | 类型 | 说明 |
fileToken | Object | 按照文件上传示例中的设置方法,将 fileToken 中对应的字段设置到 OssPostObject 中。 |
getFileTokenResult | Object | - |
上传密钥文件
请求 - UploadMcubeRsaKeyRequest
名称 | 类型 | 说明 |
onexFlag | Boolean | 固定传值为 |
fileUrl | String | 密钥文件在 OSS 中的存储地址。 |
返回值 - UploadMcubeRsaKeyResponse
{
"requestId":"519E35CF-CC60-4890-8C8E-89A98CEA6BB0",
"resultCode":"OK",
"uploadRsaResult":{
"data":"处理成功",
"resultMsg":"",
"success":true
}
}
返回值说明
返回值名称 | 类型 | 说明 |
data | String | 如果创建成功,返回处理成功。 如果创建失败,success 字段值为 false。 |
uploadRsaResult | Object | 返回的具体对象。 |
获取离线包 App 列表
请求 - ListMcubeNebulaAppsRequest
仅包含通用参数。参见 通用参数说明。
返回值 - ListMcubeNebulaAppsResponse
{
"listMcubeNebulaAppsResult":{
"nebulaAppInfos":[
{
"h5Id":"12345678",
"h5Name":"12345678"
},
{
"h5Id":"12345679",
"h5Name":"openapiTest"
}
],
"resultMsg":"",
"success":true
},
"requestId":"BE728F09-6EBD-4688-9329-896813EAD075",
"resultCode":"OK"
}
返回值说明
返回值名称 | 类型 | 说明 |
h5Id | String | 离线包 ID。 |
h5Name | String | 离线包名称。 |
创建离线包 App
请求 - CreateMcubeNebulaAppRequest
参数名称 | 类型 | 说明 |
h5Name | String | 离线包名称。 |
h5Id | String | 离线包 ID,8 位数字。 |
返回值 - CreateMcubeNebulaAppResponse
{
"createNebulaAppResult":{
"resultMsg":"",
"success":true
},
"requestId":"5B588AFE-8D58-4460-B0AA-6A48A9FD0852",
"resultCode":"OK"
}
删除离线包 App
请求 - DeleteMcubeNebulaAppRequest
参数名称 | 类型 | 说明 |
h5Id | String | 离线包 ID,8 位数字 |
返回值 - DeleteMcubeNebulaAppResponse
{
"deleteMcubeNebulaAppResult":{
"resultMsg":"",
"success":true
},
"requestId":"E24C760E-4849-4341-91C6-6DA97F5B6B76",
"resultCode":"OK"
}
上传离线资源包
请求 - CreateMcubeNebulaResourceRequest
名称 | 类型 | 说明 |
h5Id | String | H5App 的 ID。 |
h5Name | String | H5App 的名称。 |
h5Version | String | 离线包的版本。需要保证在单个 H5App 中唯一。 |
mainUrl | String | 离线包主入口,满足正则 |
vhost | String | H5App 的虚拟域名。 |
extendInfo | String | JSON 格式字符串。 |
autoInstall | Integer | 下载时机。
|
resourceType | Integer | 资源类型,一个 H5App 只能存在一种类型。0:全局资源包,1:普通资源包。 |
installType | Integer | 安装时机,0:不预加载(只有进入离线包或小程序页面时才安装),1:预加载(离线包或小程序下载完成后则自动安装)。 |
platform | String | 使用平台,分为 all(全平台)、Android、iOS 和 Harmony。 |
clientVersionMin | String | 客户端最低版本,选择了指定的 platform 之后,最低版本必须是必传的,格式为 |
clientVersionMax | String | 客户端最高版本,可以不填。如果 |
fileUrl | String | 文件在 OSS 的 URL。离线包资源文件,必须为 |
repeatNebula | Integer | 是否复用全局包,在资源类型为全局资源包时需要填写。0:否,1:是。 |
onexFlag | Boolean | 固定传值为 |
返回值 - CreateMcubeNebulaResourceResponse
{
"createMcubeNebulaResourceReslult":{
"nebulaResourceId":"4154",
"resultMsg":"",
"success":true
},
"requestId":"DFCA28DF-0F97-4C41-B3D4-351D284B51E7",
"resultCode":"OK"
}
nebulaResourceId
为上传的资源包对应的 ID。
获取资源包列表
请求 - ListMcubeNebulaResourcesRequest
名称 | 类型 | 说明 |
h5Id | String | H5App 的 ID。 |
返回值 - ListMcubeNebulaResourcesResponse
{
"listMcubeNebulaResourceResult":{
"nebulaResourceInfos":[
{
"appCode":"ONEX97C5D29290957-default",
"autoInstall":1,
"clientVersionMax":"100;100",
"clientVersionMin":"0;0",
"creator":"demo",
"debugUrl":"",
"downloadUrl":"https://pre-mpaas.cn-hangzhou.oss.aliyuncs.com/ONEX97C5D29290957-default/12345678/1.0.0.1_all/nebula/12345678_1.0.0.1.amr",
"extendInfo":"",
"extraData":"{"resourceType":"1"}",
"fallbackBaseUrl":"https://pre-mpaas.cn-hangzhou.oss.aliyuncs.com/ONEX97C5D29290957-default/12345678/1.0.0.1_all/nebula/fallback/;https://pre-mpaas.cn-hangzhou.oss.aliyuncs.com/ONEX97C5D29290957-default/12345678/1.0.0.1_all/nebula/fallback/",
"fileSize":"0",
"gmtCreate":"2021-02-01 14:11:21",
"gmtModified":"2021-02-01 14:11:21",
"h5Id":"12345678",
"h5Name":"12345678",
"h5Version":"1.0.0.1",
"id":4154,
"installType":1,
"lazyLoad":0,
"mainUrl":"/test.html",
"md5":"3b9b7caaea6e5b0cb0db4db551454a33",
"memo":"https://pre-mpaas.cn-hangzhou.oss.aliyuncs.com/ONEX97C5D29290957-default/12345678/1.0.0.1_all/nebula/nebula_json/h5_json.json",
"metaId":7848,
"modifier":"success",
"packageType":1,
"platform":"all",
"publishPeriod":0,
"releaseVersion":"20210201141121",
"resourceType":"1",
"status":1,
"vhost":""
}
],
"resultMsg":"",
"success":true
},
"requestId":"C88DEB27-FF7E-43F7-97F8-B2AA12FB0A5D",
"resultCode":"OK"
}
返回值说明
名称 | 类型 | 说明 |
appCode | String | appId+”-“+workspaceId |
autoInstall | Integer | 含义和上传离线包中的一致 |
clientVersionMax | String | 含义和上传离线包中的一致 |
clientVersionMin | String | 含义和上传离线包中的一致 |
creator | String | 创建者,目前没有使用 |
debugUrl | String | 当前返回中无意义 |
downloadUrl | String | 下载离线包 AMR 文件地址 |
extendInfo | String | 上传时传递的扩展信息 |
extraData | String | 扩展参数 |
fallbackBaseUrl | String | 离线包 fallback 地址,使用分号分隔,分号前是内网地址,分号后是外网地址 |
fileSize | String | 文件大小 |
gmtCreate | Date | 创建时间 |
gmtModified | Date | 更新时间 |
h5Id | String | H5App 的 ID |
h5Name | String | H5App 的名称 |
h5Version | String | 当前离线包的版本号 |
id | Long | 主键 |
installType | Integer | 含义和上传离线包中的一致 |
lazyLoad | Integer | 启动加载,目前都是 0 |
mainUrl | String | 含义和上传离线包中的一致 |
md5 | String | 离线包文件的md5 |
memo | String | 离线包的 |
metaId | Long | 无意义 |
modifier | 修改者 | 目前没有使用 |
platform | 平台 | 含义和上传离线包中的一致 |
publishPeriod | Integer | 发布状态。 0:初始化; 1:内部灰度发布; 2:外部灰度发布; 3:正式发布; 4:回滚发布; 5:发布任务结束。 |
releaseVersion | String | 发布版本号 |
resourceType | Integer | 含义和上传离线包中的一致 |
status | Integer | 状态 |
创建离线包发布任务
请求 - CreateMcubeNebulaTaskRequest
名称 | 类型 | 是否必填 | 说明 |
publishType | Integer | 是 | 发布类型。
|
publishMode | Integer | 否 | 发布模式。若
|
memo | String | 否 | 发布描述 |
id | Long | 是 | 只能传 0,表示创建,不可修改。 |
greyEndtimeData | String | 否 | 灰度时间窗发布的结束时间,格式为“YYYY-MM-dd HH:mm:ss”,时间必须大于当前时间并且与当前时间的间隔小于 7 天。当 publishMode 为 2 的时候必填。 |
greyEndTime | Date | 否 | Date 类型,值和 |
greyNum | Integer | 否 | 时间窗灰度的人数。当 |
whitelistIds | String | 否 | 白名单主键 ID。当 |
packageId | Long | 是 | 发布的资源包主键 ID |
greyConfigInfo | String | 否 | 发布的高级规则条件,JSON 字符串,具体含义见下表。示例:[{“ruleElement”:”city”,”operation”:1,”value”:”上海市,北京市,天津市”},{“ruleElement”:”mobileModel”,”operation”:2,”value”:”REDMI NOTE 3,VIVO X5M”},{“ruleElement”:”osVersion”,”operation”:3,”value2”:”9.2.1”,”value1”:”9.2.1”,”value”:”9.2.1-9.2.1”}] |
高级规则说明
名称 | 类型 | 说明 |
ruleElement | String | 规则类型:
|
value | String | 规则值,多个规则使用”,”分隔,当 |
operation | Integer | 操作关系:
当 |
返回值 - CreateMcubeNebulaTaskResponse
{
"createMcubeNebulaTaskResult":{
"nebulaTaskId":"6664",
"resultMsg":"",
"success":true
},
"requestId":"BBDF54E1-2783-4E5A-AE19-F7BC3A1BB3C2",
"resultCode":"OK"
}
返回的nebulaTaskId为创建的发布任务对应的 ID。
获取发布任务列表
请求 - ListMcubeNebulaTasksRequest
名称 | 类型 | 说明 |
id | Long | 任务对应的离线资源包 ID |
返回值 - ListMcubeNebulaTasksResponse
{
"listMcubeNebulaTaskResult":{
"nebulaTaskInfos":[
{
"appCode":"ONEX97C5D29290957-default",
"bizType":"nebula",
"creator":"",
"gmtCreate":"2021-02-01 14:16:58",
"gmtModified":"2021-02-01 14:16:58",
"gmtModifiedStr":"2021-02-01 14:16:58",
"greyConfigInfo":"",
"greyEndtimeData":"",
"greyNum":0,
"greyUrl":"",
"id":6664,
"memo":"test",
"modifier":"",
"packageId":4154,
"percent":0,
"platform":"all",
"productId":"ONEX97C5D29290957-default-12345678",
"productVersion":"1.0.0.1",
"publishMode":4,
"publishType":3,
"releaseVersion":"20210201141121",
"status":1,
"syncResult":"",
"taskName":"12345678",
"taskStatus":1,
"taskType":0,
"taskVersion":1612160218556,
"upgradeNoticeNum":0,
"upgradeProgress":"",
"whitelistIds":""
}
],
"resultMsg":"",
"success":true
},
"requestId":"B9A07543-4B8B-43D0-AB33-7F2ACB954909",
"resultCode":"OK"
}
返回值说明
名称 | 类型 | 说明 |
appCode | String | appId+workspaceId |
bizType | String | 离线包为 |
bundles | Array | 目前没有使用 |
creator | String | 目前没有使用 |
gmtCreate | Date | 创建时间 |
gmtModified | Date | 更新时间 |
gmtModifiedStr | String | 更新时间字符串 |
greyConfigInfo | String | 高级规则的字符串,和上传时的展示方式不同,具体见下表。 |
greyEndtime | Date | 时间窗灰度截止时间 |
greyEndtimeData | String | 时间窗灰度截止时间字符串 |
greyNum | Integer | 时间窗灰度人数 |
id | Long | 当前发布任务主键 ID |
memo | String | 发布描述 |
modifier | String | 更新者,没有使用 |
packageId | Long | 当前任务对应离线资源包的 ID |
percent | Integer | 灰度百分比,目前都是 0。 |
platform | String | 当前发布任务的平台,可选 all(双平台)、iOS、Android 或 Harmony。 |
productId | String | 产品 ID,格式为“appId + workspaceId + h5id”。 |
productVersion | String | 离线资源包的版本号 |
publishMode | Integer | 发布模型。0:默认值,1:白名单,2:时间窗。 |
publishType | Integer | 发布类型。2:灰度发布;3:正式发布。 |
releaseVersion | String | 内部发布版本号 |
resIds | String | 对应的离线资源包 ID |
status | Integer | 状态。0:无效,1:有效 |
syncResult | String | 目前没有使用 |
taskName | String | 任务名称,和小程序 App 名称相同 |
taskStatus | Integer | 任务状态。0:待发布;1.发布中;2:已结束;3:暂停 |
taskType | Integer | 任务类型。0:普通任务 1:回滚任务。 |
taskVersion | Long | 任务版本号,使用的是任务创建的当前时间 |
upgradeNoticeNum | Integer | 目前没有使用 |
upgradeProgress | String | 目前没有使用 |
whitelistIds | String | 白名单主键 ID,多个 ID 使用”,”分隔 |
greyConfigInfo 字段内容解释
名称 | 类型 | 说明 |
operator | String | 规则关系, |
defaultResult | boolean | 默认返回的结果 |
subRules | List | 规则集合 |
operator | String | 规则名称
|
left | List/Object | 当 |
right | String | 规则类型名称 |
defaultResult | Boolean | 默认结果 |
greyConfigInfo 中两个 operator 字段表示的含义不同。
{
"operator":"and",
"subRules":[
{
"operator":"excludes",
"left":[
"青岛市",
"长沙市",
"重庆市"
],
"right":"city",
"defaultResult":false
},
{
"operator":"contains",
"left":[
"2G",
"4G",
"WIFI"
],
"right":"netType",
"defaultResult":false
},
{
"operator":"contains",
"left":[
"phone4",
"plusx"
],
"right":"mobileModel",
"defaultResult":false
},
{
"operator":"vLimitOut",
"exclusive":true,
"defaultResult":true,
"left":{
"lower":"12.0",
"upper":"17.0"
},
"right":"osVersion"
}
],
"defaultResult":false
}
根据 ID 获取任务详情
请求 - GetMcubeNebulaTaskDetailRequest
名称 | 类型 | 说明 |
taskId | Long | 想要查询的任务 ID 主键 |
返回值 - GetMcubeNebulaTaskDetailResponse
{
"getMcubeNebulaTaskDetailResult":{
"nebulaTaskDetail":{
"appCode":"ONEX97C5D29290957-default",
"appId":"",
"atomic":0,
"baseInfoId":0,
"bizType":"nebula",
"creator":"",
"cronexpress":0,
"downloadUrl":"https://pre-mpaas.cn-hangzhou.oss.aliyuncs.com/ONEX97C5D29290957-default/12345678/1.0.0.1_all/nebula/12345678_1.0.0.1.amr;https://pre-mpaas.cn-hangzhou.oss.aliyuncs.com/ONEX97C5D29290957-default/12345678/1.0.0.1_all/nebula/12345678_1.0.0.1.amr",
"extraData":"{"resourceType":"1"}",
"fileSize":"0",
"fullRepair":0,
"gmtCreate":"2021-02-01 14:16:58",
"gmtModified":"2021-02-01 14:16:58",
"gmtModifiedStr":"2021-02-01 14:16:58",
"greyConfigInfo":"",
"greyEndtimeData":"",
"greyNum":0,
"greyUrl":"",
"id":6664,
"issueDesc":"",
"memo":"test",
"modifier":"",
"ossPath":"",
"packageId":4154,
"percent":0,
"platform":"all",
"productId":"ONEX97C5D29290957-default-12345678",
"productVersion":"1.0.0.1",
"publishMode":4,
"publishPeriod":3,
"publishType":3,
"quickRollback":0,
"releaseVersion":"20210201141121",
"ruleJsonList":[
],
"sourceId":"",
"sourceName":"",
"sourceType":"",
"status":1,
"syncResult":"",
"syncType":0,
"taskName":"12345678",
"taskStatus":1,
"taskType":0,
"taskVersion":1612160218556,
"upgradeNoticeNum":0,
"upgradeProgress":"",
"whitelistIds":"",
"workspaceId":""
},
"resultMsg":"",
"success":true
},
"requestId":"072AE251-B9F8-4A44-A621-9F0325EECC1E",
"resultCode":"OK"
}
返回值说明
名称 | 类型 | 说明 |
appCode | String | appId+workspaceId |
appId | String | 没有使用 |
atomic | Integer | 1 为原子包, 0 为组合包,目前可以忽略 |
baseInfoId | Long | 关联的基础信息的主键 ID,可以忽略 |
bizType | String | 离线包为 |
bundles | List | 没有使用 |
creator | String | 没有使用 |
cronexpress | Integer | iOS 使用 0,表示执行一次,1 表示执行多次 |
downloadUrl | String | 下载地址。分号前半部分为内网地址,后半部分为公网地址 |
extraData | String | JSON 字符串,扩展数据 |
fileSize | String | 文件大小 |
gmtCreate | Date | 创建时间 |
gmtModified | Date | 更新时间 |
greyConfigInfo | String | 高级规则字符串 |
greyEndTime | Date | 时间窗灰度结束时间 |
greyEndtimeData | String | 时间窗灰度发布结束时间字符串 |
id | Long | 主键 ID |
issueDesc | String | 问题描述,目前没有使用 |
mds | String | 文件的 md5 值 |
memo | String | 发布描述 |
modifier | String | 修改者,没有使用 |
ossPath | String | 离线包没有使用 |
packageId | Long | 发布任务对应的离线资源包 ID |
percent | Integer | 发布百分比,离线包没有使用 |
platform | String | 发布平台,值可以是 all、iOS、Android 或 Harmony。 |
product_id | String | 格式为“appId+workspaceId + H5Appid” |
productVersion | String | 离线资源包的版本 |
resIds | String | 离线资源包的 ID |
ruleJsonList | List | 发布高级规则的对象形式,按照上面的字符串形式使用即可 |
sourceId | String | 来源 ID,离线包没有使用 |
sourceName | String | 离线包没有使用 |
sourceType | String | 来源类型,离线包没有使用 |
status | Integer | 状态:
|
syncResult | String | 离线包目前没有使用 |
syncType | String | 离线包没有使用 |
taskName | String | 任务名称 |
taskStatus | Integer | 任务状态。
|
taskType | Integer | 任务类型
|
taskVersion | Long | 发布版本号,是创建发布的当前时间戳 |
upgradeNoticeNum | Integer | 目前没有使用 |
upgradeProgress | String | 目前没有使用 |
vmType | String | Android 虚拟机类型,逗号分隔。
|
whitelist | List | 离线包发布任务的白名单信息。详情请参考 白名单管理。 |
修改离线包任务状态
请求 - ChangeMcubeNebulaTaskStatusRequest
名称 | 类型 | 说明 |
bizType | String | 传 nebula |
packageId | Long | 任务对应的离线资源包的 ID |
taskId | Long | 当前发布任务的 ID |
taskStatus | Integer | 需要改变到的状态。
|
返回值 - ChangeMcubeNebulaTaskStatusResponse
{
"changeMcubeNebulaTaskStatusResult":{
"resultMsg":"",
"success":true
},
"requestId":"595F4CB4-ACFE-4A5B-AF5B-4ED837CAEF95",
"resultCode":"OK"
}