1.0.2 • Published 4 years ago
yl-js-sdk v1.0.2
云链开放JSSDK
Device
提供设备相关信息,判断设备类型安卓还是苹果,设备事件调用
API
ready
设备插件准备就绪事件,所有插件的调用必须等到设备 ready 后才能够执行
import Device from '@yl-app-jssdk/device';
Device.ready().then(result => {
doingSomething();
});
方法返回的是一个 promise
参数说明
无
返回说明
- resolve 设备准备就绪返回 true
- reject 返回错误信息
getDeviceInfo
获取设备相关信息,例如设备平台信息,设备版本信息等等;
Device.getDeviceInfo();
参数说明
无
返回说明
- object 设备相关信息
isIOS
判断设备是否 ios,如果是返回 true,如果不是返回 false
Device.isIOS();
参数说明
无
返回说明
- boolean: true/false
isAndroid
判断设备是否安卓平台,如果是返回 true,如果不是返回 false
Device.isAndroid();
参数说明
无
返回说明
- boolean: true/false
resume
设备恢复前台事件
Device.resume(callback);
参数说明
参数 | 说明 | 类型 | 默认值 | 是否必填 |
---|---|---|---|---|
callback | 回调事件 | function | 空 | 是 |
返回说明
无
pause
设备切换后台事件
Device.resume(callback);
参数说明
参数 | 说明 | 类型 | 默认值 | 是否必填 |
---|---|---|---|---|
callback | 回调事件 | function | 空 | 是 |
返回说明
无
Network
提供网路状态相关的服务,服务均为promise
API
hasNetwork
判断当前是否有联网
hasNetwork()
.then(res => {
if (res) {
console.log('已联网');
} else {
console.log('未联网');
}
})
无参数
返回说明
- resolve 已联网:
true
, 未联网:false
- reject 操作失败的原因
getNetworkType
获取网络连接类型
getNetworkType()
.then(({isNoNetwork, isWifi}) => {
if (isNoNetwork) {
console.log('未联网');
}
if (!isWifi){
console.log('非wifi网络');
} else {
console.log('wifi网络');
}
})
无参数
返回说明
- resolve 一个对象,isNoNetwork表示是否无网络,isWifi表示是否是wifi网路
{isNoNetwork: true, isWifi: false}
- reject 操作失败的原因
ImagePicker
图片选取器:包含拍照,录制视频,相册选图,图片和视频处理、获取图片和视频信息、图片涂鸦、文本、剪裁等功能
注意事项
- 以下接口的 error 回调中,errorCode 通用释义
errorCode | 说明 |
---|---|
-1 | 普通错误,错误具体内容参考 errMsg |
999 | 取消操作 |
1001 | 调用插件接口传参错误, (参数不合法,参数不匹配,参数校验失败等) |
1100 | 用户拒绝权限 |
1101 | 用户取消权限,仅支持Android |
目录
API
openCamera 打开相机拍照或者拍摄视频
ImagePicker.openCamera(path, options)
.then(res => {
doSuccess();
})
.catch(err => {
doError();
});
参数说明
参数 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
path | string | 是 | 空 | 图片存储路径 |
options | object | 否 | {} | - |
options 结构说明
字段名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
sourceType | string | 否 | photo | 区分拍照和录制视频,分别对应传参 photo 和 video |
photoConfig | object | 否 | {} | 当 sourceType 为 photo 时的可选参数,photoConfig 释义如下 |
videoConfig | object | 否 | {} | 当 sourceType 为 video 时的可选参数,videoConfig 释义如下 |
photoConfig 结构说明
字段名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
edit | boolean | 否 | false | 是否启用图片编辑功能 |
limits | array | 否 | {} | 图片编辑功能配置项,仅在 edit=true 时生效。涂鸦/添加文字/裁剪功能配置化,可传入参数:0, 1, 2. 0:涂鸦;如果没有传入,隐藏此功能;1:添加文字;如果没有传入,隐藏此功能;2:裁剪;如果没有传入,隐藏此功能;必须开启一个功能,否则忽略 limits 参数,开启所有功能。 |
autoSelected | int | 否 | {} | 自动选中激活编辑功能,0:涂鸦;1:添加文字;2:裁剪;默认所有编辑功能都不主动激活;1.1.4 版本开始生效 |
videoConfig 结构说明
字段名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
recordDuration | int | 否 | 10 | 视频录制时长,单位秒,Android端因厂商ROM定制,部分设备该参数设置后无效 |
openAlbum 从手机相册选择图片
ImagePicker.openAlbum(paths, options)
.then(res => {
doSuccess();
})
.catch(err => {
doError();
});
参数说明
参数 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
paths | array | 是 | - | 图片存储路径列表,paths 内容为存放图片的绝对路径(须含文件名)。Tips:1、系统相册仅支持图片单选,若 paths 中有多个内容,则取 paths0;2、自定义相册支持图片单选和多选,当 paths.length > 1 时启用多选功能 |
options | object | 否 | {} | 可选参数。详情请参照下方 options 结构说明 |
options 结构说明
字段名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
customMode | boolean | 否 | false | 是否启用自定义相册,为 true 时启用自定义相册,false 启用系统相册 |
edit | boolean | 否 | false | 是否启用图片编辑功能 |
limits | array | 否 | - | 图片编辑功能配置项,仅在 edit=true 时生效。涂鸦/添加文字/裁剪功能配置化,可传入参数:0, 1, 20:涂鸦;如果没有传入,隐藏此功能;1:添加文字;如果没有传入,隐藏此功能;2:裁剪;如果没有传入,隐藏此功能;必须开启一个功能,否则忽略 limits 参数,开启所有功能。 |
autoSelected | int | 否 | - | 自动选中激活编辑功能,0:涂鸦;1:添加文字;2:裁剪;默认所有编辑功能都不主动激活;1.1.4版本开始生效 |
返回数据结构说明
成功回调,result为结果数组(result.length ≤ paths.length)
result内容:
[{
"code":0, //code为0是图片选取成功,非0时均为失败;
"result":"path", //图片存储路径,从前端传入paths遍历后得到
"errMsg":"失败错误具体原因"
}]
imageProcess 从手机相册选择图片
ImagePicker.imageProcess(path, options)
.then(res => {
doSuccess();
})
.catch(err => {
doError();
});
参数说明
参数 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
path | string | 是 | - | 需要处理的图片绝对路径 |
options | object | 否 | {} | 可选参数。详情请参照下方 options 结构说明 |
options 结构说明
字段名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
saveToAlbum | boolean | 否 | false | 是否保存到相册,true: 存到相册;false:不存入相册;不传则默认为 false。 |
ratio | float | 否 | false | 图片压缩比例(以减小清晰度的代价,有助于减小物理空间),范围 0 ~ 1,压缩程度与 ratio 成反比,默认 0.8 |
width | init | 否 | - | 图片宽度,传入值宽高与图片真实宽高比率对比,取最大值对图片进行宽高等比压缩,最终值可能与传入值有偏差; 默认值: iOS:屏幕宽*手机缩放比率,例如:iPhone 6plus 默认屏幕的 3 倍大小,iPhone5 默认屏幕的 2 倍大小; Android:1080px |
height | int | 否 | - | 图片高度,传入值宽高与图片真实宽高比率对比,取最大值对图片进行宽高等比压缩,最终值可能与传入值有偏差;默认值: iOS:屏幕宽*手机缩放比率,例如:iPhone 6plus 默认屏幕的 3 倍大小,iPhone5 默认屏幕的 2 倍大小;Android:1920px |
keepOrigin | boolean | 否 | false | 是否保持原图,为 true 时,不做缩放,默认 false |
watermarkConfig | json | 否 | false | 图片水印,详细配置如下 |
- 注意:width 和 height 如果小于待压缩图片尺寸,那么图片宽高不做处理
watermarkConfig 参数字段说明
字段名称 | 字段名称 | 说明 |
---|---|---|
textBackground | string | 文字整行的背景颜色,格式为 16 进制,推荐值(即默认值):#40000000 |
textAlignment | string | 标识文本在水平方向的对齐方式,竖直方向居中显示;可取值:left:文本靠左对齐;center:文本居中对齐;right:文本靠右对齐;传错或不传则默认为 left。 |
boardPosition | string | 标识整个水印背景框在竖直方向的位置;可取值:top:水印添加在屏幕顶部;center:水印添加在屏幕中间;bottom:水印添加在屏幕底部;传错或不传则默认为 bottom。 |
textColumns | string | 一个 json 下标对象显示一行,从上往下顺序显示.文本行数随内容变化,超出部分省略号显示, 示例: { "iconPath":"图标路径,只支持本地", "text":"文本说明", "textColor":"文本颜色,格式为 16 进制,默认值:#FFFFFF" }, ... |
videoProcess 从手机相册选择图片
ImagePicker.videoProcess(path, options)
.then(res => {
doSuccess();
})
.catch(err => {
doError();
});
参数说明
参数 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
path | string | 是 | - | 待处理视频绝对路径 |
options | object | 否 | {} | 可选参数。详情请参照下方 options 结构说明 |
options 结构说明
字段名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
saveToAlbum | boolean | 否 | false | 是否保存到相册,true: 存到相册;false:不存入相册;不传则默认为 false。 |
ratio | float | 否 | false | 图片压缩比例(以减小清晰度的代价,有助于减小物理空间),范围 0 ~ 1,压缩程度与 ratio 成反比,默认 0.8 |
editImage 从手机相册选择图片
ImagePicker.editImage(pathGroups, options)
.then(res => {
doSuccess();
})
.catch(err => {
doError();
});
参数说明
参数 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
pathGroups | string | 是 | - | 待编辑图片路径&已编辑图片路径 pathGroups |
options | object | 否 | {} | 可选参数。详情请参照下方 options 结构说明 |
pathGroups 结构说明
[
{
srcPath: 'src_image_01.png', // 待编辑图片路径
destPath: 'dest_image_02.png', // 编辑后的图片存放路径
},
{
srcPath: 'src_image_01.png',
destPath: 'dest_image_02.png',
},
];
res 结构说明
[
{
code: -1, // 非0时操作失败
errMsg: '图片不存在', // 操作失败具体原因
srcPath: 'src_image_01.png', // 待编辑图片路径
},
{
code: 0, // 为0时操作成功
srcPath: 'src_image_01.png', // 待编辑图片路径
destPath: 'dest_image_02.png', // 编辑后的图片存放路径(仅当图片编辑成功后该值才有内容返回)
},
];
options 结构说明
字段名称 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
limits | array | 否 | false | 涂鸦/添加文字/裁剪功能配置化,可传入参数:0, 1, 20:涂鸦;如果没有传入,隐藏此功能;1:添加文字;如果没有传入,隐藏此功能;2:裁剪;如果没有传入,隐藏此功能;必须开启一个功能,否则忽略 limits 参数,开启所有功能。 |
autoSelected | int | 否 | false | 自动选中激活编辑功能,0:涂鸦;1:添加文字;2:裁剪; |
getImageInfo 从手机相册选择图片
ImagePicker.getImageInfo(path)
.then(res => {
doSuccess();
})
.catch(err => {
doError();
});
参数说明
参数 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
path | string | 是 | - | 待获取信息的图片路径 |
res 结构说明
{
"width": 1080,// 照片宽度
"height": 1920,// 照片高度
"size": 1024,// 照片占用内存大小,单位:Byte
"dateTime": "2019:03:07 18:05:20",// 照片拍摄时间,格式:"yyyy:mm:dd HH:mm:ss"
}
getVideoInfo 从手机相册选择图片
ImagePicker.getVideoInfo(path, options)
.then(res => {
doSuccess();
})
.catch(err => {
doError();
});
参数说明
参数 | 类型 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|
path | string | 是 | - | 待获取信息的图片路径 |
options | json | - | - | 可选参数。详情请参照下方 options 结构说明 |
options 结构说明
参数 | 类型 | 说明 |
---|---|---|
firstFramePath | string | 预览图片(即视频首帧)存储地址,为绝对路径 |
res 结构说明
{
"width": 1080,// 帧宽度
"height": 1920,// 帧高度
"size": 1024,// 视频占用内存大小,单位:Byte
"dateTime": "2019:03:07 18:05:20",// 照片拍摄时间,格式:"yyyy:mm:dd HH:mm:ss"
"rotate": 90,// 视频旋转角度
"duration": 10, // 视频时长,单位:毫秒
"firstFramePath": "xxxx", // 视频首帧存放路径,绝对路径
}
platform
提供当前代码运行环境(android,ios,weixin,ipad)的判断方法
API
是否是 ios 环境
isIOS();
是否是 android 环境
isAndroid();
是否是 ipad 环境
isIPad();
是否是 移动端 环境
isMobile();
是否是 IOSX 环境,主要用于做 iphone 刘海屏的兼容
isIOSX();