1.0.1 • Published 2 years ago

seiue-c3-file v1.0.1

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

Seiue Chalk3.0 File

Seiue Chalk 3 文件上传机制

Get Started

初始化

// File 依赖于 Session
import { SeiueSession } from 'seiue-c3-session'
import { seiueFiles, SeiueFiles } from "seiue-c3-file";

// 设置 Session 的环境变量
SeiueSession.setEnv({
  SERVER_PASSPORT: 'Seiue Passport 服务地址"',
  CLIENT_WEB_CLIENT_ID: "客户端 ID"
})

SeiueSession.create().then(res => {
  // 登录成功后,res 将会返回登录信息,然后注册 File
  SeiueFiles.init({
    env: {
      RID: res.rid,
      SERVER_CHALK: "Seiue Chalk 服务地址",
      SERVER_PLATFORM: "Seiue Platform 服务地址",
      SERVER_PASSPORT: "Seiue Passport 服务地址",
      REFRESH_TOKEN_IF_NEEDED: SeiueSession.refreshOAuthTokenIfNeeded,
    },
  });
})

上传

function Upload() {
  return (
    <div>
      <input
        type="file"
        onChange={async e => {
          // 直接上传文件
          const result = await seiueFiles.uploadDirect(e.target.files[0])

          // 获取 Hash,然后再通过 seiueFiles.hashToUrl 得到完整的文件地址

          console.log(seiueFiles.hashToUrl(result.hash))
        }}
      />
    </div>
  )
}

SeiueFiles Apis

SeiueFiles 文件上传类

仅在初始化时使用

SeiueFiles.init({ envs }) 初始化与配置环境变量

在使用其他 Api 前,请先完整配置环境变量。注意在 Session 初始化完毕后,再进行本 SDK 的初始化。

参数

envs: {
  // Seiue Chalk 服务地址
  SERVER_CHALK: string
  // Seiue Platform 服务地址
  SERVER_PLATFORM: string
  // Seiue Rid 登录的用户 rid,可从 Session.create 中取出
  RID: number
  // 是否是本地部署
  LOCAL_DEPLOY: boolean
  // 当 Token 过期时的刷新方法,可以直接传入 SeiueSession.refreshOAuthTokenIfNeeded
  REFRESH_TOKEN_IF_NEEDED: () => Promise<OAuthToken>
}

返回值

void

seiueFile 文件上传单例

将 SeiueFiles 初始化后,可以从 'seiue-c3-file' export 出 seiueFile,进而进行一系列上传操作

seiueFile.uploadDirect(file) 直接上传文件

参数

file - File - 文件本件,通常从 input(type="file") 中获取

返回值

result: {
  hash: string // 文件的唯一标识
  name: string // 文件名
  size: number // 文件大小
}

seiueFile.uploadImageDataUrl(dataUrl) 上传 dataUrl 形态的图片文件

参数

dataUrl - string - dataUrl,通常借助 Canvas 生成

返回值

hash: string // 文件的唯一标识

seiueFile.hashToUrl(hash, { compress }) 将文件标识转化为可访问地址

参数

hash: string // 文件唯一标识
compress: {
  zoom?: ['lfit' | 'fill', number | null, number | null] // 图片缩放配置,分别为 [等比/填充,宽,高]
  quality?: number // 图片的压缩质量
}

返回值

url: string // 文件的可访问地址

seiue.uploaderFactory(file, onChange) 文件上传构造器

额外的接受一个 onChange 参数,通过 onChange,可以获取到文件上传前,中,后的各种进度和状态

Notes

  • 目前仅适用于会部署在希悦内部的项目

Bug and Discussions

如果你遇到 bug,可以通过相关微信群或者联系 lrc@seiue.com

1.0.1

2 years ago

1.0.0

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago