大道至简,新一代企业应用无栈开发

平台之上,一种语言,可视化、脚本化、全端一体化开发

view的桌面扩展

扩展浏览器的view指令,扩展浏览器,调用桌面助手接口

扩展浏览器功能

扩展浏览器功能

一旦安装桌面助手,可以扩展浏览器一些原生功能,通过前端开发的 view 指令可以调用。

1   上传文件

view.native.upload_files(folder_uid, local_files)

参数:

  • folder_uid: 文件夹的 uid
  • local_files: 要上传的文件的本地路径列表

2   下载文件

view.native.download_files(uids, local_folder)

参数:

  • uids: 要下载的项的 uid 列表
  • local_folder: 要下载到的本地目录路径

3   文件夹同步

view.native.sync(root_uid, local_folder, folder_uid=None, mode='sync')

参数:

  • root_uid: 同步区的根目录 uid
  • local_folder: 本地目录路径
  • folder_uid: 可选,如果是单独同步同步区内的子目录,这个子目录对应的 uid
  • mode: 必选,同步模式,可选值如下:
    • sync: 双向同步
    • pull: 向下同步
    • push: 向上同步

4   预览文件

view.native.view(uid, allow_cache=True)

参数:

  • uid: 文件 uid
  • allow_cache=True: 是否允许缓存文件

5   启动外部编辑

view.native.edit(uid, allow_cache=True)

参数:

  • uid: 文件 uid
  • allow_cache=True: 是否允许缓存文件

6   将文件夹映射为本地盘符

view.native.new_webfolder(folder, folder_name=None)

参数:

  • folder: 文件夹对象
  • folder_name: 可选,指定映射盘的名字。不指定则使用文件夹的名字。

7   下载水印 PDF

view.native.downloadpdf(uids, watermark_text='', select_dir=False, fallback_url=None)

参数:

  • uids: 文件 uid 列表
  • watermark_text: 可选,水印文本,没有指定则是使用站点默认的水印
  • select_dir=False: 是否允许存放到自定义位置
  • fallback_url=None: 用户没有安装桌面助手时,可以直接从这个地址下载

8   给 PDF 加水印

view.native.watermarkpdf(url, watermark_text, filename=None)

参数:

  • url: PDF 文件的直接下载地址
  • watermark_text: 水印文字
  • filename=None: 可选,指定文件保存的名字

9   局域网加速下载

view.native.p2pdownload(uids, revisions, fallback_url=None)

参数:

  • uids: 文件 uid 列表
  • revisions: 对应 uids 参数,其中每个文件需要下载的版本
  • fallback_url=None: 用户没有安装桌面助手时,通过这个链接下载

10   运行脚本

在桌面运行任意指定站点脚本,需要用户信任此站点。

view.native.call_script(script_name, args=None, kw=None)

参数:

  • script_name: 脚本的名字
  • args: 可选,脚本的位置参数,是一个 list
  • kw: 可选,脚本的关键字参数,是一个 dict

11   同步运行脚本

用于在当前访问页面机器的桌面助手中,同步地运行一个脚本,并接收返回值。

示例:

view.native.call_script_sync(
    'zopen.x:math',
    1, 2, 3,
    operation='sum',
    onsuccess='zopen.x:receive_result'
)

zopen.x:math:

def math(*args, operation='sum'):
    if operation == 'sum':
        return sum(args)

通过指定 onsuccess 参数,运行的结果将通过浏览器被直接发送到这个脚本。在此例中, zopen.x:receive_result 将会收到一个请求,携带有两个参数,分别是:

success=true
result=6