Latest 1.0.12
Homepage https://github.com/gokuai/yunku-sdk-swift
License MIT
Platforms ios 8.0
Authors

/
Title:够快云库Swift SDK使用说明
Description:
Author: Brandon
Date: 2016/03/03
Robots: noindex,nofollow
/

够快云库Swift SDK使用说明

CI Status
Version
License
Platform

版本:1.0.1

创建:2015-06-23
修改时间:2016-03-03

Installation

To install
it, simply add the following line to your Podfile:

pod 'YunkuSwiftSDK'

引用

建议将项目build产生的YunkuSwiftSDK.framework文件引用进项目,或者将项目作为Library Project 引入,如果是 iOS Application,使用 Headers/iOS 文件夹下的头文件,如果是 OSX Application
则使用Headers/OSX的头文件

Swift

Framework

  • 将YunkuSwiftSDK.framework,CommonCrypto.framework 拖至 [Your Project]之下
  • 确认Project-> Build Phases, 确认 Link Binary With Libraries 已添加 YunkuSwiftSDK.framework
  • 在 Build Phases 中添加一项 New Copy Files Phrase,选择 Destination 为 Frameworks,将项目中的 YunkuSwiftSDK.framework,CommonCrypto.framework 拖曳进去
  • 在使用SDK的类的顶部添加 import YunkuSwiftSDK

Library Project

  • 将YunkuSwiftSDK.xcodeproj 拖至 [Your Project]之下
  • 确认Project-> Build Phases, Target Dependencies 和 Link Binary With Libraries 已添加 YunkuSwiftSDK.framework
  • 在 Build Phases 中添加一项 New Copy Files Phrase,选择 Destination 为 Frameworks,将项目中的 YunkuSwiftSDK.framework,CommonCrypto.framework 拖曳进去
  • 在使用SDK的类的顶部添加 import YunkuSwiftSDK

Object-C

Framework

  • 将YunkuSwiftSDK.framework 拖至 [Your Project]之下
  • 确认Project-> Build Phases, 确认 Link Binary With Libraries 已添加 YunkuSwiftSDK.framework,
  • 在 Build Phases 中添加一项 New Copy Files Phrase,选择 Destination 为 Frameworks,将项目中的 YunkuSwiftSDK.framework,CommonCrypto.framework 拖曳进去
  • 在 Build Setting 中, Embeded Content Contains Swift Code 设置为 YES
  • 在使用SDK的类的顶部添加 #import <YunkuSwiftSDK/YunkuSwiftSDK-Swift.h>

Library Project

  • 将YunkuSwiftSDK.xcodeproj 拖至 [Your Project]之下
  • 确认Project-> Build Phases, Target Dependencies 和 Link Binary With Libraries 已添加 YunkuSwiftSDK.framework
  • 在 Build Phases 中添加一项 New Copy Files Phrase,选择 Destination 为 Frameworks,按+号键,选择 YunkuSwiftSDK.framework,CommonCrypto.framework
  • 在 Build Setting 中, Embeded Content Contains Swift Code 设置为 YES
  • 在使用SDK的类的顶部添加 #import <YunkuSwiftSDK/YunkuSwiftSDK-Swift.h>

初始化

要使用云库api,您需要有效的CLIENT_ID和CLIENT_SECRET,和获得云库后台管理账号。

参数使用

以下使用到的方法中,如果是string类型的非必要参数,如果是不传,则传null

