接口设计

文档中介绍了appstore-be模块的接口设计详情,共有六个部分,分别对应于app管理、包管理、评论管理、应用推送、仓库管理、消息中心。

1. 应用

应用是应用商店基本的发布单位。

1.1 获取应用列表

根据入参查询应用列表。

URI: /mec/appstore/v1/apps
METHOD: GET

请求参数:

名称

描述

IN

必选

name

应用名

request param

yes

provider

应用提供商

request param

yes

type

应用类型

request param

yes

affinity

架构

request param

yes

userId

应用创建人

request param

yes

响应示例:

200 OK
[
  {
    "appId": "string",
    "iconUrl": "string",
    "name": "string",
    "provider": "string",
    "type": "string",
    "shortDesc": "string",
    "createTime": "string",
    "details": "string",
    "downloadCount": 0,
    "affinity": "string",
    "industry": "string",
    "contact": "string",
    "score": 0,
    "userId": "string",
    "userName": "string",
    "status": "string",
    "showType": "string",
    "deployMode": "string",
    "hotApp": false
  }
]

1.2 获取应用

根据应用ID获取应用详细信息。

URI: /mec/appstore/v1/apps/{appId}
METHOD: GET

名称

描述

IN

必选

appId

app id

path

yes

响应示例:

200 OK
  {
    "appId": "string",
    "iconUrl": "string",
    "name": "string",
    "provider": "string",
    "type": "string",
    "shortDesc": "string",
    "createTime": "string",
    "details": "string",
    "downloadCount": 0,
    "affinity": "string",
    "industry": "string",
    "contact": "string",
    "score": 0,
    "userId": "string",
    "userName": "string"
    "status": "string",
    "showType": "string",
    "deployMode": "string",
    "hotApp": false
  }

1.3 注册应用

注册应用。

URI: /mec/appstore/v1/apps
METHOD: POST

名称

描述

IN

必选

userId

用户ID

request param

yes

userName

用户名

request param

yes

file

应用包文件

request body form

yes

icon

应用图标文件

request body form

yes

demoVideo

应用视频文件

request body form

no

type

应用类型

request body form

yes

shortDesc

应用简述

request body form

yes

affinity

架构

request body form

yes

industry

应用所属行业

request body form

yes

testTaskId

测试任务id

request body form

no

showType

显示类型:public、inner-public、private

request body form

no

响应示例:

200 OK
  {
    "appName": "string",
    "appId": "string",
    "packageId": "string",
    "provider": "string",
    "version": "string"
  }

1.4 删除应用

根据应用ID删除应用。

URI: /mec/appstore/v1/apps/{appId}
METHOD: DELETE

名称

描述

IN

必选

userId

用户ID

request param

yes

userName

应用名

request param

yes

appId

应用ID

path

yes

响应示例:

200 OK
  "delete App success."

1.5 获取应用图标

根据应用ID获取应用图标。

URI: /mec/appstore/v1/apps/{appId}/icon
METHOD: GET

名称

描述

IN

必选

appId

应用ID

path

yes

响应示例:

200 OK
  binary output.

1.6 分片上传应用包

分片上传应用包。

URI: /mec/appstore/v1/apps/upload
METHOD: POST

名称

描述

IN

必选

id

分包ID

request body form

no

chunkNumber

当前文件块编号

request body form

yes

chunkSize

分块大小

request body form

no

currentChunkSize

当前分块大小

request body form

no

totalSize

总大小

request body form

no

identifier

文件表示

request body form

yes

filename

文件名

request body form

no

relativePath

文件相对路径

request body form

no

totalChunks

总块数

request body form

no

type

文件类型

request body form

no

file

文件

request body form

yes

响应示例:

200 OK
  {
    "upload package block success"
  }

1.7 合并应用包

合并应用包。

URI: /mec/appstore/v1/apps/merge
METHOD: GET

名称

描述

IN

必选

fileName

文件名

request param

yes

guid

文件标识

request param

yes

响应示例:

200 OK
  {
    "file address"
  }

1.8 注册虚机应用

注册虚机应用。

URI: /mec/appstore/v1/apps/vm-register
METHOD: POST

名称

描述

IN

必选

userId

用户ID

request param

yes

userName

应用名

request param

yes

fileAddress

应用包文件相对路径

request body form

yes

icon

应用图标文件

request body form

yes

demoVideo

应用视频文件

request body form

no

type

应用类型

request body form

yes

shortDesc

应用简述

request body form

yes

affinity

架构

request body form

yes

industry

应用所属行业

request body form

yes

testTaskId

测试任务id

request body form

no

showType

显示类型:public、inner-public、private

request body form

no

响应示例:

200 OK
  {
    "appName": "string",
    "appId": "string",
    "packageId": "string",
    "provider": "string",
    "version": "string"
  }

1.9 获取应用视频

根据应用ID获取应用视频。

URI: /mec/appstore/v1/apps/{appId}/demoVideo
METHOD: GET

名称

描述

IN

必选

appId

应用ID

path

yes

响应示例:

200 OK
  binary output.

1.10 修改热门应用

根据应用ID更改应用是否为热门应用。

URI: /mec/appstore/v2/apps/hotapps
METHOD: PUT

名称

描述

IN

必选

appId

应用ID

path

yes

响应示例:

200 OK
  set hot apps success.

1.11 获取应用列表-v2

分页查询应用列表。

URI: /mec/appstore/v2/apps/action/query
METHOD: POST

请求参数:

名称

描述

IN

必选

QueryAppReqDto

查询应用条件

request body

yes

QueryAppReqDto

字段名

描述

字段类型

必选

types

应用类型

List

no

showType

应用显示类型

List

no

affinity

应用架构

List

no

industry

应用行业

List

no

