## 移动端Api说明文档

### Api列表

- [1，拍摄视频](#1拍摄视频)
- [2，从手机相册选择文件](#2从手机相册选择文件)
- [3，拍照](#3拍照)
- [4，文件上传](#4文件上传)

---
### 1，拍摄视频

## vdk.mobile.mediaCapture.captureVideo(Function successCallback,Function errorCallback)
#### 参数

| 参数            | 类型     | 默认值 | 必填 | 说明     |
| --------------- | -------- | ------ | ---- | :------- |
| successCallback | Function |        | 是   | 成功回调 |
| errorCallback   | Function |        | 是   | 失败回调 |
##### successCallback说明
此api调用成功后执行该函数，其参数个数一个，类型为String，值为所拍摄视频的本地文件地址。
##### errorCallback说明
此api调用成功后执行该函数，其参数个数一个，类型为String，值为错误信息。
#### 返回： void
#### 示例代码
```js
vdk.mobile.mediaCapture.captureVideo(
    function(videoPath){
        //do something
    },
    function(errorMsg){
        //do something
    });



```

---
### 2，从手机相册选择文件

### vdk.mobile.imagePicker.getPicture(Function successCallback,Function errorCallback,Object options)
#### 参数

| 参数            | 类型     | 默认值 | 必填 | 说明     |
| --------------- | -------- | ------ | ---- | :------- |
| successCallback | Function |        | 是   | 成功回调 |
| errorCallback   | Function |        | 是   | 失败回调 |
| options         | Object   |        | 是   | 参数选项 |
| context         | Object   |        | 否   | 当前vue组件对象，即this |
##### successCallback说明
此api调用成功后执行该函数，其参数个数一个，类型为Array对象，值依次为所选取文件的本地地址。
##### errorCallback说明
此api调用成功后执行该函数，其参数个数一个，类型为String，值为错误信息。
##### options说明
配置选项，类型为Object，属性如下：

|属性|类型|默认值|必填|说明|
|-------|--------|-------|-------|-------|
|maximumImagesCount        |int     | 20 |否 |文件选择数量，默认为20                 |
|width  |int     | 0 |否 |否图片宽度，默认为0 (原图大小)                   |
|height         |int     | 0 |否 |图片高度，默认为0 (原图大小)                 |
|quality        |int   | 100 |否 |图片质量，默认为100%   |

#### 返回： void

#### 示例代码
```js
vdk.mobile.imagePicker.getPicture(
    function(results){
        //do something  eg.
        for (var i = 0; i < results.length; i++) {
	 			alert('Image URI: ' + results[i]);
	 	}
    },
    function(errorMsg){
        //do something
    },{
        maximumImagesCount: 5
       	width:0,
      	height: 0,
        quality: 70
    });




```

---
### 3，拍照

### vdk.mobile.camera.getPicture(Function successCallback,Function errorCallback,Object options)
#### 参数

| 参数            | 类型     | 默认值 | 必填 | 说明     |
| --------------- | -------- | ------ | ---- | :------- |
| successCallback | Function |        | 是   | 成功回调 |
| errorCallback   | Function |        | 是   | 失败回调 |
| options         | Object   |        | 是   | 参数选项 |
##### successCallback说明
此api调用成功后执行该函数，其参数个数一个，类型为String，值所拍照片的本地文件地址。
##### errorCallback说明
此api调用成功后执行该函数，其参数个数一个，类型为String，值为错误信息。
##### options说明
拍照选项，类型为Object，属性如下：

|属性|类型|默认值|必填|说明|
|-------|--------|-------|-------|-------|
|quality        |int     | 50 |否 |图片压缩比例，0-100之间,默认50                 |
|targetWidth  |int     | -1 |否 |图片宽度  -1为默认不修改                   |
|targetHeight         |int     | -1 |否 |图片高度  -1为默认不修改                 |

#### 返回： void

#### 示例代码
```js
vdk.mobile.camera.getPicture(
    function(imagePath){
        //do something
    },
    function(errorMsg){
        //do something
    },{
        quality: 60,
       	targetWidth:-1,
      	targetHeight: -1
    });



```

---
### 4，文件上传

### vdk.mobile.fileTransfer.filetransferUpload(String fileUrls,Function callback)
#### 参数

| 参数      | 类型     | 默认值 | 必填 | 说明                                                    |
| --------- | -------- | ------ | ---- | :------------------------------------------------------ |
| filePaths | Array    |        | 是   | 本地文件地址，数组格式  例如：[filePath1,filePath2,...] |
| callback  | Function |        | 是   | 回调函数                                                |
|context        |Object     |   |否     |上下文（vue实例）           |

##### filePaths说明

本地文件地址，数组格式   例如：[filePath1,filePath2,...]

##### callback说明

此api调用完成后执行该函数，其参数类型为Object，包含两个属性，说明如下：
|属性|类型|说明|
|-------|--------|-------|
|result        |Object     |结果对象，说明见【callback 入参result属性说明】|
|fileIds         |Array     | 此Array中的元素，依次为被上传文件所保存在服务端的文件ID（mongoDB） |

##### callback 入参result属性说明

|属性|类型|说明|
|-------|--------|-------|
|success        |Boolean     |成功 true  失败false                 |
|errorCode         |int     | 1:不合法的URL  2:未知异常   3:服务器异常或网络连接失败 |

##### context说明

context为vue实例对象，如在vue单文件组件中使用该接口，传递this即可

#### 返回： void

#### 示例代码
```js
vdk.mobile.fileTransfer.filetransferUpload(
   fileUrls,function(result,fileIds){
        //do something
        //eg.
        if(!success){
            alert("上传失败");
        }else if(success && success.errorCode){
            var errorCode = success.errorCode;
            switch(errorCode){
                case 1:alert("不合法的URL");break;
                case 2:alert("未知异常");break;   
                case 3:alert("服务器异常或网络连接失败");break;
            }
        }else{
            if(files){
                for(var i=0;i<files.length;i++){
                    alert(files[i])
                }
            }
        }
    },
    this);
```




### 5，获取当前GPS地理位置

### vdk.mobile.geoLocation.getCurrentPosition(Function  successCallBack,Function errorCallBack)
#### 参数

| 参数            | 类型     | 默认值 | 必填 | 说明     |
| --------------- | -------- | ------ | ---- | :------- |
| successCallBack | Function |        | 是   | 成功回调 |
| errorCallBack   | Function |        | 是   | 失败回调 |

##### successCallBack说明

此api调用成功后执行该函数，其参数个数一个，类型为Object，详细定义如下：
|属性|类型|说明|
|-------|--------|-------|
|latitude        |float     |纬度                 |
|longitude         |float     | 经度 |


##### errorCallBack说明

此api调用成功后执行该函数，其参数个数一个，类型为String，值为错误信息。
#### 返回： void

#### 示例代码
```js
vdk.mobile.geoLocation.getCurrentPosition(
  function(result){
        //do something
  },function(errorMsg){
      //do something
  });
```