说明 
本篇主要介绍如何通过URLScheme 唤醒桌面客户端,并做指定的动作。
1 URLScheme
BasicUI 桌面客户端 URLScheme 的协议格式为: "pds"+domainID。
假设您的DomainID为 hz65, 那么URLScheme为 : pdshz65:。
打开URL举例:
window.open("pdshz65:open?opt=%7B%22seq_id%22%3A%22x3hug4qu1xn%22%2C%22pathname%22%3A%22%2Findex%22%7D")2 URL参数详解
<protocol>:<action>?opt=[opt]
字段  | 描述  | 
protocol  | 协议名称,’pds’+domainID 组成。  | 
action  | url 的 pathname , 一般为动词, 目前支持:  | 
opt  | opt 为json 字符串 encodeURI 后的字符串,  | 
2.1 打开指定URL
opt 参数详解:
字段  | 描述  | 
seq_id  | 序列id,在一次会话中(打开桌面端到关闭桌面端)不可重复。  | 
pathname  | 唤醒后,要跳转到的 pathname。  | 
举例:
let domainId='hz65'
let action='open'
let opt ={
  "seq_id": Math.random().toString(36).substring(2),
  "pathname":"/drive"
}
let url = `pds${domainId}:${action}?opt=${encodeURIComponent(JSON.stringify(opt))}`
window.open(url)2.2 下载指定的文件
opt 参数详解:
字段  | 描述  | 
seq_id  | 序列id,在一次会话中(打开桌面端到关闭桌面端)不可重复。  | 
pathname  | 唤醒后,要跳转到的   | 
loc_type  | 所在位置类型。取值为:  | 
loc_id  | 
  | 
file_keys  | 要下载的文件   | 
举例:
let domainId='hz65'
let action='download'
let opt ={
  "seq_id": Math.random().toString(36).substring(2),
  "loc_type": "drive",
  "loc_id": "1",
  "pathname":"/drive/folders/5e9d2e02570e5a973cd64b648cbf97ac2ebb26dc",
  "file_keys":["5faebd028e8365fef08b4a019308765631e179e0"]
}
let url = `pds${domainId}:${action}?opt=${encodeURIComponent(JSON.stringify(opt))}`
window.open(url)该文章对您有帮助吗?