/**
* 相机模块提供了移动设备相机接口的调用,开发者可使用该模块进行相机操作的调用,应用场景包括:
* <ul>
* <li>拍照/录像</li>
* <li>调用相册</li>
* </ul>
* <strong>
* 页面需要导入的文件
* <ul>
* <li>cmp-camera.js</li>
* </ul>
* </strong>
* @module Camera
* @subtitle 相机模块
*/
/**
* 照相机
* <br>包含了拍照获取图片/视频功能、调用相册获取图片功能
* <br>根据开发者不同需求,可返回的图像数据有1、base64格式字符串;2、图像文件路径;3、本地图像路径;4、file控件的二进制的数据
* @namespace cmp
* @class camera
*/
/**
* 获取图像方法,开发者可通过配置获取自己想要的图像文件数据
* @method getPictures
* @namespace cmp.camera
* @param {Object} [options] 获取图像配置参数对象
* @param {Boolean} [options.compress] 是否返回压缩后的图片,true:返回缩略图,false:返回原图
* @param {Number} [options.quality] 摄像头品质参数(范围0~100,默认100)
* @param {Number} [options.targetWidth] 生成的图像宽度
* @param {Number} [options.targetHeight] 生成的图像高度
* @param {Boolean} [options.saveToPhotoAlbum] 是否将图像保存到相册
* @param {Number} [options.destinationType] 返回的图像数据类型:<br>
* <ul>
* <li>0:base64格式(默认)</li>
* <li>1:图像文件路径</li>
* <li>2:本地图片路径</li>
* </ul>
* <br><span style="color:red;">注:M1平台返回图片路径+base64,纯H5平台只返回base64</span>
* @param {Number} [options.sourceType] 获取图像文件的方式:<br>
* <ul>
* <li>0:图片库</li>
* <li>1:摄像头(默认)</li>
* <li>2:相册</li>
* </ul>
* @param {Number} [options.encodingType] 图像编码类型:<br>
* <ul>
* <li>0:jpeg(默认)</li>
* <li>1:png</li>
* </ul>
* @param {Number} [options.pictureNum] 选择图片的数量:默认数量:9;<br ><span style="color:red;">注:在M1平台下不支持多选</span>
*
* @param {Function} [options.success] 执行成功后的回调函数
* @param {Function} [options.error] 执行失败后的回调函数
* @returns {Object} result 返回值:<br>
* <ul>
* <li>result.success:成功与否标识,true:成功;false:失败</li>
* <li>result.files:返回的图片数据(数组)
* <ul>
* <li>base64:图片的base64字符串(压缩后的,一般作为缩略图展示)</li>
* <li>filepath:图片的原图路径<span style="color:red;">注:纯H5平台下该值不返回</span></li>
* <li>fileSize:图片的原图大小(单位:byte)</li>
* <li>type:图片的类型</li>
* <li>fileData:如果是微信端选图片,返回图片的二进制数据</li>
* </ul>
* </li>
* </ul>
* @example
* ```
* 文件导入路径:
* M3App端
* <script src="http://cmp/v1.0.0/js/cordova/__CMPSHELL_PLATFORM__/cordova.js"></script>
* <script src="http://cmp/v1.0.0/js/cordova/cordova-plugins.js"></script>
* <script src="http://cmp/v/js/cmp.js"></script>
* <script src="http://cmp/v/js/cmp-camera.js"></script>
* ===========================================================================================
* 微协同端:6.1sp2版本以下的版本不支持微协同
* <script src="/seeyon/m3/cmp/js/cmp.js"></script>
* <script src="/seeyon/m3/cmp/js/cmp-camera.js"></script>
* =========================================================================================
* 调用组件
* <script>
* cmp.camera.getPictures({
* compress:true,
* quality:100,
* targetWidth:-1,
* targetHeight:-1,
* saveToPhotoAlbum:false,
* destinationType:1,
* sourceType:1,
* encodingType:0,
* success:function(cameraResult){
* //返回的数据格式如下:
* cameraResult = {
* success:true,
* files:[{ /真实的图片数组
* base64:'data:image/jpg;base64,iVBORw',//图片的base64字符串
* filepath:"/storage/emulated/0/Tencent/QQfile_recv/QQDataLineGuidePic.png", //图片在手机端的路径
* fileSize:"1024", //图片大小
* type:"png",
* index:1~9,//选择图片的顺序,ios iphone6无法确定选择的顺序
* fileData:file//微信端选中的图片的二进制数据(如果是M3壳,不会返回此数据)
* }]
* };
* },
* error:function(){
* //do something
* }
* });
* </script>
* ```
*/
/**
* 将base64数据转换成可以上传的二进制数据,主要用于调用微信上传附件时所需要的二进制数据
* @method base64ToFileData
* @namespace cmp.camera
* @param {String} base64Data base64字符串
* @example
* ```
* <script>
* var fileData = cmp.camera.base64ToFileData("data:image/jpeg;base64,iVBORw0KGgoAAAANSU.....");
* </script>
* ```
*/