workloadType

应用负载类型

List

no

userId

用户Id

String

no

queryCtrl

查询条件

QueryAppCtrlDto

yes

QueryAppCtrlDto

字段名

描述

字段类型

必选

limit

分页查询每页查询数量[1,500]

int

yes

offset

分页查询起始页,从0开始

int

yes

sortItem

查询排序字段

String

no

sortType

查询排序方式升序/降序

String

no

status

应用状态

List

no

appName

应用名称

String

no

响应示例:

200 OK
{
    "results": [
        {
            "appId": "string",
            "packageId": "string",
            "iconUrl": "string",
            "name": "string",
            "provider": "string",
            "type": "string",
            "shortDesc": "string",
            "showType": "string",
            "createTime": "string",
            "details": "string",
            "downloadCount": int,
            "affinity": "string",
            "industry": "string",
            "contact": "string",
            "score": 5.0,
            "userId": "string",
            "userName": "string",
            "status": "string",
            "deployMode": "string",
            "hotApp": false,
            "exprienceAble": false
        }
    ],
    "limit": 1,
    "offset": 0,
    "total": 9
}

1.12 获取应用-v2

根据应用ID获取应用详细信息。

URI: /mec/appstore/v2/apps/{appId}
METHOD: GET

名称

描述

IN

必选

appId

app id

path

yes

响应示例:

200 OK
  {
    "data":  {
        "appId": "string",
        "iconUrl": "string",
        "name": "string",
        "provider": "string",
        "type": "string",
        "shortDesc": "string",
        "showType": "string",
        "createTime": "string",
        "details": "string",
        "downloadCount": int,
        "affinity": "string",
        "industry": "string",
        "contact": "string",
        "score": 5.0,
        "userId": "string",
        "userName": "string",
        "status": "string",
        "deployMode": "string",
        "hotApp": false
    },
    "retCode": 0,
    "params": "[string]",
    "message": "string"
}

1.13 注册应用-v2

注册应用。

URI: /mec/appstore/v2/apps
METHOD: POST

名称

描述

IN

必选

userId

用户ID

request param

yes

userName

应用名

request param

yes

file

应用包文件

request body form

yes

icon

应用图标文件

request body form

yes

demoVideo

应用视频文件

request body form

no

type

应用类型

request body form

yes

shortDesc

应用简述

request body form

yes

affinity

架构

request body form

yes

industry

应用所属行业

request body form

yes

testTaskId

测试任务id

request body form

no

showType

显示类型:public、inner-public、private

request body form

no

响应示例:

200 OK
  {
    "data": {
        "appName": "string",
        "appId": "string",
        "packageId": "string",
        "provider": "string",
        "version": "string"
    },
    "retCode": 0,
    "params": "[string]",
    "message": "string"
  }

2. 应用包

应用包属于应用,每个应用包含至少一个应用包。

2.1 通过应用ID获取应用包列表

通过应用ID获取应用包列表。

URI: /mec/appstore/v1/apps/{appId}/packages
METHOD: GET

名称

描述

IN

必选

appId

应用ID

path

yes

userId

用户ID

request param

yes

access_token

请求token

request header

yes

响应示例:

200 OK
[
  {
    "packageId": "string",
    "userName": "string",
    "status": "string",
    "shortDesc": "string",
    "provider": "string",
    "testTaskId": "string",
    "size": "string",
    "format": "string",
    "createTime": "string",
    "name": "string",
    "version": "string",
    "type": "string",
    "details": "string",
    "affinity": "string",
    "industry": "string",
    "contact": "string",
    "appId": "string",
    "userId": "string",
    "showType": "string",
    "deployMode": "string"
  }
]

2.2 获取应用包

通过应用ID和应用包ID获取应用包。

URI: /mec/appstore/v1/apps/{appId}/packages/{packageId}
METHOD: GET

名称

描述

IN

必选

appId

应用ID

path

yes

packageId

应用包ID

path

yes

响应示例:

200 OK
  {
    "packageId": "string",
    "userName": "string",
    "status": "string",
    "shortDesc": "string",
    "provider": "string",
    "testTaskId": "string",
    "size": "string",
    "format": "string",
    "createTime": "string",
    "name": "string",
    "version": "string",
    "type": "string",
    "details": "string",
    "affinity": "string",
    "industry": "string",
    "contact": "string",
    "appId": "string",
    "userId": "string",
    "showType": "string",
    "deployMode": "string"
  }

2.3 删除应用包

通过应用ID和应用包ID删除应用包。

URI: /mec/appstore/v1/apps/{appId}/packages/{packageId}
METHOD: DELETE

名称

描述

IN

必选

userId

用户Id

request param

yes

userName

用户名

request param

yes

appId

应用ID

path

yes

packageId

应用包ID

path

yes

响应示例:

200 OK
   delete package success.

2.4 下载应用包

通过应用ID和应用包ID下载应用包。

URI: /mec/appstore/v1/apps/{appId}/packages/{packageId}/action/download
METHOD: GET

名称

描述

IN

必选

appId

应用ID

path

yes

packageId

应用包ID

path

yes

响应示例:

200 OK
  binary output.

2.5 获取文件内容

通过应用ID和应用包ID以及文件路径获取应用包中文件内容。

URI: /mec/appstore/v1/apps/{appId}/packages/{packageId}/files
METHOD: POST

名称

描述

IN

必选

packageId

package id

path

yes

filePath

file path

request body

yes

appId

应用ID

path

yes

响应示例:

200 OK
  file content output.

2.6 应用发布

通过应用ID和应用包ID发布应用。

URI: /mec/appstore/v1/apps/{appId}/packages/{packageId}/action/publish
METHOD: POST

名称

描述

IN

必选

appId

应用ID

