_189pc

package
v3.21.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 11, 2023 License: AGPL-3.0 Imports: 37 Imported by: 1

Documentation

Index

Constants

View Source
const (
	ACCOUNT_TYPE = "02"
	APP_ID       = "8025431004"
	CLIENT_TYPE  = "10020"
	VERSION      = "6.2"

	WEB_URL    = "https://cloud.189.cn"
	AUTH_URL   = "https://open.e.189.cn"
	API_URL    = "https://api.cloud.189.cn"
	UPLOAD_URL = "https://upload.cloud.189.cn"

	RETURN_URL = "https://m.cloud.189.cn/zhuanti/2020/loginErrorPc/index.html"

	PC  = "TELEPC"
	MAC = "TELEMAC"

	CHANNEL_ID = "web_cloud.189.cn"
)

Variables

This section is empty.

Functions

func AesECBEncrypt

func AesECBEncrypt(data, key string) string

aes 加密params

func BoolToNumber

func BoolToNumber(b bool) int

func MustParseTime

func MustParseTime(str string) *time.Time

func MustString

func MustString(str string, err error) string

func MustToBytes

func MustToBytes(b []byte, err error) []byte

func PKCS7Padding

func PKCS7Padding(ciphertext []byte, blockSize int) []byte

func ParseHttpHeader

func ParseHttpHeader(str string) map[string]string

func RsaEncrypt

func RsaEncrypt(publicKey, origData string) string

RAS 加密用户名密码

Types

type Addition

type Addition struct {
	Username string `json:"username" required:"true"`
	Password string `json:"password" required:"true"`
	VCode    string `json:"validate_code"`
	driver.RootID
	OrderBy        string `json:"order_by" type:"select" options:"filename,filesize,lastOpTime" default:"filename"`
	OrderDirection string `json:"order_direction" type:"select" options:"asc,desc" default:"asc"`
	Type           string `json:"type" type:"select" options:"personal,family" default:"personal"`
	FamilyID       string `json:"family_id"`
	UploadMethod   string `json:"upload_method" type:"select" options:"stream,rapid,old" default:"stream"`
	NoUseOcr       bool   `json:"no_use_ocr"`
}

type AppSessionResp

type AppSessionResp struct {
	UserSessionResp

	IsSaveName string `json:"isSaveName"`

	// 会话刷新Token
	AccessToken string `json:"accessToken"`
	//Token刷新
	RefreshToken string `json:"refreshToken"`
}

登录返回

type BatchTaskInfo

type BatchTaskInfo struct {
	// FileId 文件ID
	FileId string `json:"fileId"`
	// FileName 文件名
	FileName string `json:"fileName"`
	// IsFolder 是否是文件夹,0-否,1-是
	IsFolder int `json:"isFolder"`
}

TaskInfo 任务信息

type Cloud189File

type Cloud189File struct {
	CreateDate string `json:"createDate"`
	FileCata   int64  `json:"fileCata"`
	Icon       struct {
		//iconOption 5
		SmallUrl string `json:"smallUrl"`
		LargeUrl string `json:"largeUrl"`

		// iconOption 10
		Max600    string `json:"max600"`
		MediumURL string `json:"mediumUrl"`
	} `json:"icon"`
	ID          int64  `json:"id"`
	LastOpTime  string `json:"lastOpTime"`
	Md5         string `json:"md5"`
	MediaType   int    `json:"mediaType"`
	Name        string `json:"name"`
	Orientation int64  `json:"orientation"`
	Rev         string `json:"rev"`
	Size        int64  `json:"size"`
	StarLabel   int64  `json:"starLabel"`
	// contains filtered or unexported fields
}

文件部分 文件

func (*Cloud189File) GetID

func (c *Cloud189File) GetID() string

func (*Cloud189File) GetName

func (c *Cloud189File) GetName() string

func (*Cloud189File) GetPath

func (c *Cloud189File) GetPath() string

func (*Cloud189File) GetSize

func (c *Cloud189File) GetSize() int64

func (*Cloud189File) IsDir

func (c *Cloud189File) IsDir() bool

func (*Cloud189File) ModTime

func (c *Cloud189File) ModTime() time.Time

func (*Cloud189File) Thumb

func (c *Cloud189File) Thumb() string

type Cloud189FilesResp

type Cloud189FilesResp struct {
	//ResCode    int    `json:"res_code"`
	//ResMessage string `json:"res_message"`
	FileListAO struct {
		Count      int              `json:"count"`
		FileList   []Cloud189File   `json:"fileList"`
		FolderList []Cloud189Folder `json:"folderList"`
	} `json:"fileListAO"`
}

