1.1.0-alpha.5 • Published 2 months ago

@nsrd/file-storage-sdk v1.1.0-alpha.5

Weekly downloads
-
License
MIT
Repository
-
Last release
2 months ago

文件存储file-storage-sdk

  • vite 打包

  • typescript 语法

  • 支持多入口打包 详见 vite.build.mjs - entryList

  • 对接文件存储服务

使用

说明

该组件库依赖于 axios spark-md5, 安装依赖时会自动安装,异常情况请确认依赖已安装

安装

npm npm install @nsrd/file-storage-sdk -S

yarn yarn add @nsrd/file-storage-sdk

pnpm pnpm install @nsrd/file-storage-sdk -S

引入

  • 第一种import FileStorage from "@nsrd/file-storage-sdk" 【推荐】

  • 第二种 const FileStorage = require("@nsrd/file-storage-sdk")

使用示例

import FileStorage from "@nsrd/file-storage-sdk";

const FS = new FileStorage({
  base: 'http://172.30.3.152/file-storage/rest/v2'
})

const voucherId = "asdad213qdwasd123" // 业务系统提供的操作凭证

FS.upload({
    chunk: true,
    voucherId: voucherId,
    file: file.value,
    onProgress: (res) => {
        console.log(res);
    }
}).then(res => {
    console.log('upload result', res);
})

API

构造函数

const FS = new FileStorage(options)
  • options(constructor): object构造函数参数
属性名类型是否必填默认值说明
basestring./文件存储地址服务地址,支持相对地址、绝对地址、完整地址。例如 http://172.30.3.152/file-storage/rest/v2
chunkSizenumber5242880分片上传时分片大小默认5MB,请输入大于5MB的字节数
errorNumnumber20允许的上传出现错误总数 默认 20
chunkErrorNumnumber5同一分片上传错误次数 默认 5
timeoutnumber60000单个接口超时时间 默认60s

方法

1.upload 上传
FS.upload(options)
  • options: object上传函数参数
属性名类型是否必填默认值说明
voucherIdstring-业务系统获取的操作凭证
fileFile-要上传的文件
errorNumnumber-允许上传出现错误总数,默认为 options.errorNum
chunkErrorNumnumber-允许同一分片上传错误次数,默认为 options.chunkErrorNum
onProgressFunction-上传进度回调返回值详见下文onProgress
  • options.onProgress#返回值 : object
属性名类型是否必填默认值说明
status'preloading' | 'uploading' | 'complete'-preloading: 前置处理中 uploading: 上传中 complete: 完成
currentnumber-当前已完成分片数
totalnumber-总分片数
  • 返回值 FS.upload : Promise<object>

    • fulfilled
    属性名类型是否必填默认值说明
    codestring-状态码:'00000':正常;其他异常
    messagestring-接口说明
    uniqueIdstring-文件标识
    publicUniqueNamestring-文件公开访问标识用于文件url访问
    • rejected
    属性名类型是否必填默认值说明
    codestring-状态码:非 "00000"
    messagestring-接口说明
2.download 下载
FS.download(options)
  • options: object下载函数参数
属性名类型是否必填默认值说明
streambooleanfalsetrue:获取文件Filefalse:直接下载文件
voucherIdstringvoucherId/publicUniqueName 存在一个-下载操作凭证
publicUniqueNamestringvoucherId/publicUniqueName 存在一个-公开访问标识
  • 返回值 FS.download: Promise<object>

    • fulfilled

      属性名类型是否必填默认值说明
      codestring-状态码:'00000':正常;其他异常
      messagestring-接口说明
      urlstring-下载地址
      fileFile-下载的文件
    • rejected

      属性名类型是否必填默认值说明
      codestring-状态码:非 '00000'
      messagestring-接口说明
3.getDownloadUri 获取下载地址
FS.getDownloadUri(options)
  • options: object获取下载地址函数参数
属性名类型是否必填默认值说明
voucherIdstringvoucherId/publicUniqueName 存在一个-下载操作凭证
publicUniqueNamestringvoucherId/publicUniqueName 存在一个-公开访问标识
  • 返回值 FS.getDownloadUri: Promise<object>

    • fulfilled

      属性名类型是否必填默认值说明
      codestring-状态码:'00000':正常;其他异常
      messagestring-接口说明
      urlstring-下载地址
    • rejected

      属性名类型是否必填默认值说明
      codestring-状态码:非 '00000'
      messagestring-接口说明

develop

  1. scripts命令

    {
        "alpha": "打签:alpha 版本",
        "build": "仓库打包",
        "commit": "提交代码",
        "dev": "启动项目",
        "eslint": "eslint格式化代码",
        "postinstallmac": "苹果环境配置",
        "pre-commit": "预提交",
        "prepare": "环境配置",
        "release": "打签:release 版本",
        "sort": "package.json排序"
    }
  2. 安装依赖

    yarn install
    # npm install
    # pnpm install
  3. 本地启动

    npm run dev
  4. 代码提交

    预提交检查代码

    npm run pre-commit

    提交代码

    npm run commit
  5. 发布

  • tag

    alpha版本

    npm run alpha

    release版本

    npm run release
  • publish

    npm publish
1.1.0-alpha.5

2 months ago

1.1.0-alpha.4

8 months ago

1.1.0-alpha.3

9 months ago

1.1.0-alpha.2

11 months ago

1.1.0-alpha.1

11 months ago

1.1.0-alpha.0

11 months ago