path

yes

packageId

应用包ID

path

yes

isFree

是否免费

request body

no

price

应用定价信息

request body

no

响应示例:

200 OK
  Publish Success.

2.7 应用测试

通过应用ID和应用包ID测试应用。

URI: /mec/appstore/v1/apps/{appId}/packages/{packageId}/action/test
METHOD: POST

名称

描述

IN

必选

appId

应用ID

path

yes

packageId

应用包ID

path

yes

access_token

请求token

request header

yes

响应示例:

200 OK
  {
  "atpTaskId": "string",
  "status": "string"
  }

2.8 获取应用包列表

通过用户ID获取应用包列表。

URI: /mec/appstore/v1/packages
METHOD: GET

名称

描述

IN

必选

ueserId

用户id

request param

yes

access_token

请求token

request header

yes

响应示例:

200 OK
[
  {
    "packageId": "string",
    "userName": "string",
    "status": "string",
    "shortDesc": "string",
    "provider": "string",
    "testTaskId": "string",
    "size": "string",
    "format": "string",
    "createTime": "string",
    "name": "string",
    "version": "string",
    "type": "string",
    "details": "string",
    "affinity": "string",
    "industry": "string",
    "contact": "string",
    "appId": "string",
    "userId": "string",
    "showType": "string",
    "deployMode": "string"
  }
]

2.9 修改应用

通过应用ID和应用包ID修改应用。

URI: /mec/appstore/v1/apps/{appId}/package/{packageId}
METHOD: PUT

名称

描述

IN

必选

appId

应用ID

path

yes

packageId

应用包ID

path

yes

industry

应用行业

request body form

no

type

应用类型

request body form

no

icon

应用图标

request body form

no

video

应用视频

request body form

no

affinity

应用架构

request body form

no

shortDesc

应用描述

request body form

no

showType

应用显示类型

request body form

no

响应示例:

200 OK
  {
    "packageId": "string",
    "userName": "string",
    "status": "string",
    "shortDesc": "string",
    "provider": "string",
    "testTaskId": "string",
    "size": "string",
    "format": "string",
    "createTime": "string",
    "name": "string",
    "version": "string",
    "type": "string",
    "details": "string",
    "affinity": "string",
    "industry": "string",
    "contact": "string",
    "appId": "string",
    "userId": "string",
    "showType": "string",
    "deployMode": "string"
  }

2.10 应用发布-v2

通过应用ID和应用包ID发布应用。

URI: /mec/appstore/v2/apps/{appId}/packages/{packageId}/action/publish
METHOD: POST

名称

描述

IN

必选

appId

应用ID

path

yes

packageId

应用包ID

path

yes

isFree

是否免费

request body

no

price

应用定价信息

request body

no

响应示例:

200 OK
  Publish Success.
  {
    "data": "Publish Success",
    "retCode": 0,
    "params": "[string]",
    "message": "string"
  }

2.11 通过应用ID获取应用包列表-v2

通过应用ID分页查询应用包列表。

URI: /mec/appstore/v2/apps/{appId}/packages
METHOD: GET

名称

描述

IN

必选

appId

应用ID

path

yes

userId

用户ID

request param

yes

access_token

请求token

request header

yes

limit

分页查询每页查询数量,建议设置较大值,一次性查询完该应用的所有应用包

request param

yes

offset

分页查询起始页,从0开始

request param

yes

响应示例:

200 OK
[
  {
    "packageId": "string",
    "userName": "string",
    "status": "string",
    "shortDesc": "string",
    "provider": "string",
    "testTaskId": "string",
    "size": "string",
    "format": "string",
    "createTime": "string",
    "name": "string",
    "version": "string",
    "type": "string",
    "details": "string",
    "affinity": "string",
    "industry": "string",
    "contact": "string",
    "appId": "string",
    "userId": "string",
    "showType": "string",
    "deployMode": "string"
  }
]

2.12 获取应用包-v2

通过应用ID和应用包ID获取应用包。

URI: /mec/appstore/v2/apps/{appId}/packages/{packageId}
METHOD: GET

名称

描述

IN

必选

appId

应用ID

path

yes

packageId

应用包ID

path

yes

响应示例:

200 OK
  {
    "data":
    {
        "packageId": "string",
        "userName": "string",
        "status": "string",
        "shortDesc": "string",
        "provider": "string",
        "testTaskId": "string",
        "size": "string",
        "format": "string",
        "createTime": "string",
        "name": "string",
        "version": "string",
        "type": "string",
        "details": "string",
        "affinity": "string",
        "industry": "string",
        "contact": "string",
        "appId": "string",
        "userId": "string",
        "showType": "string",
        "deployMode": "string"
    },
    "retCode": 0,
    "params": "[string]",
    "message": "string"
  }

2.13 获取应用包列表-v2

分页获取应用包列表。

URI: /mec/appstore/v2/packages/action/query
METHOD: POST

请求参数:

名称

描述

IN

必选

QueryAppCtrlDto

查询应用条件

request body

yes

access_token

请求token

request header

yes

QueryAppCtrlDto

字段名

描述

字段类型

必选

limit

分页查询每页查询数量[1,500]

int

yes

offset

分页查询起始页,从0开始

int

yes

sortItem

查询排序字段

String

no

sortType

查询排序方式升序/降序

String

no

status

应用状态

List

no

appName

应用名称

String

no

响应示例:

200 OK
{
    "results": [
        {
            "packageId": "string",
            "size": "string",
            "format": "string",
            "createTime": "string",
            "name": "string",
            "version": "string",
            "type": "string",
            "details": "string",
            "affinity": "string",
            "industry": "string",
            "contact": "string",
            "appId": "string",
            "userId": "string",
            "userName": "string",
            "status": "string",
            "shortDesc": "string",
            "showType": "string",
            "testTaskId": "string",
            "provider": "string",
            "demoVideoName": "string",
            "deployMode": "string"
        }
    ],
    "limit": 1,
    "offset": 0,
    "total": 12
}