type Cloud189Folder

type Cloud189Folder struct {
	ID       int64  `json:"id"`
	ParentID int64  `json:"parentId"`
	Name     string `json:"name"`

	FileCata  int64 `json:"fileCata"`
	FileCount int64 `json:"fileCount"`

	LastOpTime string `json:"lastOpTime"`
	CreateDate string `json:"createDate"`

	FileListSize int64  `json:"fileListSize"`
	Rev          string `json:"rev"`
	StarLabel    int64  `json:"starLabel"`
	// contains filtered or unexported fields
}

文件夹

func (*Cloud189Folder) GetID

func (c *Cloud189Folder) GetID() string

func (*Cloud189Folder) GetName

func (c *Cloud189Folder) GetName() string

func (*Cloud189Folder) GetPath

func (c *Cloud189Folder) GetPath() string

func (*Cloud189Folder) GetSize

func (c *Cloud189Folder) GetSize() int64

func (*Cloud189Folder) IsDir

func (c *Cloud189Folder) IsDir() bool

func (*Cloud189Folder) ModTime

func (c *Cloud189Folder) ModTime() time.Time

type Cloud189PC added in v3.7.1

type Cloud189PC struct {
	model.Storage
	Addition
	// contains filtered or unexported fields
}

func (*Cloud189PC) CommonUpload added in v3.7.1

func (y *Cloud189PC) CommonUpload(ctx context.Context, dstDir model.Obj, file model.FileStreamer, up driver.UpdateProgress) (err error)

普通上传

func (*Cloud189PC) Config added in v3.7.1

func (y *Cloud189PC) Config() driver.Config

func (*Cloud189PC) Copy added in v3.7.1

func (y *Cloud189PC) Copy(ctx context.Context, srcObj, dstDir model.Obj) error

func (*Cloud189PC) Drop added in v3.7.1

func (y *Cloud189PC) Drop(ctx context.Context) error

func (*Cloud189PC) EncryptParams added in v3.18.0

func (y *Cloud189PC) EncryptParams(params Params) string

func (*Cloud189PC) FastUpload added in v3.7.1

func (y *Cloud189PC) FastUpload(ctx context.Context, dstDir model.Obj, file model.FileStreamer, up driver.UpdateProgress) (err error)

快传

func (*Cloud189PC) GetAddition added in v3.7.1

func (y *Cloud189PC) GetAddition() driver.Additional

func (*Cloud189PC) Init added in v3.7.1

func (y *Cloud189PC) Init(ctx context.Context) (err error)
func (y *Cloud189PC) Link(ctx context.Context, file model.Obj, args model.LinkArgs) (*model.Link, error)

func (*Cloud189PC) List added in v3.7.1

func (y *Cloud189PC) List(ctx context.Context, dir model.Obj, args model.ListArgs) ([]model.Obj, error)

func (*Cloud189PC) MakeDir added in v3.7.1

func (y *Cloud189PC) MakeDir(ctx context.Context, parentDir model.Obj, dirName string) error

func (*Cloud189PC) Move added in v3.7.1

func (y *Cloud189PC) Move(ctx context.Context, srcObj, dstDir model.Obj) error

func (*Cloud189PC) OldUpload added in v3.18.0

func (y *Cloud189PC) OldUpload(ctx context.Context, dstDir model.Obj, file model.FileStreamer, up driver.UpdateProgress) (err error)

func (*Cloud189PC) Put added in v3.7.1

func (y *Cloud189PC) Put(ctx context.Context, dstDir model.Obj, stream model.FileStreamer, up driver.UpdateProgress) error

func (*Cloud189PC) Remove added in v3.7.1

func (y *Cloud189PC) Remove(ctx context.Context, obj model.Obj) error

func (*Cloud189PC) Rename added in v3.7.1

func (y *Cloud189PC) Rename(ctx context.Context, srcObj model.Obj, newName string) error

func (*Cloud189PC) SignatureHeader added in v3.18.0

func (y *Cloud189PC) SignatureHeader(url, method, params string) map[string]string

type CommitUploadFileResp added in v3.18.0

type CommitUploadFileResp struct {
	XMLName    xml.Name `xml:"file"`
	Id         string   `xml:"id"`
	Name       string   `xml:"name"`
	Size       string   `xml:"size"`
	Md5        string   `xml:"md5"`
	CreateDate string   `xml:"createDate"`
	Rev        string   `xml:"rev"`
	UserId     string   `xml:"userId"`
}

