111

对接方案流程

  • 1.用户发起流程审批,进行桌面开通,主管部门发起开通请求,携带用户名,系统类型,回调地址(用于接收任务结果),参考开通接口相关文档
    • 如果任务执行成功则会返回用户名和密码,用于用户登录桌面使用
    • 还会额外返回桌面信息,主要是桌面的唯一标识和桌面名称
  • 2.用户进行资源调整
    • 1.增加桌面:仍然走开通接口,传递用户名(开通接口会返回用户名)
    • 2.调整资源,需要传递具体的桌面,用于对该桌面资源进行调整
      • 如何获取具体桌面信息
        • 方案一:开通成功后,需要存储桌面信息,用户在进行资源调整时传递该桌面唯一标识
        • 方案二:额外提供一个接口获取用户绑定桌面,在调整资源前调用该接口,返回用户所绑定的桌面,让用户选择要调整哪个桌面的资源
    • 3.存在问题,待商讨(关于磁盘扩容)
      • 如果桌面没有磁盘,扩容时直接新建一个数据盘吗?
      • 如果桌面存在多个数据盘,扩容时选择哪个进行扩容?还是都扩容?
      • 如果对指定数据盘进行扩容,则需要调用桌面挂载的数据盘接口,拿到所有数据盘信息,让用户选择扩容哪个
    • 4.参考资源调整接口
  • 3.策略调整,主要涉及数据访问和USB控制权限的调整,具体参照策略调整接口
  • 4.密码重置,参考密码重置接口

1.开通接口

1.请求方式

  • post

2.接口地址

  • /api/desktop/apply

3.接口说明

  • 该接口会根据用户提供的账号信息,创建对应用户;根据用户提供的os,创建桌面;最终将桌面分配给用户

4.接口参数

参数名称 参数类型 参数含义
username str 用户组名(并非用户名,实际用户名应该是以组名进行递进,比如xxx_01, xxx_02...)
os str 系统:[win7|win10|kylin|macos]
callback_url str 任务执行完成后的回调地址

5.响应结果

{
	"data": {},
    "message": "",
    "status": "0"
}
  • callback通知内容

    • 成功

      {
      	"data": {
      		"username": xxxx,
      		"password": xxxx,
              "desktop_uuid": xxx
      		
      	},
          "message": "",
          "status": "0"
      }
      
    • 失败

      {
      	"data": {},
          "message": "失败原因",
          "status": "-1"
      }
      

2.资源调整

1.请求方式

  • post

2.接口地址

  • /api/desktop/resource-update

3.接口说明

  • 该接口支持用户对桌面CPU、内存、磁盘进行动态调整
  • 使用方式,只传递需要调整的参数以及目标值,不需要调整的参数,则不要传递
    • 比如只需要调整cpu,那么传递:

4.请求参数

参数名称 参数类型 参数说明
desktop_uuid str 要调整的桌面uuid
cpu int 需要调整的cpu大小,目标值
memory int 需要调整的内存大小,目标值,单位 bytes
disk int 需要扩容的磁盘大小,目标值,单位 bytes
callback_url str 任务执行完成后的回调地址

5.响应结果

{
	"data": {},
    "message": "",
    "status": "0"
}
  • callback通知内容

    {
    	"data": {},
        "message": "",
        "status": "0"
    }
    
    {
    	"data": {},
        "message": "xxx",
        "status": "-1"
    }
    

3.策略调整

1.请求方式

  • post

2.请求地址

  • /api/desktop/policy-update

3.接口说明

  • 该接口提供云桌面数据传输权限USB设备重定向权限修改(默认禁止)

4.请求参数

参数名称 参数类型 参数说明
usb-enable bool USB设备权限,[true|false],开启true或关闭false
data-access bool 数据访问权限,[true|false],开启true或关闭false

5.响应结果

# 成功
{
	"data": {},
    "message": "",
    "status": "0"
}
# 失败
{
	"data": {},
    "message": "xxx",
    "status": "-1"
}

4.密码重置

1.请求方式

  • post

2.接口地址

  • /api/user/pwd-reset

3.接口说明

  • 用于重置用户密码

4.请求参数

参数名 参数类型 参数说明
username str 用户名
password str 密码,允许为空字符串,如果为空字符串则使用全局默认密码进行重置
  • 第一步:根据用户名称,查询获取用户uuid
  • 第二步:根据用户uuid和密码进行密码重置

5.响应结果

# 成功
{
	"data": {
        "username": xxx,
        "password": xxx
    },
    "message": "",
    "status": "0"
}
# 失败
{
	"data": {},
    "message": "xxx",
    "status": "-1"
}

5.获取用户绑定的桌面

1.请求方式

  • get

2.接口地址

  • /api/user/{username}/desktops

3.接口说明

  • 用来获取分配给用户的所有桌面

4.请求参数

  • 路径参数:username

5.响应结果

# 成功
{
	"data": [
        {
            "desktop_uuid": xxx,
            "desktop_name": xxx
        },
        ...
    ],
    "status": 0,
    "message": ""
}
# 失败
{
	"data": [],
    "status": -1,
    "message": "xxx"
}

6.获取桌面挂载的数据盘

1.请求方式

  • get

2.接口地址

  • /api/desktop/{uuid}/volumes

3.接口说明

  • 获取桌面已挂载的数据盘

4.请求参数

  • 路径参数uuid,桌面唯一标识

5.响应结果

# 成功
{
	"data": [
        {
            "volume_uuid": xxx,
            "volume_name": xxx,
            "volume_size": xxx,
            "volume_status": xxx
        },
        ...
    ],
    "status": 0,
    "message": ""
}
# 失败
{
	"data": [],
    "status": -1,
    "message": "xxx"
}
posted @ 2026-01-08 17:08  有趣儿  阅读(6)  评论(0)    收藏  举报