qiqi.sdk
sdk
提供调用移动端设备能力的方法
sdk 汇总
类型 | api | 描述 | 平台支持 | |||
---|---|---|---|---|---|---|
微信小程序 | 企业微信 | 钉钉 | 飞书 | |||
媒体类 | chooseImages | 选择图片 | ||||
previewImages | 预览图片 | |||||
uploadImages | 上传图片 | |||||
chooseAndUploadImages | 选择并上传图片 | |||||
位置 | getLocation | 获取定位 | ||||
设备 | scanCode | 扫码 |
使用方式
qiqi.sdk.[apiName](option):Promise<NativeSDKResult<T>>
- 所有api的返回如下结构的结果
type NativeSDKResult<T> = {
errCode: string // 错误码
errMessage: string // 错误信息
data: T // 返回结果 T 不同的Api 返回不同的结果泛型
}
- 调用例子
async function upload(){
const { errCode, errMessage, data } = await qiqi.sdk.chooseImages({
...
})
if(data){
await qiqi.sdk.uploadImages({
...
})
}
...
}
媒体
chooseImages(Object object)
功能描述
从本地相册选择图片或使用相机拍照参数
参数 | 说明 | 类型 | 默认值 | 必填 |
---|---|---|---|---|
count | 最多可以选择的图片张数 | number | 9 | 否 |
sizeType | 所选的图片的尺寸 | Array<string> | ['original','compressed'] | 否 |
sourceType | 选择图片的来源 | Array<string> | ['album','camera'] | 否 |
sizeType 可用值
- original 原图
- compressed 压缩图
sourceType 可用值
- album 从相册选图
- camera 使用相机
由于我们使用的钉钉的SDK是比较早期的版本 sizeType 和 sourceType 在钉钉上不生效 未来我们升级到新版的SDK 支持此参数
- 返回值 Promise
<NativeSDKResult<<ChooseImageResult>>
type ChooseImageResult = {
tempFilePaths: Array<string> // 图片的本地临时文件路径列表 (本地路径)
files?: Array<File> // 文件列表 飞书和移动端浏览器上传 会返回files
}
- 例子
const { errCode, errMessage, data} = await qiqi.sdk.chooseImages({
sourceType: ['camera'], // 只允许相机
})
previewImages(Object object)
功能描述
在新页面中全屏预览图片。预览的过程中用户可以进行保存图片、发送给朋友等操作参数
参数 说明 类型 默认值 必填 urls 需要预览的图片链接列表 Array <string>
是 current 当前显示图片的链接 string urls 的第一张 否 返回值 Promise
<NativeSDKResult<<boolean>>
例子
const { errCode, errMessage, data} = await qiqi.sdk.previewImages({
urls: [
'https://img.500px.me/photo/125fe154e495795525293c5bf0dfa2043/17b6e927903c4c5f98c3ccc85bfbe9c7.jpg!p5',
'https://img.500px.me/photo/125fe154e495795525293c5bf0dfa2043/02963964949b4f41a172c4e829a081b3.jpg!p5'
]
})
if(data){
console.log('invoke success!')
}
uploadImages(Object object)
功能描述
将本地选择的图片上传到 企企S3服务临时存储返回file key 后续通过开发可以将文件从临时存储空间读取参数
参数 说明 类型 默认值 必填 filePaths 要上传文件资源的路径 (本地路径) string[] files 要上传文件资源的路径 (本地路径) File[] 是 expireTime 上传到S3过期时间 string HOUR24 否 showProgress 是否显示上传进度 boolean true 否
expireTime可选值
- HOUR24
- HOUR48
此参数传其他值会报错
返回值 Promise
<NativeSDKResult<UploadImageResult[]>>
type UploadImageResult = {
key:string // 上传的key 使用此key 可以下载上传的临时文件
url:string // 文件地址
name: string // 文件名称
type: string // 类型
size: number // 文件大小
ext: string // 文件后缀
tempFilePath: string // 本地文件地址
headers: Record<string, string> // S3 上传的认证信息
status: 'success' | 'fail' // 状态
}例子
const { errCode, errMessage, data } = await qiqi.sdk.chooseImages({
...
})
if(data){
const result = await qiqi.sdk.uploadImages({
filePaths: data.tempFilePaths,
files: data.files,
showProgress: false // 不显示上传进度
})
}chooseAndUploadImages(Object object)
功能描述
选择文件直接上传 不需要再次调用uploadImages 这个功能相当于将chooseImages和uploadImages 整合起来参数
参数 说明 类型 默认值 必填 count 最多可以选择的图片张数 number 9 否 sizeType 所选的图片的尺寸 Array <string>
['original','compressed'] 否 sourceType 选择图片的来源 Array <string>
['album','camera'] 否 expireTime 上传到S3过期时间 string HOUR24 否 showProgress 是否显示上传进度 boolean true 否
- 返回值 Promise
<NativeSDKResult<UploadImageResult[]>>
- 例子
const { errCode, errMessage, data } = await qiqi.sdk.chooseAndUploadImages({
...
})
位置
getLocation(Object object)
功能描述
获取当前的地理位置参数
参数 | 说明 | 类型 | 默认值 | 必填 |
---|---|---|---|---|
type | wgs84 返回 gps 坐标 | string | wgs84 | 否 |
- 返回值 Promise
<NativeSDKResult<GetLocationResult>>
type GetLocationResult = {
latitude: number // 纬度,范围为 -90~90,负数表示南纬
longitude: number // 经度,范围为 -180~180,负数表示西经
}
- 例子
const { data } = await qiqi.sdk.getLocation({
...
})
扫码
scanCode(Object object)
功能描述
调起客户端扫码界面进行扫码 支持条形码和二维码参数
暂时不需要提供参数返回值 Promise
<NativeSDKResult<ScanCodeResult>
type ScanCodeResult = {
resultStr: string
}
- 例子
const { data } = await qiqi.sdk.scanCode({
...
})