企业库管理( EntLibManager.swift

构造方法

swift

EntLibManager(clientId:String,clientSecret:String,isEnt:Bool)

objc

[[EntLibManager alloc]initWithClientId:(NSString *)clientId clientSecret:(NSString *)clientSecret inEnt:BOOL] 

参数

参数 必须 类型 说明
clientId string 申请应用时分配的AppKey
clientSecret string 申请应用时分配的AppSecret
isEnt boolean 是否是企业帐号登录

授权

swift

accessToken(username:String,password:String)

objc

[accessToken:(NSString*)username password:password]

参数

参数 必须 类型 说明
username string 用户名
password string 密码

返回结果

{
    access_token:
    expires_in:
    refresh_token:c
}
字段 类型 说明
access_token string 用于调用access_token,接口获取授权后的access token
expires_in int access_token的有效期,unix时间戳
refresh_token string 用于刷新access_token 的 refresh_token,有效期1个月

创建库

swift

create(orgName:String, orgCapacity:Int, 
storagePointName:String,  orgDesc:String) 

objc

create:(NSString *)orgName orgCapacity:(NSString *)orgCapacity storagePointName:(NSString *)storagePointName orgDesc:(NSString *)orgDesc orgLogo:(NSString *)orgLogo

参数

参数 必须 类型 说明
orgName string 库名称
orgCapacity int 库容量上限, 单位字节, 默认无上限
storagePointName string 库归属存储点名称, 默认使用够快存储
orgDesc string 库描述
orgLogo string 库logo

数值参考

1T="1099511627776"
1G=“1073741824”;

返回结果

{
    org_id:    
    mount_id:
}
字段 类型 说明
org_id int 库ID
mount_id int 库空间id

获取库列表

getLibList()

参数

(无)

返回结果

{
'list':
    [
        {
            org_id : 库ID
            org_name : 库名称
            org_logo_url : 库图标url
            size_org_total : 库空间总大小, 单位字节, -1表示空间不限制
            size_org_use: 库已使用空间大小, 单位字节
            mount_id: 库空间id
        },
        ...
    ]
}

修改库信息

swift

set(orgId:Int,orgName:String, orgCapacity:String, orgDesc: String, orgLogo:String) 

objc

set:(NSInteger)orgId orgName:(NSString *)orgName orgCapacity:(NSString *)orgCapacity orgDes:(NSString *)orgDes orgLogo:(NSString *)orgLogo

参数

名称 必需 类型 说明
orgId int 库id
orgName string 库名称
orgCapacity string 库容量限制,单位B
orgDesc string 库描述
orgLogo string 库logo

返回结果

正常返回 HTTP 200

数值参考

1T="1099511627776"
1G=“1073741824”;


获取库信息

swift

getInfo(orgId:Int)

objc

getInfo:(NSInteger)orgId

参数

名称 必需 类型 说明
orgId int 库id

返回结果

{
  info:
  {
    org_id : 库ID
    org_name : 库名称
    org_desc : 库描述
    org_logo_url : 库图标url
    size_org_total : 库空间总大小, 单位字节, -1表示空间不限制
    size_org_use: 库已使用空间大小, 单位字节
    mount_id: 库空间id
  }
} 

获取库授权

swift

bindLib(orgId:Int, title:String , linkUrl:String)

objc

bindLib:(NSInteger)orgId title:(NSString *)title linkUrl:(NSString *)linkUrl

参数

参数 必须 类型 说明
orgId int 库ID
title string 标题(预留参数)
linkUrl string 链接(预留参数)

返回结果

{
    org_client_id:
    org_client_secret:
}
字段 类型 说明
org_client_id string 库授权client_id
org_client_secret string 库授权client_secret

org_client_secret用于调用库文件相关API签名时的密钥


取消库授权

swift

unbindLib(orgClientId: String) 

objc

unbindLib:(NSString *)orgClientId;

参数

参数 必须 类型 说明
orgClientId string 库授权client_id

返回结果

正常返回 HTTP 200

获取库成员列表

swift

getMembers(start:Int, size:Int, orgId:Int)

objc

getMembers:(NSInteger)start size:(NSInteger)size orgId:(NSInteger)orgId;

参数

参数 必须 类型 说明
orgId int 库id
start int 分页开始位置,默认0
size int 分页个数,默认20

返回结果

{
    list:
    [
        {
            "member_id": 成员id,
            "out_id": 成员外部id,
            "account": 外部账号,
            "member_name": 成员显示名,
            "member_email": 成员邮箱,
            "state": 成员状态。1:已接受,2:未接受,
        },
        ...
    ],
    count: 成员总数
}

添加库成员

swift

addMembers(int orgId, int roleId, int[] memberIds) 

objc

addMembers:(NSInteger)orgId roleId:(NSInteger)roleId memberIds:(NSArray *)memberIds

参数

参数 必须 类型 说明
orgId int 库id
roleId int 角色id
memberIds array 需要添加的成员id数组

返回结果

正常返回 HTTP 200

修改库成员角色

swift

setMemberRole(orgId:Int, roleId:Int, memberIds:[Int]) 

objc

setMemberRole:(NSInteger)orgId roleId:(NSInteger)roleId memberIds:(NSArray *)memberIds

参数

参数 必须 类型 说明
orgId int 库id
roleId int 角色id
memberIds array 需要修改的成员id数组

返回结果

正常返回 HTTP 200

删除库成员

swift

delMember(orgId:Int, memberIds:[Int])

objc

delMember:(NSInteger)orgId memberIds:(NSArray *)memberIds

参数

参数 必须 类型 说明
orgId int 库id
memberIds array 成员id数组

返回结果

正常返回 HTTP 200

获取库分组列表

getGroups(int orgId)

参数

参数 必须 类型 说明
orgId int 库id

返回结果

{
    {
        "id": 分组id
        "name": 分组名称
        "role_id": 分组角色id, 如果是0 表示分组中的成员使用在该分组上的角色
    },
    ...
}

库上添加分组

swift

addGroup(int orgId, int groupId, int roleId)

objc

addGroup:(NSInteger)orgId groupId:(NSInteger)groupId roleId:(NSInteger)roleId;

参数

参数 必须 类型 说明
orgId int 库id
groupId int 分组id
roleId int 角色id, 默认0:分组中的成员使用在该分组上的角色

返回结果

正常返回 HTTP 200

删除库上的分组

delGroup(int orgId, int groupId)

参数

参数 必须 类型 说明
orgId int 库id
groupId int 分组id

返回结果

正常返回 HTTP 200

修改库上分组的角色

swift

setGroupRole(int orgId, int groupId, int roleId)

objc

setGroupRole:(NSInteger)orgId groupId:(NSInteger)groupId roleId:(NSInteger)roleId;

参数

参数 必须 类型 说明
orgId int 库id
groupId int 分组id
roleId int 角色id, 默认0:分组中的成员使用在该分组上的角色

返回结果

正常返回 HTTP 200

删除库

swift

destroy(String orgClientId)

objc

destroy:(NSString *)orgClientId;

参数

| 参数 | 必须 | 类型 | 说明 |
| orgClientId | 是 | string | 库授权client_id|

返回结果

正常返回 HTTP 200

企业管理(EntManager.swift

构造方法

swift

EntManager(Username:String,Password:String, ClientId:String, ClientSecret:String)

objc
[[EntManager alloc]initWithUsername:(NSString )username password:(NSString )password clientId:(NSString )clientId clientSecret:(NSString )clientSecret]

参数

参数 必须 类型 说明
Username string 用户名
Password string 密码
ClientId string 申请应用时分配的AppKey
ClientSecret string 申请应用时分配的AppSecret

授权

swift

accessToken(isEnt:BOOL)

objc

accessToken:(BOOL)isEnt

参数

参数 必须 类型 说明
isEnt boolean 是否是企业帐号登录

返回结果

{
    access_token:
    expires_in:
    refresh_token:
}
字段 类型 说明
access_token string 用于调用access_token,接口获取授权后的access token
expires_in int access_token的有效期,unix时间戳
refresh_token string 用于刷新access_token 的 refresh_token,有效期1个月

获取角色

swift

getRoles() 

objc

getRoles

参数

(无)

返回结果

[
    {
        "id": 角色id,
        "name": 角色名称,
        },
    ...
]

获取成员

swift

getMembers(start:Int, size:Int)

objc

getMembers:(NSInteger)start size:(NSInteger)size orgId:(NSInteger)orgId;

参数

参数 必须 类型 说明
start int 记录开始位置, 默认0
size int 返回条数, 默认20

返回结果

{
    list:
    [
        {
            "member_id": 成员id,
            "out_id": 成员外部id,
            "account": 外部账号,
            "member_name": 成员显示名,
            "member_email": 成员邮箱,
            "state": 成员状态。1:已接受,2:未接受,
        },
        ...
    ],
    count: 成员总数
}

根据成员Id查询企业成员信息

getMemberById(int memberId)

参数

参数 必须 类型 说明
memberId int 成员id

返回结果

{
  "member_id": 成员id,
  "member_name": 成员显示名,
  "member_email": 成员邮箱,
  "out_id": 外部系统唯一id,
  "account": 外部系统登录帐号,
  "state": 成员状态。1:已接受,2:未接受
}

根据外部系统唯一id查询企业成员信息

getMemberByOutId(String outId)

参数

参数 必须 类型 说明
outId String 外部系统唯一id

返回结果

{
  "member_id": 成员id,
  "member_name": 成员显示名,
  "member_email": 成员邮箱,
  "out_id": 外部系统唯一id,
  "account": 外部系统登录帐号,
  "state": 成员状态。1:已接受,2:未接受
}

根据外部系统登录帐号查询企业成员信息

String getMemberByAccount(String account)

参数

参数 必须 类型 说明
account String 外部系统登录帐号

返回结果

{
  "member_id": 成员id,
  "member_name": 成员显示名,
  "member_email": 成员邮箱,
  "out_id": 外部系统唯一id,
  "account": 外部系统登录帐号,
  "state": 成员状态。1:已接受,2:未接受
}

查询库成员信息

swift
getMember(orgid:Int, type:MemberType, ids:[String])

objc
getMember:(NSInteger)orgId type:(enum MemberType)type ids:(NSArray *)ids;

参数

参数 必须 类型 说明
orgid int 库id
type enum ACCOUNT,OUT_ID,MEMBER_ID
ids array 多个id数组

返回结果

    {
        "id(传入时的id))":{
            "member_id": 成员id,
            "out_id": 成员外部id,
            "account": 外部账号,
            "member_name": 成员显示名,
            "member_email": 成员邮箱
        },
        ...
    }

根据成员Id查询企业成员信息

swift

getMemberById(memberId:Int)

objc

getMemberById:(NSInteger)memberId;

参数

参数 必须 类型 说明
memberId int 成员id

返回结果

{
  "member_id": 成员id,
  "member_name": 成员显示名,
  "member_email": 成员邮箱,
  "out_id": 外部系统唯一id,
  "account": 外部系统登录帐号,
  "state": 成员状态。1:已接受,2:未接受
}

根据外部系统唯一id查询企业成员信息

swift

getMemberByOutId(outId:String)

objc

getMemberByOutId:(NSString *)outId;

参数

参数 必须 类型 说明
outId String 外部系统唯一id

返回结果

{
  "member_id": 成员id,
  "member_name": 成员显示名,
  "member_email": 成员邮箱,
  "out_id": 外部系统唯一id,
  "account": 外部系统登录帐号,
  "state": 成员状态。1:已接受,2:未接受
}

根据外部系统登录帐号查询企业成员信息

swift

getMemberByAccount(account:String)

objc

getMemberByAccount:(NSString *)account;

参数

参数 必须 类型 说明
account String 外部系统登录帐号

返回结果

{
  "member_id": 成员id,
  "member_name": 成员显示名,
  "member_email": 成员邮箱,
  "out_id": 外部系统唯一id,
  "account": 外部系统登录帐号,
  "state": 成员状态。1:已接受,2:未接受
}

获取分组

swift

getGroups() 

objc

getGroups

参数

(无)

返回结果

{
    "list":
    [
        {
            "id": 分组id,
            "name": 分组名称,
            "out_id": 外部唯一id,
            "parent_id": 上级分组id, 0为顶级分组
        }
    ]
}   

分组成员列表

swift

getGroupMembers(int groupId, int start, int size, boolean showChild) 

objc

getGroupMembers:(NSInteger)groupId start:(NSInteger)start size:(NSInteger)size showChild:(BOOL)showChild;

参数

参数 必须 类型 说明
groupId int 分组id
start int 记录开始位置
size int 返回条数
showChild boolean [0,1] 是否显示子分组内的成员

返回结果

{
    list:
    [
        {
            "member_id": 成员id,
            "out_id": 成员外部id,
            "account": 外部账号,
            "member_name": 成员显示名,
            "member_email": 成员邮箱,
            "state": 成员状态。1:已接受,2:未接受,
        },
        ...
    ],
    count: 成员总数
}

根据成员id获取成员个人库外链

swift

getMemberFileLink(memberId:Int, fileOnly:BOOL)

objc

getMemberFileLink:(NSInteger)memberId fileOnly:(BOOL)fileOnly;

参数

参数 必须 类型 说明
memberId int 成员id
fileOnly boolean 是否只返回文件, 1只返回文件

返回结果

[
    {
        "filename": 文件名或文件夹名,
        "filesize": 文件大小,
        "link": 链接地址,
        "deadline": 到期时间戳 -1表示永久有效,
        "password": 是否加密, 1加密, 0无
    },
    ...
]

添加或修改同步成员

swift

addSyncMember(oudId:String, memberName:String, account:String, memberEmail:String, memberPhone:String, password:String)

objc

addSyncMember:(NSString *)oudId memberName:(NSString *)memberName account:(NSString *)account memberEmail:(NSString *)memberEmail memberPhone:(NSString *)memberPhone password:(NSString *)password;

参数

参数 必须 类型 说明
oudId string 成员在外部系统的唯一id
memberName string 显示名称
account string 成员在外部系统的登录帐号
memberEmail string 邮箱
memberPhone string 联系电话
password string 如果需要由够快验证帐号密码,密码为必须参数

返回结果

HTTP 200

删除同步成员

swift

delSyncMember( members:[String])

objc

delSyncMember:(NSArray *)members;

参数

参数 必须 类型 说明
members array 成员在外部系统的唯一id数组

返回结果

HTTP 200

添加或修改同步分组

swift

addSyncGroup(outId:String, name:Sting, parentOutId:String)

objc

addSyncGroup:(NSString *)outId name:(NSString *)name parentOutId:(NSString *)parentOutId;

参数

参数 必须 类型 说明
outId string 分组在外部系统的唯一id
name string 显示名称
parentOutId string 如果分组在另一个分组的下级, 需要指定上级分组唯一id, 不传表示在顶层, 修改分组时该字段无效

返回结果

HTTP 200

删除同步分组

swift

delSyncGroup(groups:[String])

objc

delSyncGroup:(NSArray *)groups;

参数

参数 必须 类型 说明
groups string 分组在外部系统的唯一id数组

返回结果

HTTP 200

添加同步分组的成员

swift

addSyncGroupMember(groupOutId:[String],  members:[String])

objc

addSyncGroupMember:(NSString *)groupOutId members:(NSArray *)members;

参数

参数 必须 类型 说明
groupOutId string 外部分组的唯一id, 不传表示顶层
members array 成员在外部系统的唯一id数组

返回结果

HTTP 200

删除同步分组的成员

swift

delSyncGroupMember(groupOutId: String, members:[String])

objc

delSyncGroupMember:(NSString *)groupOutId members:(NSArray *)members;

参数

参数 必须 类型 说明
groupOutId string 外部分组的唯一id, 不传表示顶层
members string 成员在外部系统的唯一id数组

返回结果

HTTP 200

企业文件管理(EntFileManager.swift

构造方法

swift

EntFileManager(orgClientId: String, orgClientSecret: String);

objc

[[EntFileManager alloc]initWithOrgClientId:(NSString *)orgClientId orgClientSecret:(NSString *)orgClientSecret]

参数

参数 必须 类型 说明
orgClientId string 库授权client_id
orgClientSecret string 库授权client_secret

获取文件列表

swift

getFileList( start:Int, fullPath:String)

objc

getFileList:(NSInteger)start fullPath:(NSString *)fullPath;

参数

名称 必需 类型 说明
start int 开始位置(每次返回100条数据)
fullPath string 文件的路径

返回结果

{
    count:
    list:
    [
        {
            hash:
            dir:
            fullpath:
            filename:
            filehash:
            filesize:
            create_member_name:
            create_dateline:
            last_member_name:
            last_dateline:
        },
        ...
    ]
}
字段 类型 说明
count int 文件总数
list Array 格式见下
字段 类型 说明
hash string 文件唯一标识
dir int 是否文件夹, 1是, 0否
fullpath string 文件路径
filename string 文件名称
filehash string 文件内容hash, 如果是文件夹, 则为空
filesize long 文件大小, 如果是文件夹, 则为0
create_member_name string 文件创建人名称
create_dateline int 文件创建时间戳
last_member_name string 文件最后修改人名称
last_dateline int 文件最后修改时间戳

获取更新列表

swift

getUpdateList( isCompare:BOOL, fetchDateline:Int64)

objc

getUpdateList:(BOOL)isCompare fetchDateline:(NSInteger)fetchDateline;

参数

名称 必需 类型 说明
mode string 更新模式, 可不传, 当需要返回已删除的文件时使用compare
fetchDateline int 13位时间戳, 获取该时间后的数据, 第一次获取用0

返回结果

字段 类型 说明
fetch_dateline int 当前返回数据的最大时间戳(13位精确到毫秒)
list Array 格式见下
字段 类型 说明
cmd int 当mode=compare 时才会返回cmd字段, 0表示删除, 1表示未删除
hash string 文件唯一标识
dir int 是否文件夹, 1是, 0否
fullpath string 文件路径
filename string 文件名称
filehash string 文件内容hash, 如果是文件夹, 则为空
filesize long 文件大小, 如果是文件夹, 则为0
create_member_name string 文件创建人名称
create_dateline int 文件创建时间戳
last_member_name string 文件最后修改人名称
last_dateline int 文件最后修改时间戳

文件更新数量

swift

getUpdateCounts( beginDateline:Int64, endDateline:Int64, showDelete:BOOL)

objc

getUpdateCounts:(NSInteger)beginDateline endDateline:(NSInteger)endDateline showDelete:(BOOL)showDelete;

参数

名称 必需 类型 说明
beginDateline long 13位时间戳, 开始时间
endDateline long 13位时间戳, 结束时间
showDelete boolean 是否返回删除文件

返回结果

{
    count: 更新数量
}

获取文件信息

swift

getFileInfo( fullPath: String,type:NetType)

objc

getFileInfo:(NSString *)fullPath type:NetType;

参数

名称 必需 类型 说明

| fullPath | 是 | string | 文件路径 |
| type | 是 | NetType | 网络类型 Default为外网,In为内容 |

返回结果

{
    hash:
    dir:
    fullpath:
    filename:
    filesize:
    create_member_name:
    create_dateline:
    last_member_name:
    last_dateline:
    uri:
}
字段 类型 说明
hash string 文件唯一标识
dir int 是否文件夹
fullpath string 文件路径
filename string 文件名称
filehash string 文件内容hash
filesize long 文件大小
create_member_name string 文件创建人
create_dateline int 文件创建时间戳(10位精确到秒)
last_member_name string 文件最后修改人
last_dateline int 文件最后修改时间戳(10位精确到秒)
uri string 文件下载地址

创建文件夹

swift

createFolder( fullPath:String,opName:String)

objc

createFolder:(NSString *)fullPath opName:(NSString *)opName;

参数

参数 必须 类型 说明
fullPath string 文件夹路径
opName string 用户名称

返回结果

字段 类型 说明
hash string 文件唯一标识
fullpath string 文件夹的路径

通过数据上传(50M以内文件)

swift

createFile(fullPath:String,
opName: String, data: NSData) 

objc

createFile:(NSString *)fullPath opName:(NSString *)opName data:(NSData *)data;

参数

参数 必须 类型 说明
fullPath string 文件路径
opName string 用户名称
data NSData 文件流

返回结果

字段 类型 说明
hash string 文件唯一标识
fullpath string 文件路径
filehash string 文件内容hash
filesize long 文件大小

文件分块上传

swift

uploadByBlock(localPath:String,fullPath:String,opName:String,opId:Int,overWrite:BOOL,delegate: UploadCallBack)

objc

uploadByBlock:(NSString *)localPath fullPath:(NSString *)fullPath opName:(NSString *)opName opId:(NSInteger)opId overwrite:(BOOL)overwrite delegate:(id <UploadCallBack>)delegate;

参数

参数 必须 类型 说明
fullpath string 文件路径
opName string 创建人名称, 如果指定了op_id, 就不需要op_name,
opId int 创建人id, 个人库默认是库拥有人id, 如果创建人不是云库用户, 可以用op_name代替,
localFilePath string 文件本地路径
overWrite boolean 是否覆盖同名文件,true为覆盖
callBack UploadCallBack 文件上传回调

删除文件

swift

del( fullPaths: String, opName: String)

objc

del:(NSString *)fullPaths opName:(NSString *)opName;

参数

参数 必需 类型 说明
fullPaths string 文件路径,如果是多个文件用“|”符号隔开
opName string 用户名称

返回结果

正常返回 HTTP 200

移动文件

swift

move( fullPath: String, destFullPath: String, opName: String)

objc

move:(NSString *)fullPath destFullPath:(NSString *)destFullPath opName:(NSString *)opName;

参数

参数 必需 类型 说明
fullPath string 要移动文件的路径
destFullPath string 移动后的路径
opName string 用户名称

返回结果

正常返回 HTTP 200

获取文件链接

swift

link( fullPath: String, deadline:Int, authType: AuthType, password: String)

objc

link:(NSString *)fullPath deadline:(NSInteger)deadline authType:(enum AuthType)authType password:(NSString *)password;

参数

参数 必需 类型 说明
fullPath string 文件路径
deadline int 10位链接失效的时间戳 ,永久传-1
authtype enum 文件访问权限DEFAULT默认为预览,PREVIEW:预览,DOWNLOAD:下载、预览,UPLOAD:上传、下载、预览|
password string 密码,不过不设置密码,传null

返回结果

发送消息

swift

sendmsg( title: String,
text: String, image: String, linkUrl: String, opName: String) 

objc

sendmsg:(NSString *)title text:(NSString *)text image:(NSString *)image linkUrl:(NSString *)linkUrl opName:(NSString *)opName;

参数

名称 必需 类型 说明
title string 消息标题
text string 消息正文
image string 图片url
linkUrl string 链接
opName string 用户名称

返回结果

正常返回 HTTP 200 

获取当前库所有外链

swift

links( boolean fileOnly)

objc

links:(BOOL)fileOnly;

参数

名称 必需 类型 说明
fileOnly boolean 是否只返回文件, 1只返回文件

返回结果

[
    {
        "filename": 文件名或文件夹名,
        "filesize": 文件大小,
        "link": 文件外链地址,
        "deadline": 到期时间戳 -1表示永久有效,
        "password": 是否加密, 1加密, 0无
    },
    ...
]

通过链接上传文件

swift

createFileByUrl(fullpath:String, opId:Int, opName:String, overwrite:Bool, url: String)

objc

createFileByUrl:(NSString *)fullPath opId:(NSInteger)opId opName:(NSString *)opName overwrite:(BOOL)overwrite fileUrl:(NSString *)fileUrl;

参数

名称 必需 类型 说明
fullpath string 文件路径
opId int 创建人id, 个人库默认是库拥有人id, 如果创建人不是云库用户, 可以用op_name代替
opName string 创建人名称, 如果指定了opId, 就不需要opName
overwrite boolean 是否覆盖同名文件, true覆盖(默认) false不覆盖,文件名后增加数字标识
url string 需要服务端获取的文件url

返回结果

正常返回 HTTP 200 

WEB直接上传文件

swift

getUploadServers()

objc

getUploadServers

参数

(无)

返回结果

{
   "upload":
   [
      上传服务器地址 如:http://upload.domain.com,
     ...
   ]
}

SDK日志(Config.swift

设置是否打印SDK日志

swift

static logPrint

objc

setLogPrint:(BOOL)value;

设置打印日志的级别

swift

static logPrint

LogLevel.Info
LogLevel.Warning
LogLevel.Error

objc

setLogLevel:(enum LogLevel)value;

LogLevelInfo //info级别以上的所有日志
LogLevelWarning //warning级别以上的所有日志
LogLevelError //error级别的日志

配置 API 地址

swift

 ConfigHelper().apihost(apiHost: "[api host]").apiLibHost(apiLibHost:"[apiLib host]").config()

objc

[[[[ConfigHelper alloc]init] apihostWithApiHost:@"[api host]"]apiLibHostWithApiLibHost:@"[apiLib host]"]config ];

常见错误

header ‘/usr/include/CommonCrypto/CommonCrypto.h’ not found

这个有可能是本地没有这个文件,可以尝试更换成类似 “/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk/usr/include/CommonCrypto/CommonCrypto.h” ,这个路径会根据不同环境变化,需要先确保能在机子这个路径上找到这个文件,然后将路径替换成你的本地 CommonCrypto.h 这个文件的全路径

Latest podspec

{
    "name": "YunkuSwiftSDK",
    "version": "1.0.12",
    "summary": "u4feeu590du65e0u7f51u7edcu60c5u51b5u72b6u6001uff0cu4f1au53d1u751fu5d29u6e83u7684u95eeu9898",
    "description": "u591fu5febu4e91u5e93u5f00u653e API Swift u8bedu8a00",
    "homepage": "https://github.com/gokuai/yunku-sdk-swift",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "BrandonGk": "[email protected]"
    },
    "source": {
        "git": "https://github.com/gokuai/yunku-sdk-swift.git",
        "tag": "1.0.12"
    },
    "platforms": {
        "ios": "8.0"
    },
    "osx": {
        "source_files": "YunkuSwiftSDK/YunkuSwiftSDK/Class/**/*",
        "vendored_frameworks": "Frameworks/CommonCrypto.framework"
    },
    "ios": {
        "source_files": "YunkuSwiftSDK/YunkuSwiftSDK/Class/**/*",
        "vendored_frameworks": "Frameworks/CommonCrypto.framework"
    },
    "pushed_with_swift_version": "4.0"
}

Pin It on Pinterest

Share This