快速开始

aliyun-pds-js-sdk 是PDS官方的推出的js sdk,提供PDS资源的基本操作方法,开发者可以很方便的开发PDS网盘应用。除了上传,下载,复制,移动,删除等文件基本操作外,还提供了Drive,Share,Group等资源的基本操作,同时支持浏览器和Node.js(electronnode服务)端。

github 开源地址:https://github.com/aliyun/aliyun-pds-js-sdk/tree/0.2.11

PDS资源说明

  1. Domain下的资源:

Domain/
  |-- Group & Membership   # 分组或团队
  |-- User                 # 用户
  |-- Account              # 账号
  |-- Drive                # 云盘(网盘)
  |-- Share                # 共享目录(最新版已经废弃,请使用File中的共享API)
  |-- ShareLink            # 分享链接 
  |-- File                 # 文件相关(新版共享权限,回收站)

2. Group 下可以嵌套 Group 或者 User (通过 Membership)。

Group/
  |-- Group
  |-- User

3. DriveOwner 可以为一个 Group 或者 User

4. Shareshare目前只有托管模式支持) 的 Owner 可以为一个 User

5. File 必属于一个 DriveShareshare目前只有托管模式支持)。

Drive/          # 云盘
  |-- File


Share/          # 共享目录(仅托管模式支持)
  |-- File

6. 标准模式(StandardMode)和托管模式(HostingMode)下 File 主键的区别:

* 标准模式:  key 为 file_id

Drive/                                          # 云盘
  |-- File (type=='folder', file_id="xxxxxxxx1")      # 目录(文件夹)
      |-- File (type=='file', file_id="xxxxxxxx2")    # 文件



* 托管模式: key 为 file_path

Drive|Share/                                # 云盘/共享目录
  |-- File (type=='folder',file_path:'/abc/')      # 目录(文件夹)
      |-- File (type=='file',file_path:'/abc/1.jpg')    # 文件

安装

执行以下命令安装:

npm i -S aliyun-pds-js-sdk@0.2.11

注意:请先确保已经安装 Node.js。

引入

(1) 在 Vue 或 React 项目中使用

import {PDSClient} from 'aliyun-pds-js-sdk' 

(2) 在 Node.js 中使用

const { PDSClient } = require('aliyun-pds-js-sdk')

(3) 在浏览器中以 script 标签引入

npm 安装后,在 node_modules/aliyun-pds-js-sdk/dist/ 目录下,有打包好的 aliyun-pds-js-sdk.min.js 文件,可以复制到你自己的静态服务或CDN上,然后以 script 标签引入。

<script src="/path/to/aliyun-pds-js-sdk.min.js"></script>
const { PDSClient } = window.PDS_SDK

调用举例

PDS API 的功能都集成在 PDSClient 类实例方法上,使用时只需 new 一个 PDSClient 实例,即可通过该实例的方法来调用 PDS 的各种 API。

const domain_id = "您的domainID" // 如:bj123
const config = {
   token_info: {...},
   api_endpoint: `https://${domain_id}.api.aliyunpds.com`,
   auth_endpoint: `https://${domain_id}.api.aliyunpds.com`,
}

const pds = new PDSClient(config)

let { items=[], next_marker } = await pds.listDrives({ limit:10 })
  • 关于构造参数 config 详解,请看这里:PDSClient 类。