type CreateUploadFileResp added in v3.18.0

type CreateUploadFileResp struct {
	// 上传文件请求ID
	UploadFileId int64 `json:"uploadFileId"`
	// 上传文件数据的URL路径
	FileUploadUrl string `json:"fileUploadUrl"`
	// 上传文件完成后确认路径
	FileCommitUrl string `json:"fileCommitUrl"`
	// 文件是否已存在云盘中,0-未存在,1-已存在
	FileDataExists int `json:"fileDataExists"`
}

第二种上传方式

type EncryptConfResp

type EncryptConfResp struct {
	Result int `json:"result"`
	Data   struct {
		UpSmsOn   string `json:"upSmsOn"`
		Pre       string `json:"pre"`
		PreDomain string `json:"preDomain"`
		PubKey    string `json:"pubKey"`
	} `json:"data"`
}

登陆加密相关

type FamilyInfoListResp

type FamilyInfoListResp struct {
	FamilyInfoResp []FamilyInfoResp `json:"familyInfoResp"`
}

家庭云账户

type FamilyInfoResp

type FamilyInfoResp struct {
	Count      int    `json:"count"`
	CreateTime string `json:"createTime"`
	FamilyID   int    `json:"familyId"`
	RemarkName string `json:"remarkName"`
	Type       int    `json:"type"`
	UseFlag    int    `json:"useFlag"`
	UserRole   int    `json:"userRole"`
}

type GetUploadFileStatusResp added in v3.18.0

type GetUploadFileStatusResp struct {
	CreateUploadFileResp

	// 已上传的大小
	DataSize int64 `json:"dataSize"`
	Size     int64 `json:"size"`
}

func (*GetUploadFileStatusResp) GetSize added in v3.18.0

func (r *GetUploadFileStatusResp) GetSize() int64

type InitMultiUploadResp

type InitMultiUploadResp struct {
	//Code string `json:"code"`
	Data struct {
		UploadType     int    `json:"uploadType"`
		UploadHost     string `json:"uploadHost"`
		UploadFileID   string `json:"uploadFileId"`
		FileDataExists int    `json:"fileDataExists"`
	} `json:"data"`
}

上传部分

type LoginParam

type LoginParam struct {
	// 加密后的用户名和密码
	RsaUsername string
	RsaPassword string

	// 请求头参数
	Lt    string
	ReqId string

	// 表单参数
	ParamId string

	// 验证码
	CaptchaToken string
	// contains filtered or unexported fields
}

登陆需要的参数

type LoginResp

type LoginResp struct {
	Msg    string `json:"msg"`
	Result int    `json:"result"`
	ToUrl  string `json:"toUrl"`
}

type Params

type Params map[string]string

query 加密参数

func (Params) Encode

func (p Params) Encode() string

func (Params) Set

func (p Params) Set(k, v string)

type Part

type Part struct {
	RequestURL    string `json:"requestURL"`
	RequestHeader string `json:"requestHeader"`
}

type RespErr

type RespErr struct {
	ResCode    any    `json:"res_code"` // int or string
	ResMessage string `json:"res_message"`

	Error_ string `json:"error"`

	XMLName xml.Name `xml:"error"`
	Code    string   `json:"code" xml:"code"`
	Message string   `json:"message" xml:"message"`
	Msg     string   `json:"msg"`

	ErrorCode string `json:"errorCode"`
	ErrorMsg  string `json:"errorMsg"`
}

居然有四种返回方式

func (*RespErr) Error added in v3.18.0

func (e *RespErr) Error() string

func (*RespErr) HasError added in v3.18.0

func (e *RespErr) HasError() bool

type UploadUrlsResp

type UploadUrlsResp struct {
	Code       string          `json:"code"`
	UploadUrls map[string]Part `json:"uploadUrls"`
}

type UserSessionResp

type UserSessionResp struct {
	ResCode    int    `json:"res_code"`
	ResMessage string `json:"res_message"`

	LoginName string `json:"loginName"`

	KeepAlive       int `json:"keepAlive"`
	GetFileDiffSpan int `json:"getFileDiffSpan"`
	GetUserInfoSpan int `json:"getUserInfoSpan"`

	// 个人云
	SessionKey    string `json:"sessionKey"`
	SessionSecret string `json:"sessionSecret"`
	// 家庭云
	FamilySessionKey    string `json:"familySessionKey"`
	FamilySessionSecret string `json:"familySessionSecret"`
}

刷新session返回

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL