1.0.2 • Published 4 years ago

yl-js-sdk v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago

云链开放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

目录

  1. 打开相机拍照或者拍摄视频
  2. 从相册选图
  3. 图片处理
  4. 视频处理
  5. 图片编辑
  6. 获取图片信息
  7. 获取视频信息

API

openCamera 打开相机拍照或者拍摄视频

ImagePicker.openCamera(path, options)
  .then(res => {
    doSuccess();
  })
  .catch(err => {
    doError();
  });
参数说明
参数类型是否必填默认值说明
pathstring图片存储路径
optionsobject{}-
options 结构说明
字段名称类型是否必填默认值说明
sourceTypestringphoto区分拍照和录制视频,分别对应传参 photo 和 video
photoConfigobject{}当 sourceType 为 photo 时的可选参数,photoConfig 释义如下
videoConfigobject{}当 sourceType 为 video 时的可选参数,videoConfig 释义如下
photoConfig 结构说明
字段名称类型是否必填默认值说明
editbooleanfalse是否启用图片编辑功能
limitsarray{}图片编辑功能配置项,仅在 edit=true 时生效。涂鸦/添加文字/裁剪功能配置化,可传入参数:0, 1, 2. 0:涂鸦;如果没有传入,隐藏此功能;1:添加文字;如果没有传入,隐藏此功能;2:裁剪;如果没有传入,隐藏此功能;必须开启一个功能,否则忽略 limits 参数,开启所有功能。
autoSelectedint{}自动选中激活编辑功能,0:涂鸦;1:添加文字;2:裁剪;默认所有编辑功能都不主动激活;1.1.4 版本开始生效
videoConfig 结构说明
字段名称类型是否必填默认值说明
recordDurationint10视频录制时长,单位秒,Android端因厂商ROM定制,部分设备该参数设置后无效

openAlbum 从手机相册选择图片

ImagePicker.openAlbum(paths, options)
  .then(res => {
    doSuccess();
  })
  .catch(err => {
    doError();
  });
参数说明
参数类型是否必填默认值说明
pathsarray-图片存储路径列表,paths 内容为存放图片的绝对路径(须含文件名)。Tips:1、系统相册仅支持图片单选,若 paths 中有多个内容,则取 paths02、自定义相册支持图片单选和多选,当 paths.length > 1 时启用多选功能
optionsobject{}可选参数。详情请参照下方 options 结构说明
options 结构说明
字段名称类型是否必填默认值说明
customModebooleanfalse是否启用自定义相册,为 true 时启用自定义相册,false 启用系统相册
editbooleanfalse是否启用图片编辑功能
limitsarray-图片编辑功能配置项,仅在 edit=true 时生效。涂鸦/添加文字/裁剪功能配置化,可传入参数:0, 1, 20:涂鸦;如果没有传入,隐藏此功能;1:添加文字;如果没有传入,隐藏此功能;2:裁剪;如果没有传入,隐藏此功能;必须开启一个功能,否则忽略 limits 参数,开启所有功能。
autoSelectedint-自动选中激活编辑功能,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();
  });
参数说明
参数类型是否必填默认值说明
pathstring-需要处理的图片绝对路径
optionsobject{}可选参数。详情请参照下方 options 结构说明
options 结构说明
字段名称类型是否必填默认值说明
saveToAlbumbooleanfalse是否保存到相册,true: 存到相册;false:不存入相册;不传则默认为 false。
ratiofloatfalse图片压缩比例(以减小清晰度的代价,有助于减小物理空间),范围 0 ~ 1,压缩程度与 ratio 成反比,默认 0.8
widthinit-图片宽度,传入值宽高与图片真实宽高比率对比,取最大值对图片进行宽高等比压缩,最终值可能与传入值有偏差; 默认值: iOS:屏幕宽*手机缩放比率,例如:iPhone 6plus 默认屏幕的 3 倍大小,iPhone5 默认屏幕的 2 倍大小; Android:1080px
heightint-图片高度,传入值宽高与图片真实宽高比率对比,取最大值对图片进行宽高等比压缩,最终值可能与传入值有偏差;默认值: iOS:屏幕宽*手机缩放比率,例如:iPhone 6plus 默认屏幕的 3 倍大小,iPhone5 默认屏幕的 2 倍大小;Android:1920px
keepOriginbooleanfalse是否保持原图,为 true 时,不做缩放,默认 false
watermarkConfigjsonfalse图片水印,详细配置如下
  • 注意:width 和 height 如果小于待压缩图片尺寸,那么图片宽高不做处理

watermarkConfig 参数字段说明

字段名称字段名称说明
textBackgroundstring文字整行的背景颜色,格式为 16 进制,推荐值(即默认值):#40000000
textAlignmentstring标识文本在水平方向的对齐方式,竖直方向居中显示;可取值:left:文本靠左对齐;center:文本居中对齐;right:文本靠右对齐;传错或不传则默认为 left。
boardPositionstring标识整个水印背景框在竖直方向的位置;可取值:top:水印添加在屏幕顶部;center:水印添加在屏幕中间;bottom:水印添加在屏幕底部;传错或不传则默认为 bottom。
textColumnsstring一个 json 下标对象显示一行,从上往下顺序显示.文本行数随内容变化,超出部分省略号显示, 示例:  {   "iconPath":"图标路径,只支持本地",   "text":"文本说明",   "textColor":"文本颜色,格式为 16 进制,默认值:#FFFFFF"  },  ...

videoProcess 从手机相册选择图片

ImagePicker.videoProcess(path, options)
  .then(res => {
    doSuccess();
  })
  .catch(err => {
    doError();
  });
参数说明
参数类型是否必填默认值说明
pathstring-待处理视频绝对路径
optionsobject{}可选参数。详情请参照下方 options 结构说明
options 结构说明
字段名称类型是否必填默认值说明
saveToAlbumbooleanfalse是否保存到相册,true: 存到相册;false:不存入相册;不传则默认为 false。
ratiofloatfalse图片压缩比例(以减小清晰度的代价,有助于减小物理空间),范围 0 ~ 1,压缩程度与 ratio 成反比,默认 0.8

editImage 从手机相册选择图片

ImagePicker.editImage(pathGroups, options)
  .then(res => {
    doSuccess();
  })
  .catch(err => {
    doError();
  });
参数说明
参数类型是否必填默认值说明
pathGroupsstring-待编辑图片路径&已编辑图片路径 pathGroups
optionsobject{}可选参数。详情请参照下方 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 结构说明
字段名称类型是否必填默认值说明
limitsarrayfalse涂鸦/添加文字/裁剪功能配置化,可传入参数:0, 1, 20:涂鸦;如果没有传入,隐藏此功能;1:添加文字;如果没有传入,隐藏此功能;2:裁剪;如果没有传入,隐藏此功能;必须开启一个功能,否则忽略 limits 参数,开启所有功能。
autoSelectedintfalse自动选中激活编辑功能,0:涂鸦;1:添加文字;2:裁剪;

getImageInfo 从手机相册选择图片

ImagePicker.getImageInfo(path)
  .then(res => {
    doSuccess();
  })
  .catch(err => {
    doError();
  });
参数说明
参数类型是否必填默认值说明
pathstring-待获取信息的图片路径
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();
  });
参数说明
参数类型是否必填默认值说明
pathstring-待获取信息的图片路径
optionsjson--可选参数。详情请参照下方 options 结构说明
options 结构说明
参数类型说明
firstFramePathstring预览图片(即视频首帧)存储地址,为绝对路径
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();