2.14 根据创建时间区间获取应用包列表-v2

根据创建时间区间分页获取应用包列表。

URI: /mec/appstore/v2/packages
METHOD: GET

名称

描述

IN

必选

offset

分页查询起始页,从0开始

request param

yes

limit

分页查询每页查询数量[1,500]

request param

yes

startTime

应用创建时间的起始时间

request param

no

endTime

应用创建时间的终止时间

request param

no

响应示例:

200 OK
{
    "results": [
        {
            "packageId": "string",
            "size": "string",
            "format": "string",
            "createTime": "string",
            "name": "string",
            "version": "string",
            "type": "string",
            "details": "string",
            "affinity": "string",
            "industry": "string",
            "contact": "string",
            "appId": "string",
            "userId": "string",
            "userName": "string",
            "status": "string",
            "shortDesc": "string",
            "showType": "string",
            "testTaskId": "string",
            "provider": "string",
            "demoVideoName": "string",
            "deployMode": "string"
        }
    ],
    "limit": 1,
    "offset": 0,
    "total": 12
}

2.15 下载应用图标

通过应用ID和应用包ID下载应用图标。

URI: /mec/appstore/v1/apps/{appId}/packages/{packageId}/icon
METHOD: GET

名称

描述

IN

必选

appId

应用ID

path

yes

packageId

应用包ID

path

yes

响应示例:

200 OK
  binary output.

2.16 应用下架

通过应用ID和应用包ID下架应用。

URI: /mec/appstore/v1/apps/{appId}/packages/{packageId}/action/unpublish
METHOD: POST
名称 描述 IN 必选
appId 应用ID path yes
packageId 应用包ID path yes
userId 用户Id request param yes
userName 用户名 request param yes

响应示例:

200 OK
  Unpublish Success.

3. 评论

用户可以评论应用.

3.1 获取评论列表

根据应用ID获取应用的评论列表。

URI: /mec/appstore/v1/apps/{appId}/comments
METHOD: GET

名称

描述

IN

必选

appId

应用ID

path

yes

响应示例:

200 OK
[
  {
    "commentId": 0,
    "user": {
      "userId": "string",
      "userName": "string",
      "permissions": [
        {
          "platform": "string",
          "role": "string",
          "pageIds": [
            "string"
          ]
        }
      ],
      "company": "string",
      "gender": "string",
      "telephone": "string"
    },
    "appId": "string",
    "body": "string",
    "score": 0,
    "commentTime": "string"
  }
]

3.2 提交评论

用户根据应用ID提交应用评分及评论。

URI: /mec/appstore/v1/apps/{appId}/comments
METHOD: POST

名称

描述

IN

必选

userId

用户ID

request param

yes

userName

应用名

request param

yes

appId

应用ID

path

yes

entity

评论内容和打分

request body

yes

entity请求体示例:

{
  "body": "string",
  "score": 0
}

响应示例:

200 OK
 "comments success."

3.3 获取评论列表-v2

根据应用ID分页获取应用的评论列表。

URI: /mec/appstore/v2/apps/{appId}/comments
METHOD: GET

名称

描述

IN

必选

appId

应用ID

path

yes

offset

分页查询起始页,从0开始

request param

yes

limit

分页查询每页查询数量[1,500]

request param

yes

响应示例:

200 OK
{
    "results": [
        {
            "commentId": 0,
            "user": {
                "userId": "string",
                "userName": "string",
                "permissions": [
                    {
                        "platform": "string",
                        "role": "string",
                        "pageIds": [
                            "string"
                        ]
                    }
                ],
                "company": "string",
                "gender": "string",
                "telephone": "string"
            },
            "appId": "string",
            "body": "string",
            "score": 0,
            "commentTime": "string"
        }
    ],
    "limit": 1,
    "offset": 0,
    "total": 1
}

4. 应用推送

用户可以推送应用到运营商或第三方。

4.1 查询可推送应用列表

查询可推送的应用列表。

URI: /mec/appstore/v1/packages/pushable
METHOD: GET

响应示例:

200 OK
[
  {
    "appId": "string",
    "packageId": "string",
    "name": "string",
    "provider": "string",
    "version": "string",
    "atpTestStatus": "string",
    "atpTestTaskId": "string",
    "atpTestReportUrl": "string",
    "latestPushTime": "string",
    "pushTimes": "string",
    "targetPlatform": "string",
    "affinity": "string",
    "shortDesc": "string",
    "industry": "string",
    "type": "string",
    "createTime": "string"
  }
]

4.2 获取推送应用包

根据packageId获取推送应用包。

URI: /mec/appstore/v1/packages/{packageId}/pushable
METHOD: GET

名称

描述

IN

必选

packageId

应用包ID

path

yes

响应示例:

200 OK
[
  {
    "appId": "string",
    "packageId": "string",
    "name": "string",
    "provider": "string",
    "version": "string",
    "atpTestStatus": "string",
    "atpTestTaskId": "string",
    "atpTestReportUrl": "string",
    "latestPushTime": "string",
    "pushTimes": "string",
    "targetPlatform": "string",
    "affinity": "string",
    "shortDesc": "string",
    "industry": "string",
    "type": "string",
    "createTime": "string"
  }
]

4.3 推送应用包

根据packageId推送应用包。

URI: /mec/appstore/v1/packages/{packageId}/action/push
METHOD: POST

名称

描述

IN

必选

packageId

应用包ID

path

yes

dto

运营商列表

request param

yes

响应示例:

200 OK
  [true, false, true]

4.4 下载推送应用包

根据packageId下载推送应用包。

URI: /mec/appstore/v1/packages/{packageId}/action/download-package
METHOD: GET

名称

描述

IN

必选

packageId

应用包ID

path

yes

响应示例:

200 OK
  binary output.

4.5 下载推送应用图标

根据packageId下载推送应用图标。

URI: /mec/appstore/v1/packages/{packageId}/action/download-icon
METHOD: GET

名称

描述

IN

必选

packageId

应用包ID

path

yes

响应示例:

200 OK
  binary output.

4.6 查询可推送应用列表-v2

分页查询可推送的应用列表。

URI: /mec/appstore/v2/packages/pushable
METHOD: GET

名称

描述

IN

必选

limit

分页查询每页查询数量[1,500]

request param

yes

offset

分页查询起始页,从0开始

request param

yes

sortItem

查询排序字段

request param

no

sortType

查询排序方式,升序/降序

request param

no

appName

应用名称

request param

no

响应示例:

200 OK
{
    "results": [
        {
            "appId": "string",
            "packageId": "string",
            "name": "string",
            "provider": "string",
            "version": "string",
            "atpTestStatus": "string",
            "atpTestTaskId": "string",
            "atpTestReportUrl": "string",
            "latestPushTime": "string",
            "pushTimes": 2,
            "sourcePlatform": "string",
            "targetPlatform": "string",
            "affinity": "string",
            "shortDesc": "string",
            "industry": "string",
            "type": "string",
            "createTime": "string",
            "deployMode": "string"
        }
    ],
    "limit": 1,
    "offset": 0,
    "total": 9
}

5. 仓库管理

对应用仓库的增删改查。

5.1 添加仓库

新增外部应用仓库。

URI: /mec/appstore/v1/appstores
METHOD: POST

名称

描述

IN

必选

appStoreName

仓库名称

request param

yes

appStoreVersion

仓库版本

request param

yes

company

公司名称

request param

yes

url

访问地址

request param

yes

schema

访问协议

request param

no

appPushIntf

推送方式

request param

no

appdTransId

转换器id

request param

yes

description

描述

request param

no

响应示例:

200 OK
  {
    "appStoreId": "string",
    "appStoreName": "string",
    "appStoreVersion": "string",
    "company": "string",
    "url": "string",
    "schema": "string",
    "appPushIntf": "string",
    "appdTransId": "string",
    "description": "string",
    "addedTime": "string",
    "modifiedTime": "string"
  }

5.2 删除仓库

删除外部应用仓库。

URI: /mec/appstore/v1/appstores/{appStoreId}
METHOD: DELETE

名称

描述

IN

必选

appStoreId

仓库id

path

yes

响应示例:

200 OK
  delete success

5.3 修改仓库

修改外部应用仓库。

URI: /mec/appstore/v1/appstores/{appStoreId}
METHOD: PUT

名称

描述

IN

必选

appStoreId

仓库名称

path

yes

appStoreName

仓库名称

request param

yes

appStoreVersion

仓库版本

request param

yes

company

公司名称

request param

yes

url

访问地址

request param

yes

schema

访问协议

request param

no

appPushIntf

推送方式

request param

no

appdTransId

转换器id

request param

yes

description

描述

request param

no

响应示例:

200 OK
  {
    "appStoreId": "string",
    "appStoreName": "string",
    "appStoreVersion": "string",
    "company": "string",
    "url": "string",
    "schema": "string",
    "appPushIntf": "string",
    "appdTransId": "string",
    "description": "string",
    "addedTime": "string",
    "modifiedTime": "string"
  }

5.4 查询仓库列表

查询外部应用仓库列表。

URI: /mec/appstore/v1/appstores
METHOD: GET

名称

描述

IN

必选

appStoreName

仓库名称

request param

yes

company

公司名称

request param

yes

响应示例:

200 OK
[
  {
    "appStoreId": "string",
    "appStoreName": "string",
    "appStoreVersion": "string",
    "company": "string",
    "url": "string",
    "schema": "string",
    "appPushIntf": "string",
    "appdTransId": "string",
    "description": "string",
    "addedTime": "string",
    "modifiedTime": "string"
  }
]

5.5 查询仓库

查询外部应用仓库。

URI: /mec/appstore/v1/appstores/{appStoreId}
METHOD: GET

名称

描述

IN

必选

appStoreId

仓库名称

path

yes

响应示例:

200 OK
  {
    "appStoreId": "string",
    "appStoreName": "string",
    "appStoreVersion": "string",
    "company": "string",
    "url": "string",
    "schema": "string",
    "appPushIntf": "string",
    "appdTransId": "string",
    "description": "string",
    "addedTime": "string",
    "modifiedTime": "string"
  }

5.6 分页查询仓库列表-v2

分页查询外部应用仓库列表。

URI: /mec/appstore/v2/appstores
METHOD: GET

名称

描述

IN

必选

appStoreName

仓库名称

request param

yes

company

公司名称

request param

yes

limit

分页查询每页查询数量[1,500]

request param

yes

offset

分页查询起始页,从0开始

request param

yes

响应示例:

200 OK
{
    "results": [
        {
            "appStoreId": "string",
            "appStoreName": "string",
            "appStoreVersion": "string",
            "company": "string",
            "url": "string",
            "schema": "string",
            "appPushIntf": "string",
            "appdTransId": "string",
            "description": "string",
            "addedTime": "string",
            "modifiedTime": "string"
        }
    ],
    "limit": 1,
    "offset": 0,
    "total": 2
}

6. 消息

消息包含应用推送、下载、通知等信息。

6.1 添加消息

新增一条消息。

URI: /mec/appstore/v1/messages
METHOD: POST

名称

描述

IN

必选

basicInfo

基本信息

request param

yes

sourceAppStore

源AppStore

request param

yes

targetAppStore

目标AppStore

request param

yes

atpTestStatus

ATP测试结果

request param

yes

atpTestTaskId

ATP测试任务Id

request param

yes

atpTestReportUrl

ATP测试报告

request param

yes

packageDownloadUrl

应用包下载地址

request param

yes

iconDownloadUrl

应用图标下载地址

request param

yes

响应示例:

200 OK
  add a message success

6.2 获取所有消息

根据消息类型获取消息。

URI: /mec/appstore/v1/messages
METHOD: GET

名称

描述

IN

必选

messageType

消息类型

request param

no

响应示例:

200 OK
[
  {
    "messageId": "string",
    "basicInfo": {
      "name": "string",
      "provider": "string",
      "version": "string",
      "affinity": "string",
      "shortDesc": "string",
      "industry": "string",
      "type": "string"
    },
    "messageType": "string",
    "sourceAppStore": "string",
    "targetAppStore": "string",
    "time": "string",
    "description": "string",
    "atpTestStatus": "string",
    "atpTestTaskId": "string",
    "atpTestReportUrl": "string",
    "iconDownloadUrl": "string",
    "readed": true
  }
]

6.3 获取消息

根据message id获取消息。

URI: /mec/appstore/v1/messages/{messageId}
METHOD: GET

名称

描述

IN

必选

messageId

消息id

request param

yes

响应示例:

200 OK
  {
    "messageId": "string",
    "basicInfo": {
      "name": "string",
      "provider": "string",
      "version": "string",
      "affinity": "string",
      "shortDesc": "string",
      "industry": "string",
      "type": "string"
    },
    "messageType": "string",
    "sourceAppStore": "string",
    "targetAppStore": "string",
    "time": "string",
    "description": "string",
    "atpTestStatus": "string",
    "atpTestTaskId": "string",
    "atpTestReportUrl": "string",
    "iconDownloadUrl": "string",
    "readed": true
  }

6.4 删除消息

根据message id删除消息。

URI: /mec/appstore/v1/messages/{messageId}
METHOD: DELETE

名称

描述

IN

必选

messageId

消息id

request param

yes

响应示例:

200 OK
  delete success

6.5 接收消息

根据message id下载app相关信息。

URI: /mec/appstore/v1/messages/{messageId}/action/download
METHOD: GET

名称

描述

IN

必选

messageId

消息id

request param

yes

request

请求体

request param

yes

响应示例:

200 OK
  success

6.6 更新状态

根据message id更新消息状态。

URI: /mec/appstore/v1/messages/{messageId}/action/readed
METHOD: PUT

名称

描述

IN

必选

messageId

消息id

request param

yes

响应示例:

200 OK
  success

6.7 添加消息-v2

新增一条消息。

URI: /mec/appstore/v2/messages
METHOD: POST

名称

描述

IN

必选

basicInfo

基本信息

request param

yes

sourceAppStore

源AppStore

request param

yes

targetAppStore

目标AppStore

request param

yes

atpTestStatus

ATP测试结果

request param

yes

atpTestTaskId

ATP测试任务Id

request param

yes

atpTestReportUrl

ATP测试报告

request param

yes

packageDownloadUrl

应用包下载地址

request param

yes

iconDownloadUrl

应用图标下载地址

request param

yes

响应示例:

200 OK
  {
    "data": "add a message success",
    "retCode": 0,
    "params": "[string]",
    "message": "string"
  }

6.8 获取消息列表-v2

根据查询条件分页获取消息。

URI: /mec/appstore/v2/messages/action/query
METHOD: POST

请求参数:

名称

描述

IN

必选

QueryMessageReqDto

查询消息条件

request body

yes

QueryMessageReqDto

字段名

描述

字段类型

必选

messageType

消息类型

String

no

limit

分页查询每页查询数量[1,500]

int

yes

offset

分页查询起始页,从0开始

int

yes

sortItem

查询排序字段

String

no

sortType

查询排序方式,升序/降序

String

no

appName

应用名称

String

no

timeFlag

消息时间标志,枚举值有:今天、一周内、一月内、更早

enum

no

allMessage

是否获取所有消息

boolean

yes

readable

不获取所有消息时,获取已读/未读消息

boolean

yes

响应示例:

200 OK
{
    "results": [
        {
            "messageId": "string",
            "basicInfo": {
                "name": "string",
                "provider": "string",
                "version": "string",
                "affinity": "string",
                "shortDesc": "string",
                "industry": "string",
                "type": "string"
            },
            "messageType": "string",
            "sourceAppStore": "string",
            "targetAppStore": "string",
            "time": "string",
            "description": "string",
            "atpTestStatus": "string",
            "atpTestTaskId": "string",
            "atpTestReportUrl": "string",
            "iconDownloadUrl": "string",
            "readed": true
        }
    ],
    "limit": 8,
    "offset": 0,
    "total": 2
}

7. 应用拉取

用户可以从运营商或第三方仓库拉取应用。

7.1 查询可拉取应用列表

查询可拉取的应用列表。

URI: /mec/appstore/v1/packages/pullable
METHOD: GET

响应示例:

200 OK
[
  {
    "appId": "string",
    "packageId": "string",
    "name": "string",
    "provider": "string",
    "version": "string",
    "atpTestStatus": "string",
    "atpTestTaskId": "string",
    "atpTestReportUrl": "string",
    "latestPushTime": "string",
    "pushTimes": "string",
    "targetPlatform": "string",
    "affinity": "string",
    "shortDesc": "string",
    "industry": "string",
    "type": "string",
    "createTime": "string"
  }
]

7.2 获取外部应用仓库可拉取应用列表

根据platfromId获取外部仓库可拉取应用列表。

URI: /mec/appstore/v1/packages/{platformId}/pullable
METHOD: GET

名称

描述

IN

必选

platformId

外部应用仓库ID

path

yes

响应示例:

200 OK
[
  {
    "appId": "string",
    "packageId": "string",
    "name": "string",
    "provider": "string",
    "version": "string",
    "atpTestStatus": "string",
    "atpTestTaskId": "string",
    "atpTestReportUrl": "string",
    "latestPushTime": "string",
    "pushTimes": "string",
    "targetPlatform": "string",
    "affinity": "string",
    "shortDesc": "string",
    "industry": "string",
    "type": "string",
    "createTime": "string"
  }
]

7.3 拉取应用包

根据packageId拉取应用包。

URI: /mec/appstore/v1/packages/{packageId}/action/pull
METHOD: POST

名称

描述

IN

必选

packageId

应用包ID

path

yes

PullAppReqDto

拉取请求结构

request body

yes

PullAppReqDto:

字段

描述

类型

必选

sourceStoreId

源仓库平台ID

string

yes

sourceStoreName

源仓库平台名称

string

yes

name

应用名称

string

yes

provider

应用供应商

string

yes

version

应用版本

string

yes

atpTestStatus

应用测试状态

string

yes

affinity

应用架构

string

yes

shortDesc

应用描述

string

yes

showType

应用显示类型

string

yes

industry

应用行业

string

yes

type

应用类型

string

yes

userId

用户ID

string

yes

userName

用户名称

string

yes

响应示例:

200 OK
  true

7.4 分页查询可拉取应用列表-v2

分页查询可拉取的应用列表。

URI: /mec/appstore/v2/packages/pullable
METHOD: GET

名称

描述

IN

必选

limit

分页查询每页查询数量[1,500]

request param

yes

offset

分页查询起始页,从0开始

request param

yes

sortItem

查询排序字段

request param

no

sortType

查询排序方式,升序/降序

request param

no

appName

应用名称

request param

no

响应示例:

200 OK
{
    "results": [
        {
            "appId": "string",
            "packageId": "string",
            "name": "string",
            "provider": "string",
            "version": "string",
            "atpTestStatus": "string",
            "atpTestTaskId": "string",
            "atpTestReportUrl": "string",
            "latestPushTime": "string",
            "pushTimes": "string",
            "targetPlatform": "string",
            "affinity": "string",
            "shortDesc": "string",
            "industry": "string",
            "type": "string",
            "createTime": "string"
        }
    ],
    "limit": 1,
    "offset": 0,
    "total": 2
}

7.5 获取外部应用仓库可拉取应用列表-v2

根据platfromId获取外部仓库可拉取应用列表。

URI: /mec/appstore/v2/packages/{platfromId}/pullable
METHOD: GET

名称

描述

IN

必选

platformId

外部应用仓库ID

path

yes

limit

分页查询每页查询数量[1,500]

request param

yes

offset

分页查询起始页,从0开始

request param

yes

sortItem

查询排序字段

request param

no

sortType

查询排序方式,升序/降序

request param

no

appName

应用名称

request param

no

响应示例:

200 OK
{
    "results": [
        {
            "appId": "string",
            "packageId": "string",
            "name": "string",
            "provider": "string",
            "version": "string",
            "atpTestStatus": "string",
            "atpTestTaskId": "string",
            "atpTestReportUrl": "string",
            "latestPushTime": "string",
            "pushTimes": "string",
            "targetPlatform": "string",
            "affinity": "string",
            "shortDesc": "string",
            "industry": "string",
            "type": "string",
            "createTime": "string"
        }
    ],
    "limit": 1,
    "offset": 0,
    "total": 2
}

8. 沙箱管理

管理沙箱环境。

8.1 查询沙箱环境列表

查询沙箱环境列表。

URI: /mec/appstore/v1/system/hosts
METHOD: GET

名称

描述

IN

必选

userId

用户ID

request param

no

name

沙箱环境名称

request param

no

ip

沙箱环境ip

request param

no

响应示例:

200 OK
[
  {
    "hostId": "string",
    "name": "string",
    "address": "string",
    "architecture": "string",
    "status": "NORMAL",
    "lcmIp": "string",
    "mecHost": "string",
    "protocol": "string",
    "port": 0,
    "os": "string",
    "parameter":"string",
    "portRangeMin": 0,
    "portRangeMax": 0
  }
]

8.2 查询沙箱环境

根据hostId查询沙箱环境。

URI: /mec/appstore/v1/system/hosts/{hostId}
METHOD: GET

名称

描述

IN

必选

hostId

沙箱环境id

path

yes

响应示例:

200 OK

 {
   "hostId": "string",
   "name": "string",
   "address": "string",
   "architecture": "string",
   "status": "NORMAL",
   "lcmIp": "string",
   "mecHost": "string",
   "protocol": "string",
   "port": 0,
   "os": "string",
   "parameter":"string",
   "portRangeMin": 0,
   "portRangeMax": 0
 }

8.3 添加沙箱环境

新增一个沙箱环境。

URI: /mec/appstore/v1/system/hosts
METHOD: POST

名称

描述

IN

必选

MepHost

沙箱管理请求结构体

request body

yes

MepHost
{
  "name": "string",
  "address": "string",
  "architecture": "string",
  "status": "NORMAL",
  "lcmIp": "string",
  "mecHost": "string",
  "protocol": "string",
  "port": 0,
  "os": "string",
  "parameter":"string",
  "portRangeMin": 0,
  "portRangeMax": 0
}

响应示例:

200 OK
true

8.4 删除沙箱环境

根据hostId删除沙箱环境。

