全部产品

唤醒桌面客户端

本篇主要介绍如何通过URLSchema 唤醒桌面客户端,并做指定的动作。

1 URLSchema

BasicUI 桌面客户端 URLSchema 的协议格式为: "ccp"+domainID

假设您的DomainID为 hz65, 那么URLSchema为 : ccphz65:

打开URL举例:

  1. window.open("ccphz65:open?opt=%7B%22seq_id%22%3A%22x3hug4qu1xn%22%2C%22pathname%22%3A%22%2Findex%22%7D")

2 URL参数详解:

<protocol>:<action>?opt=[opt]

字段 描述
protocol 协议名称,’ccp’+domainID 组成。
action url 的 pathname , 一般为动词, 目前支持:opendownload
opt opt 为json 字符串 encodeURI 后的字符串,encodeURIComponent(JSON.stringify(opt))

2.1 打开指定URL

opt 参数详解:

字段 描述
seq_id 序列id,在一次会话中(打开桌面端到关闭桌面端)不可重复。
pathname 唤醒后,要跳转到的 pathname。

举例:

  1. let domainId='hz65'
  2. let action='open'
  3. let opt ={
  4. "seq_id": Math.random().toString(36).substring(2),
  5. "pathname":"/drive"
  6. }
  7. let url = `ccp${domainId}:${action}?opt=${encodeURIComponent(JSON.stringify(opt))}`
  8. window.open(url)

2.2 下载指定的文件

opt 参数详解:

字段 描述
seq_id 序列id,在一次会话中(打开桌面端到关闭桌面端)不可重复。
pathname 唤醒后,要跳转到的 pathname
loc_type 所在位置类型, 取值为: drive 或者 share
loc_id loc_typedrive时,取值为drive_id, 为share时,取值为share_id
file_keys 要下载的文件 file_id(标准模式) 或者 file_path(托管模式) 的数组,格式如: ["file_id1","file_id2"]

举例:

  1. let domainId='hz65'
  2. let action='download'
  3. let opt ={
  4. "seq_id": Math.random().toString(36).substring(2),
  5. "loc_type": "drive",
  6. "loc_id": "1",
  7. "pathname":"/drive/folders/5e9d2e02570e5a973cd64b648cbf97ac2ebb26dc",
  8. "file_keys":["5faebd028e8365fef08b4a019308765631e179e0"]
  9. }
  10. let url = `ccp${domainId}:${action}?opt=${encodeURIComponent(JSON.stringify(opt))}`
  11. window.open(url)