URI: /mec/appstore/v1/system/hosts/{hostId}
METHOD: DELETE

名称

描述

IN

必选

hostId

沙箱环境id

path

yes

响应示例:

200 OK
true

8.5 修改沙箱环境

根据hostId修改沙箱环境。

URI: /mec/appstore/v1/system/hosts/{hostId}
METHOD: PUT

名称

描述

IN

必选

hostId

沙箱环境id

path

yes

MepHost

沙箱管理请求结构体

request body

yes

MepHost
{
  "hostId": "string",
  "name": "string",
  "address": "string",
:se  "architecture": "string",
  "status": "NORMAL",
  "lcmIp": "string",
  "mecHost": "string",
  "protocol": "string",
  "port": 0,
  "os": "string",
  "parameter":"string",
  "portRangeMin": 0,
  "portRangeMax": 0
}

响应示例:

200 OK
true

8.6 上传沙箱环境配置文件

上传沙箱环境配置文件。

URI: /mec/appstore/v1/system/host/files
METHOD: POST

名称

描述

IN

必选

uploadFile

上传文件

request body form

yes

userId

用户ID

request param

yes

响应示例:

200 OK
{
  "fileId": "string",
  "fileName": "string",
  "url": "string",
  "userId": "string",
  "uploadDate": "2020-09-14T09:03:17.084Z",
  "filePath": "string",
  "temp": false
}

9. 应用在线体验

可以在线体验应用

9.1 实例化应用

实例化应用,开始应用在线体验。

URI: /mec/appstore/v1/experience/deploy
METHOD: GET

名称

描述

IN

必选

appId

应用ID

request param

no

packageId

应用包ID

request param

no

userId

用户ID

request param

no

name

沙箱环境名称

request param

no

ip

沙箱环境ip

request param

no

响应示例:

200 OK
{
    "data": "[{"serviceName":"testApp","serviceName":"30258","mecHost":"127.0.0.1"}]",
    "retCode": 0,
    "params": "[string]",
    "message": "string"
}

9.2 释放资源

体验完成,释放资源。

URI: /mec/appstore/v1/experience/clean
METHOD: POST

名称

描述

IN

必选

packageId

应用包ID

request param

yes

userId

用户ID

request param

no

name

沙箱环境名称

request param

no

ip

沙箱环境ip

request param

no

响应示例:

200 OK
true

9.3 获取应用工作状态

获取应用工作状态。

URI: /mec/appstore/v1/experience/container/workStatus
METHOD: POST

名称

描述

IN

必选

packageId

应用包ID

request param

no

userId

用户ID

request param

no

name

沙箱环境名称

request param

no

ip

沙箱环境ip

request param

no

响应示例:

200 OK
{
    "data": "[{"serviceName":"testApp","serviceName":"30258","mecHost":"127.0.0.1"}]",
    "retCode": 0,
    "params": "[string]",
    "message": "string"
}

10. 应用变现

应用发布时可对应用定价,实现应用变现。

10.1 订购应用

创建订单。

URI: /mec/appstore/v1/orders
METHOD: POST

名称

描述

IN

必选

appId

APPID

request body

appPackageId

APP包ID

request body

appName

应用名称

request body

mecHostIp

边缘节点IP

request body

mecHostCity

边缘节点位置

request body

响应示例:

response 200 OK
{
  "data": {
      "orderId": "",
      "orderNum": "",
  },
  "retCode": 0,
  "params": ["", ""],
  "message": ""
}

10.2 退订应用

对订单进行退订操作。

URI: /mec/appstore/v1/orders/{orderId}/deactivation
METHOD: POST

名称

描述

IN

必选

orderId

订单ID

path param

响应示例:

response 200 OK
{
  "data": null,
  "retCode": 0,
  "params": ["", ""],
  "message": ""
}

10.3 激活订单

对订单进行激活操作。

URI: /mec/appstore/v1/orders/{orderId}/activation
METHOD: POST

名称

描述

IN

必选

orderId

订单ID

path param

响应示例:

response 200 OK
{
  "data": null,
  "retCode": 0,
  "params": ["", ""],
  "message": ""
}

10.4 查询订单列表

获取订单列表。

URI: /mec/appstore/v1/orders/list
METHOD: POST

名称

描述

IN

必选

appId

应用ID

request body

orderNum

订单编号

request body

status

订单状态

request body

orderTimeBegin

下单时间范围的起始时间

request body

orderTimeEnd

下单时间范围的结束时间

request body

QueryCtrlDto

查询条件

request body

QueryCtrlDto

字段名

描述

字段类型

必选

limit

分页查询每页查询数量[1,500]

int

yes

offset

分页查询起始页,从0开始

int

yes

sortItem

查询排序字段

String

no

sortType

查询排序方式升序/降序

String

no

响应示例:

response 200 OK
{
  "results": [
    {
      "orderId": "",
      "orderNum": "",
      "userId": "",
      "userName": "",
      "appId": "",
      "appName": "",
      "orderTime": "",
      "operateTime": "",
      "status": "",
      "mecHostIp": "",
      "mecHostCity": "",
      "detail": ""
    },
    {...}
  ],
  "offset": 0,
  "limit": 20,
  "total": 100
}

10.5 查询边缘节点列表

获取边缘节点信息.

URI: /mec/appstore/v1/mechosts?appId={appId}&packageId={packageId}
METHOD: GET

名称

描述

IN

必选

appId

应用id

request param

packageId

应用包id

request param

响应示例:

response 200 OK
{
  "data": [
      {
          "mechostIp": "",
          "mechostName": "",
          "mechostCity": "",
          "vim": "",
          "affinity": ""
      }
  ],
  "retCode": 0,
  "params": ["", ""],
  "message": ""
}