多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## API对象 [TOC] ## 概述 api 对象是您入门 APICloud 必须了解和熟练掌握的一个基础对象。api 对象提供了构建应用程序所需要的一些基本的方法(method),如窗口操作、相册和网络数据访问等;以及一些常见的属性(Attrbute),如屏幕宽度(screenWidth),系统类型(systemType)等;还有一些常用事件,如电量低(batterylow)事件、应用进入后台(pause)事件。api 对象不需要 require 引用,可以直接在 js 中使用。 ## appId 应用的 ID,可以在网站控制台概览里面查看,字符串类型 ### 示例代码 var appId = api.appId; //比如: A6980386445546 ### 可用性 iOS系统,Android系统 可提供的1.1.0及更高版本 ## appName 应用在桌面显示名称,字符串类型 ### 示例代码 var appName = api.appName; //比如: AppLoader ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## appVersion 应用版本号,字符串类型 ### 示例代码 var appVersion = api.appVersion; // 比如: 1.0.0 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## systemType 系统类型,如iOS、Android,取值范围详见[系统类型](!Constant#b18)常量,字符串类型 ### 示例代码 var systemType = api.systemType; // 比如: iOS ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## systemVersion 手机平台的系统版本,字符串类型 ### 示例代码 var systemVersion = api.systemVersion; // 比如: 8.0 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## version 引擎版本信息,字符串类型 ### 示例代码 var version = api.version; //比如: 1.0.0 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## deviceId 设备唯一标识,字符串类型 ### 示例代码 var deviceId = api.deviceId; //比如: FC408F8B-9598-48B6-A740-B9037ADCXXXE ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## deviceToken iOS中用于推送的Token,若未从系统获取到则返回空字符串,字符串类型 ### 示例代码 var deviceToken = api.deviceToken; //比如: a22241adab6c68b3687a9f0f086c540341f4b3f010546d4af4834ada32281615 ### 可用性 iOS系统 可提供的1.1.0及更高版本 ## deviceModel 设备型号,字符串类型 ### 示例代码 var deviceModel = api.deviceModel; // 比如: iPhone 5 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## deviceName 设备名称,字符串类型 ### 示例代码 var deviceName = api.deviceName; // 比如:“柚子”的 iPhone ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## operator 运营商名称,若未获取到则返回none,字符串类型 ### 示例代码 var operator = api.operator; // 比如:中国移动 ### 可用性 iOS系统,Android系统 可提供的1.1.0及更高版本 ## connectionType 当前网络连接类型,如 2g、3g、4g、wifi 等,取值范围详见[网络类型](!Constant#b16)常量,字符串类型 ### 示例代码 var connectionType = api.connectionType; //比如: wifi ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## fullScreen 应用是否全屏,布尔类型,只支持iOS ### 示例代码 var fullScreen = api.fullScreen; // 比如: true ### 可用性 iOS系统 可提供的1.0.0及更高版本 ## screenWidth 屏幕分辨率宽,数字类型 ### 示例代码 var screenWidth = api.screenWidth; // 比如: 640 ### 可用性 iOS系统,Android系统 可提供的1.1.0及更高版本 ## screenHeight 屏幕分辨率高,数字类型 ### 示例代码 var screenHeight = api.screenHeight; // 比如: 960 ### 可用性 iOS系统,Android系统 可提供的1.1.0及更高版本 ## winName 当前 window 名称,字符串类型 该属性值为 openWin() 时传递的 name 参数值,注意首页的名称为 root ### 示例代码 var winName = api.winName; //比如: root ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## winWidth 当前 window 宽度,数字类型 此属性值不同于屏幕的分辨率,比如 iPhone 5 的分辨率为 640*1136,但是其 winWidth 为 320,因此前端需根据 winWidth 和 winHeight 来进行布局 ### 示例代码 var winWidth = api.winWidth; // 比如: 320 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## winHeight 当前 window 高度,数字类型 此属性值不同于屏幕的分辨率,比如 iPhone 5 的分辨率为 640*1136,但是其 winHeight 为 568(若不使用iOS7风格则为 548),因此前端需根据 winWidth 和 winHeight 来进行布局 ### 示例代码 var winHeight = api.winHeight; // 比如: 568 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## frameName frame 名称,字符串类型 若当前环境为 window 中,则该属性值为空字符串 ### 示例代码 var frameName = api.frameName; //比如: trans-con ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## frameWidth frame 宽度,数字类型 若当前环境为 window 中,则值和 winWidth 相同 ### 示例代码 var frameWidth = api.frameWidth; // 例如: 320 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## frameHeight frame 高度,数字类型 若当前环境为 window 中,则值和 winHeight 相同 ### 示例代码 var frameHeight = api.frameHeight; // 比如: 504 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## pageParam 页面参数,JSON 对象类型 用于获取页面间传递的参数值,为 openWin()、openFrame() 等方法中的 pageParam 参数对应值 ### 示例代码 var pageParam = api.pageParam; //比如: {"name" : "tans-con"} ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## wgtParam widget 参数,JSON 对象类型 用于获取 widget 间传递的参数值,为 openWidget() 方法中的 wgtParam 参数对应值 ### 示例代码 var wgtParam = api.wgtParam; //比如: {"name": "API Demo"} ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## appParam 当应用被第三方应用打开时,传递过来的参数,字符串类型 ### 示例代码 var appParam = api.appParam; // 比如: appLoader ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## wgtRootDir widget: //协议对应的真实目录,即 widget 网页包的根目录,字符串类型 注意该目录为只读,不要往该目录下面写文件 ### 示例代码 ```js var wgtRootDir = api.wgtRootDir; /* 比如: /private/var/mobile/Containers/Bundle/Application/56218B5B-1B59-48CD-8080-DAC54DB46446/UZApp.app/widget */ ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## fsDir fs: //协议对应地真实目录,字符串类型 ### 示例代码 ```js var fsDir = api.fsDir; /* 例如: /var/mobile/Containers/Data/Application/4E376FDE-D595-4E08-B0A4-A06561B31000/Documents/uzfs/A123456789 */ ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## cacheDir cache://协议对应的真实目录,字符串类型 iOS 平台下载的文件一般存放于该目录下,否则提交 AppStore 审核时可能会不通过,且此目录下的内容在手机备份时不会被备份 ### 示例代码 ```js var cacheDir = api.cacheDir; /* 例如: /var/mobile/Containers/Data/Application/4E376FDE-D595-4E08-B0A4-A06561B31000/Library/Caches/APICloud/Cache/XXXXXX */ ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## toast位置 toast 位置,字符串类型 用于 toast() 方法中 location 字段 ### 取值范围 ```js top //顶部 middle //中间 bottom //底部 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 传感器类型 传感器类型,字符串类型 用于 startSensor() 方法中 type 字段 ### 取值范围 ```js accelerometer //加速计 gyroscope //陀螺仪 magnetic_field //地磁传感器 proximity //近接传感器 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 错误码 错误码,数字类型 ### 取值范围 ```js 0 //错误 1 //没有指定模块 2 //没有指定方法 3 //参数不匹配 4 //没有权限 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 电话类型 电话类型,字符串类型 用于 call() 方法中 type 字段 ### 取值范围 ```js tel //直接拨打电话 tel_prompt //iOS拨打电话之前会弹出提示框 facetime //facetime通话,Android不支持 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 定位精度 定位精度,字符串类型 根据需要来选择适当的精度来进行定位,用于 startLocation() 方法中 accuracy 字段 ### 取值范围 ```js 10m //精度在10米范围内 100m //精度在100米范围内 1km //精度在1千米范围内 3km //精度在3千米范围内 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 动画类型 打开 window 或打开 widget 时的动画类型,Android 部分动画不支持,字符串类型 ### 取值范围 ```js none //无动画效果 push //新视图将旧视图推开 movein //新视图移到旧视图上面 fade //交叉淡化过渡(不支持过渡方向) flip //翻转效果 reveal //将旧视图移开,显示下面的新视图 ripple //滴水效果(不支持过渡方向) curl //向上翻一页 un_curl //向下翻一页 suck //收缩效果(不支持过渡方向) cube //立方体翻滚效果 ``` ### 可用性 iOS系统,Android系统(flip,ripple,curl,un_curl,suck,cube 类型不支持) 可提供的1.0.0及更高版本 ## 动画曲线类型 动画曲线类型,指定动画开始和结束时的快慢,字符串类型 用于 animation() 方法中 curve 字段 ### 取值范围 ```js ease_in_out //开始和结束时慢 ease_in //开始时慢 ease_out //结束时慢 linear //整个动画过程速率一样 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 动画子类型 动画子类型,字符串类型 部分动画如 fade 可能没有过渡方向 ### 取值范围 ```js from_right //从右边开始动画 from_left //从左边开始动画 from_top //从顶部开始动画 from_bottom //从底部开始动画 ``` ### 可用性 iOS系统,Android系统(仅限于from_right,from_left) 可提供的1.0.0及更高版本 ## 进度提示框动画类型 进度提示框动画类型,字符串类型 用于 showProgress() 方法中 animationType 字段 ### 取值范围 ```js fade //渐隐渐现 zoom //缩放 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 进度提示框风格 进度提示框风格,字符串类型 用于 showProgress() 方法中 style 字段 ### 取值范围 ```js default //默认 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 媒体类型 媒体类型,字符串类型 用于 getPicture() 方法中 mediaValue 字段 ### 取值范围 ```js pic //图片 video //视频 all //图片和视频,Android不支持 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 拾取器类型 拾取器类型,字符串类型 用于 openPicker() 方法中 type 字段 ### 取值范围 ```js date //日期 time //时间 date_time //日期和时间,Android不支持 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 图片编码类型 图片编码类型,字符串类型 用于 getPicture() 方法中 encodingType 字段 ### 取值范围 ```js jpg //指定图片格式为jpg png //指定图片格式为png ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 图片数据格式 图片数据格式,字符串类型 用于 getPicture() 方法中 destinationType 字段 ### 取值范围 ```js base64 //指定返回数据为base64编码后内容 url //指定返回数据为选取的图片地址 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 图片源类型 图片源类型,字符串类型 用于 getPicture() 方法中 sourceType 字段 ### 取值范围 ```js library //图片库 camera //相机 album //相册 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 网络类型 网络类型,字符串类型 用于 connectionType 属性 ### 取值范围 ```js unknown //未知 ethernet //以太网 wifi //wifi 2g //2G网络 3g //3G网络 4g //4G网络 none //无网络 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 文件操作错误码 文件操作错误码,数字类型 指定 readFile()、writeFile() 方法返回错误时的错误类型 ### 取值范围 ```js 0 //没有错误 1 //找不到文件错误 2 //不可读取错误 3 //编码格式错误 4 //无效操作错误 5 //无效修改错误 6 //磁盘溢出错误 7 //文件已存在错误 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 系统类型 系统类型,字符串类型 用于 systemType 属性 ### 取值范围 ```js iOS //iOS系统 Android //Android系统 win //Windows系统 wp //Windows Phone系统 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 下载状态 下载状态,数字类型 用于 download() 方法返回值中的 state 字段 ### 取值范围 ```js 0 //下载中 1 //下载完成 2 //下载失败 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 异步请求错误类型 异步请求错误类型,数字类型 用于 ajax() 方法返回错误时的 code 字段 ### 取值范围 ```js 0 //连接错误 1 //超时 2 //授权错误 3 //数据类型错误 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 异步请求返回数据类型 异步请求返回数据类型,字符串类型 用于 ajax() 方法中 dataType 字段 ### 取值范围 ```js json //返回数据为 JSON 对象 text //返回数据为字符串类型 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 异步请求方法类型 异步请求方法类型,字符串类型 用于 ajax() 方法中 method 字段 ### 取值范围 ```js get post put delete head ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 状态栏样式 状态栏样式,字符串类型 用于 setStatusBarStyle() 方法中 style 字段 ### 取值范围 ```js dark //状态栏字体为黑色,适用于浅色背景 light //状态栏字体为白色,适用于深色背景 ``` ### 可用性 iOS系统 可提供的1.0.0及更高版本 ## 屏幕旋转方向 指定屏幕旋转到特定方向,或根据重力感应自动旋转,字符串类型 用于 setScreenOrientation() 方法中 orientation 字段 ### 取值范围 ```js portrait_up //竖屏时,屏幕在home键的上面 portrait_down //竖屏时,屏幕在home键的下面,部分手机不支持 landscape_left //横屏时,屏幕在home键的左边 landscape_right //横屏时,屏幕在home键的右边 auto //屏幕根据重力感应在横竖屏间自动切换 auto_portrait //屏幕根据重力感应在竖屏间自动切换 auto_landscape //屏幕根据重力感应在横屏间自动切换 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 上传状态 上传状态,数字类型 用于 ajax() 方法上传文件时返回值中的 status 字段 ### 取值范围 ```js 0 //上传中 1 //上传完成 2 //上传失败 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 键盘弹出页面调整方式 指定键盘弹出时,页面如何调整其内容,字符串类型 ### 取值范围 ```js resize //若键盘盖住输入框,页面会自动上移 pan //若键盘盖住输入框,页面不会自动上移 auto //默认值,由系统决定如何处理,iOS平台该字段等同于resize ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 缓存策略 缓存策略,字符串类型 用于 imageCache() 方法中的 policy 字段 ### 取值范围 ```js default //默认为 cache_else_network cache_else_network //若服务器上没有更新,则使用缓存 no_cache //不使用缓存,始终从服务器获取 cache_only //当缓存存在时,只从缓存中读取 ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## batterylow 设备电池电量低事件,字符串类型 ### callback(ret, err) ret: - 描述:返回电池电量和充电状态,不能为空 内部字段: ```js { level:100, //电池电量(0-100) isPlugged:true //是否连接电源 } ``` ### 示例代码 ```js api.addEventListener({ name:'batterylow' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## batterystatus 设备电池状态改变事件,如电量变化或正在充电,字符串类型 ### callback(ret, err) ret: - 描述:返回电池电量和充电状态,不能为空 内部字段: ```js { level:100, //电池电量(0-100) isPlugged:true //是否连接电源 } ``` ### 示例代码 ```js api.addEventListener({ name:'batterystatus' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## keyback 设备 back 键被点击事件,仅 Android 平台有效,字符串类型 该事件必须在 Window 中注册才有效,Frame 中注册无效,并且只在当前屏幕上的 window 才能收到回调。 ### callback(ret, err) ret: - 描述:被点击的键值 内部字段: ```js { keyCode:0 //被点击的按键 longPress:false //是否是长按 } ``` ### 示例代码 ```js api.addEventListener({ name:'keyback' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 Android系统 可提供的1.0.0及更高版本 ## keymenu 设备 menu 键被点击事件,仅 Android 平台有效 该事件必须在 Window 中注册才有效,Frame 中注册无效,并且只在当前屏幕上的 window 才能收到回调。 ### callback(ret, err) ret: - 描述:被点击的按键 内部字段: ```js { keyCode:0 //被点击的按键 longPress:false //是否是长按 } ``` ### 示例代码 ```js api.addEventListener({ name:'keymenu' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 Android系统 可提供的1.0.0及更高版本 ## volumeup 设备音量加键被点击事件,仅 Android 平台有效 该事件必须在 Window 中注册才有效,Frame 中注册无效,并且只在当前屏幕上的 window 才能收到回调。 ### callback(ret, err) ret: - 描述:被点击的按键 内部字段: ```js { keyCode:0 //被点击的按键 longPress:false //是否是长按 } ``` ### 示例代码 ```js api.addEventListener({ name:'volumeup' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 Android系统 可提供的1.2.0及更高版本 ## volumedown 设备音量减键被点击事件,仅 Android 平台有效 该事件必须在 Window 中注册才有效,Frame 中注册无效,并且只在当前屏幕上的 window 才能收到回调。 ### callback(ret, err) ret: - 描述:被点击的按键 内部字段: ```js { keyCode:0 //被点击的按键 longPress:false //是否是长按 } ``` ### 示例代码 ```js api.addEventListener({ name:'volumedown' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 Android系统 可提供的1.2.0及更高版本 ## offline 监听设备断开网络的事件,字符串类型 ### callback(ret, err) 不能为空 ### 示例代码 ```js api.addEventListener({ name:'offline' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## online 监听设备连接到网络的事件,字符串类型 ### callback(ret, err) ret: - 描述:监听到网络连接时的返回数据 内部字段: ```js { connectionType:'' //当前网络连接类型,如2g、3g、4g、wifi等 } ``` ### 示例代码 ```js api.addEventListener({ name:'online' }, function(ret, err){ if( ret ){ var connectionType = ret.connectionType; alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## pause 应用进入后台事件,字符串类型 ### callback(ret, err) 不能为空 ### 示例代码 ```js api.addEventListener({ name:'pause' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## resume 应用从后台回到前台事件,字符串类型 ### callback(ret, err) 不能为空 ### 示例代码 ```js api.addEventListener({ name:'resume' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## scrolltobottom Window 或者 Frame 页面滑动到底部事件,字符串类型 可用于实现滚动到底部,加载更多功能 ### callback(ret, err) 不能为空 ### 示例代码 ```js api.addEventListener({ name:'scrolltobottom', extra:{ threshold:0 //设置距离底部多少距离时触发,默认值为0,数字类型 } }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## shake 设备摇动事件,字符串类型。设置该监听后,当前 APP 将立即开启摇动检测功能。 可用于实现摇一摇功能 ### callback(ret, err) 不能为空 ### 示例代码 ```js api.addEventListener({ name:'shake' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## takescreenshot 应用在前台运行期间,用户屏幕截图事件(比如同时按下了 home 键和电源键),只支持 iOS。 ### callback(ret, err) 不能为空 ### 示例代码 ```js api.addEventListener({ name:'takescreenshot' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统 可提供的1.2.0及更高版本 ## swipedown Window 或者 Frame 的页面全局向下轻扫事件,字符串类型 ### callback(ret, err) 不能为空 ### 示例代码 ```js api.addEventListener({ name:'swipedown' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## swipeleft Window 或者 Frame 的页面全局向左轻扫事件,字符串类型 ### callback(ret, err) 不能为空 ### 示例代码 ```js api.addEventListener({ name:'swipeleft' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## swiperight Window 或者 Frame 的页面全局向右轻扫事件,字符串类型 ### callback(ret, err) 不能为空 ### 示例代码 ```js api.addEventListener({ name:'swiperight' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## swipeup Window 或者 Frame 的页面全局向上轻扫事件,字符串类型 ### callback(ret, err) 不能为空 ### 示例代码 ```js api.addEventListener({ name:'swipeup' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## tap Window 或者 Frame 的页面全局单击事件,字符串类型。监听该事件后,点击 window 或者 frame 的任意位置,都将收到 tap 回调。 ### callback(ret, err) 不能为空 ### 示例代码 ```js api.addEventListener({ name:'tap' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## longpress Window 或者 Frame 的页面全局长按事件,字符串类型。 ### callback(ret, err) 不能为空 ### 示例代码 ```js api.addEventListener({ name:'longpress' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.2.0及更高版本 ## viewappear Window 显示到屏幕的事件,字符串类型。收到 viewappear 事件回调,即标识当前 Window 已经动画结束,并且完全显示到屏幕上。 该事件的作用对象为 Window,Frame 的显示不会收到事件 ### callback(ret, err) 不能为空 ### 示例代码 ```js api.addEventListener({ name:'viewappear' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## viewdisappear Window 离开屏幕的事件,字符串类型。收到 viewdisappear 事件回调,即标识当前 Window 已经动画结束,并且完全从屏幕上移除。 该事件的作用对象为 Window,Frame 的隐藏不会收到事件 若是 Window 被关闭,此事件不会再回调 ### callback(ret, err) 不能为空 ### 示例代码 ```js api.addEventListener({ name:'viewdisappear' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## noticeclicked 状态栏通知被用户点击后的回调,字符串类型 ### callback(ret, err) ret: - 描述:通知被点击后的回调 内部字段: ```js { type:0, //内容来源类型。取值范围:0-APICloud 收到的推送内容,1-开发者自定义的 value:'' //内容,收到的推送内容或者由开发者发送通知时自行传入的,见notification接口中extra } ``` ### 示例代码 ```js api.addEventListener({ name:'noticeclicked' },function(ret,err){ var value = ret.value; if(ret.type == 0){ //APICloud推送内容 } else if(ret.type == 1){ //开发者自定义消息 } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## appintent 本应用被其他应用调起来时(Android 平台也可以通过 Activity 打开),收到相关数据的回调,字符串类型 在任意页面中注册该监听后,如果本应用被其他应用调起,将触发该监听函数,同时将传给该应用的数据回调给网页 ### callback(ret, err) ret: - 描述:其他应用或 Activity 传给本应用的数据 内部字段: ```js { iosUrl:'' //其他应用打开本应用的url,只iOS有效,字符串类型 sourceAppId:'' //其他应用的包名,iOS平台有可能为空字符串,字符串类型 appParam:{} //其他应用传递过来的参数,JSON或字符串类型 } ``` ### 示例代码 ```js api.addEventListener({ name:'appintent' },function(ret,err){ var appParam = ret.appParam; if(api.systemType == 'ios'){ var iosUrl = ret.iosUrl; } else { var sourceAppId = ret.sourceAppId; } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## smartupdatefinish 云修复使用静默修复时,更新完毕事件。可通过监听此事件来通知用户做是否强制重启应用等操作或者提示,以使更新生效,字符串类型 如果是提示修复,则不会触发该事件 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { value:[{ extra:'' //在控制台云修复里面进行静默修复时填写的附加信息,字符串类型 }] } ``` 不能为空 ### 示例代码 ```js api.addEventListener({ name:'smartupdatefinish' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## openWin 打开window 若 window 已存在,则会把该 window 显示到最前面,如果 url 和之前的 url 有变化,或者 reload 为 true 时,页面会刷新,但是该 window 里面已经打开的 frame 等不会移除 若当前正在进行 openWin、closeWin 等带动画过渡的 window 操作,调用此方法会失效 openWin({params}) ### params name: - 类型:字符串 - 默认值:无 - 描述:window 名字,不能为空字符串 url: - 类型:字符串 - 默认值:无 - 描述:页面地址,可以为本地文件路径,支持相对路径和绝对路径,以及 widget://、fs://等协议路径,也可以为远程地址 pageParam: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)页面参数,新页面中可以通过 api.pageParam 获取 bounces: - 类型:布尔 - 默认值:若在 [config.xml](/APICloud/技术专题/app-config-manual) 里面配置了pageBounce,则默认值为配置的值,否则为 false - 描述:(可选项)页面是否弹动 bgColor: - 类型:字符串 - 默认值:若在 [config.xml](/APICloud/技术专题/app-config-manual) 里面配置了 windowBackground,则默认值为配置的值,否则透明 - 描述:(可选项)背景色,支持图片和颜色,格式为 #fff、#ffffff、rgba(r,g,b,a)等,图片路径支持 fs://、widget://等 APICloud 自定义文件路径协议,同时支持相对路径 scrollToTop: - 类型:布尔 - 默认值:false - 描述:(可选项)当点击状态栏,页面是否滚动到顶部。若当前屏幕上不止一个页面的 scrollToTop 属性为 true,则所有的都不会起作用。只 iOS 有效 vScrollBarEnabled: - 类型:布尔 - 默认值:true - 描述:(可选项)是否显示垂直滚动条 hScrollBarEnabled: - 类型:布尔 - 默认值:true - 描述:(可选项)是否显示水平滚动条 scaleEnabled: - 类型:布尔 - 默认值:false - 描述:(可选项)页面是否可以缩放 slidBackEnabled: - 类型:布尔 - 默认值:true - 描述:(可选项)是否支持滑动返回。iOS7.0及以上系统中,在新打开的页面中向右滑动,可以返回到上一个页面,该字段只 iOS 有效 slidBackType: - 类型:字符串 - 默认值:full - 描述:(可选项)当支持滑动返回时,设置手指在页面右滑的有效作用区域。取值范围(full:整个页面范围都可以右滑返回,edge:在页面左边缘右滑才可以返回),该字段只iOS有效 animation: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)动画参数,不传时使用默认动画,type:[动画类型](!Constant#b6),subType:[动画子类型](!Constant#b8)。 内部字段: ```js { type:"none", //动画类型(详见动画类型常量) subType:"from_right", //动画子类型(详见动画子类型常量) duration:300 //动画过渡时间,默认300毫秒 } ``` showProgress: - 类型:布尔 - 默认值:false - 描述:(可选项)是否显示等待框,此参数即将废弃,使用 progress 参数代替。若传了 progress 参数,此参数将忽略 progress: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)页面加载进度配置信息,若不传则无加载进度效果 内部字段: ```js { type:"", //加载进度效果类型,默认值为 default,取值范围为 default|page,default 等同于 showProgress 参数效果;为 page 时,进度效果为仿浏览器类型,固定在页面的顶部 title:"", //type 为 default 时显示的加载框标题 text:"", //type 为 default 时显示的加载框内容 color:"" //type 为 page 时进度条的颜色,默认值为 #45C01A,支持#FFF,#FFFFFF,rgb(255,255,255),rgba(255,255,255,1.0)等格式 } ``` delay: - 类型:数字 - 默认值:0 - 描述:(可选项)window 显示延迟时间,适用于将被打开的 window 中可能需要打开有耗时操作的模块时,可延迟 window 展示到屏幕的时间,保持 UI 的整体性 reload: - 类型:布尔 - 默认值:false - 描述:(可选项)页面已经打开时,是否重新加载页面,重新加载页面后 apiready 方法将会被执行 allowEdit: - 类型:布尔 - 默认值:false - 描述:(可选项)是否允许长按页面时弹出选择菜单 softInputMode: - 类型:字符串 - 默认值:auto - 描述:(可选项)当键盘弹出时,输入框被盖住时,当前页面的调整方式,详见[键盘弹出页面调整方式](!Constant#b26)常量;只iOS有效,Android请在 [config.xml](/APICloud/技术专题/app-config-manual) 里面配置并云编译使用 customRefreshHeader: - 类型:字符串 - 默认值:无 - 描述:(可选项)设置使用自定义下拉刷新模块的名称,设置后可以使用 api.setCustomRefreshHeaderInfo 方法来使用自定义下拉刷新组件 ### 示例代码 ```js api.openWin({ name: 'page1', url: './page1.html', pageParam: { name: 'test' } }); ``` ### 补充说明 窗口操作 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## closeWin 关闭 window 若当前正在进行 openWin、closeWin 等带动画过渡的 window 操作,调用此方法会失效 closeWin({params}) ### params name: - 类型:字符串 - 默认值:无 - 描述:(可选项)window 名字,不传时关闭当前 window,为 root 时无效 animation: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)动画参数,不传时使用默认动画,type:[动画类型](!Constant#b6),subType:[动画子类型](!Constant#b8)。 内部字段: ```js { type:"none", //动画类型(详见动画类型常量) subType:"from_right", //动画子类型(详见动画子类型常量) duration:300 //动画过渡时间,默认300毫秒 } ``` ### 示例代码 ```js //关闭当前window,使用默认动画 api.closeWin(); //关闭指定window,若待关闭的window不在最上面,则无动画 api.closeWin({ name: 'page1' }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## closeToWin 关闭到指定 window,最上面显示的 window 到指定 name 的 window 间的所有 window 都会被关闭 若当前正在进行 openWin、closeWin 等带动画过渡的 window 操作,调用此方法会失效 closeToWin({params}) ### params name: - 类型:字符串 - 默认值:无 - 描述:window 名字 animation: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)动画参数,不传时使用默认动画,type:[动画类型](!Constant#b6),subType:[动画子类型](!Constant#b8)。 内部字段: ```js { type:"none", //动画类型(详见动画类型常量) subType:"from_right", //动画子类型(详见动画子类型常量) duration:300 //动画过渡时间,默认300毫秒 } ``` ### 示例代码 ```js api.closeToWin({ name: 'root' }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## setWinAttr 设置 window 属性 setWinAttr({params}) ### params bounces: - 类型:布尔 - 默认值:无 - 描述:(可选项)页面是否弹动 bgColor: - 类型:字符串 - 默认值:无 - 描述:(可选项)背景色,支持图片和颜色,格式为#fff、#ffffff、rgba(r,g,b,a)等,图片路径支持fs://、widget://等APICloud自定义文件路径协议,同时支持相对路径 scrollToTop: - 类型:布尔 - 默认值:无 - 描述:(可选项)当点击状态栏,页面是否滚动到顶部。若当前屏幕上不止一个页面的scrollToTop属性为true,则所有的都不会起作用。只iOS有效 vScrollBarEnabled: - 类型:布尔 - 默认值:无 - 描述:(可选项)是否显示垂直滚动条 hScrollBarEnabled: - 类型:布尔 - 默认值:无 - 描述:(可选项)是否显示水平滚动条 scaleEnabled: - 类型:布尔 - 默认值:无 - 描述:(可选项)页面是否可以缩放 slidBackEnabled: - 类型:布尔 - 默认值:无 - 描述:(可选项)是否支持滑动返回。iOS7.0及以上系统中,在新打开的页面中向右滑动,可以返回到上一个页面,该字段只iOS有效 softInputMode: - 类型:字符串 - 默认值:无 - 描述:(可选项)当键盘弹出时,输入框被盖住时,当前页面的调整方式,详见[键盘弹出页面调整方式](!Constant#b26)常量;只iOS有效,Android请在 [config.xml](/APICloud/技术专题/app-config-manual) 里面配置并云编译使用 ### 示例代码 ```js api.setWinAttr({ bounces: true, bgColor: '#fff', vScrollBarEnabled: true, hScrollBarEnabled: true, scaleEnabled: true, slidBackEnabled: true }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## openFrame 打开 frame 若 frame 已存在,则会把该窗口显示到最前面并显示,如果 url 和之前的 url 有变化,或者 reload 为 true 时,页面会刷新 此方法对 frameGroup 里面的 frame 不起作用 openFrame({params}) ### params name: - 类型:字符串 - 默认值:无 - 描述:frame 名字 url: - 类型:字符串 - 默认值:无 - 描述:页面地址,可以为本地文件路径,支持相对路径和绝对路径,以及widget://、fs://等协议路径,也可以为远程地址 pageParam: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)页面参数,在新页面通过 api.pageParam 获取 bounces: - 类型:布尔 - 默认值:若在 [config.xml](/APICloud/技术专题/app-config-manual) 里面配置了 pageBounce,则默认值为配置的值,否则为 true - 描述:(可选项)页面是否弹动 bgColor: - 类型:字符串 - 默认值:若在 [config.xml](/APICloud/技术专题/app-config-manual) 里面配置了 frameBackgroundColor,则默认值为配置的值,否则透明 - 描述:(可选项)背景色,支持图片和颜色,格式为#fff、#ffffff、rgba(r,g,b,a)等,图片路径支持fs://、widget://等 APICloud 自定义文件路径协议,同时支持相对路径 scrollToTop: - 类型:布尔 - 默认值:true - 描述:(可选项)当点击状态栏,页面是否滚动到顶部。若当前屏幕上不止一个页面的 scrollToTop 属性为 true,则所有的都不会起作用。只iOS有效 vScrollBarEnabled: - 类型:布尔 - 默认值:true - 描述:(可选项)是否显示垂直滚动条 hScrollBarEnabled: - 类型:布尔 - 默认值:true - 描述:(可选项)是否显示水平滚动条 scaleEnabled: - 类型:布尔 - 默认值:false - 描述:(可选项)页面是否可以缩放 rect: - 类型:JSON 对象 - 默认值:充满整个父页面 - 描述:(可选项)frame 的位置和大小,设置 margin 后,在不同手机上面会保持与父页面的各方向边距一致,而中间区域会自动扩充。 内部字段: ```js { x:0, //左上角x坐标 y:0, //左上角y坐标 w:320, //宽度,若传'auto',页面从x位置开始自动充满父页面宽度 h:480 //高度,若传'auto',页面从y位置开始自动充满父页面高度 marginLeft:0, //相对父 window 左外边距的距离 marginTop:0, //相对父 window 上外边距的距离 marginBottom:0, //相对父 window 下外边距的距离 marginRight:0 //相对父 window 右外边距的距离 } ``` showProgress: - 类型:布尔 - 默认值:false - 描述:(可选项)是否显示等待框,此参数即将废弃,使用 progress 参数代替。若传了 progress 参数,此参数将忽略 progress: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)页面加载进度配置信息,若不传则无加载进度效果 内部字段: ```js { type:"", //加载进度效果类型,默认值为default,取值范围为default|page,default等同于showProgress参数效果;为page时,进度效果为仿浏览器类型,固定在页面的顶部 title:"", //type为default时显示的加载框标题 text:"", //type为default时显示的加载框内容 color:"" //type为page时进度条的颜色,默认值为#45C01A,支持#FFF,#FFFFFF,rgb(255,255,255),rgba(255,255,255,1.0)等格式 } ``` reload: - 类型:布尔 - 默认值:false - 描述:(可选项)页面已经打开时,是否重新加载页面 allowEdit: - 类型:布尔 - 默认值:false - 描述:(可选项)是否允许长按页面时弹出选择菜单 softInputMode: - 类型:字符串 - 默认值:auto - 描述:(可选项)当键盘弹出时,输入框被盖住时,当前页面的调整方式,详见[键盘弹出页面调整方式](!Constant#b26)常量;只iOS有效,Android请在 [config.xml](/APICloud/技术专题/app-config-manual) 里面配置并云编译使用 animation: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)动画参数,不传时无动画,type:[动画类型](!Constant#b6),subType:[动画子类型](!Constant#b8)。 内部字段: ```js { type:"none", //动画类型(详见动画类型常量) subType:"from_right", //动画子类型(详见动画子类型常量) duration:300 //动画过渡时间,默认300毫秒 } ``` customRefreshHeader: - 类型:字符串 - 默认值:无 - 描述:(可选项)设置使用自定义下拉刷新模块的名称,设置后可以使用 api.setCustomRefreshHeaderInfo 方法来使用自定义下拉刷新组件 ### 示例代码 ```js api.openFrame({ name: 'page2', url: './page2.html', rect: { x: 0, y: 0, w: 320, h: 480 }, pageParam: { name: 'test' }, bounces: true, bgColor: 'rgba(0,0,0,0)', vScrollBarEnabled: true, hScrollBarEnabled: true }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## closeFrame 关闭frame closeFrame({params}) ### params name: - 类型:字符串 - 默认值:无 - 描述:(可选项)frame 名字,不传时关闭当前 frame ### 示例代码 ```js api.closeFrame({ name: 'page2' }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## setFrameAttr 设置frame属性 setFrameAttr({params}) ### params name: - 类型:字符串 - 默认值:无 - 描述:frame 名称 bounces: - 类型:布尔 - 默认值:无 - 描述:(可选项)页面是否弹动 hidden: - 类型:布尔 - 默认值:无 - 描述:(可选项)本 frame 是否隐藏(隐藏即从屏幕上移除,但不销毁) bgColor: - 类型:字符串 - 默认值:无 - 描述:(可选项)背景色,支持图片和颜色,格式为#fff、#ffffff、rgba(r,g,b,a)等,图片路径支持fs://、widget://等 APICloud 自定义文件路径协议,同时支持相对路径 scrollToTop: - 类型:布尔 - 默认值:无 - 描述:(可选项)当点击状态栏,页面是否滚动到顶部。若当前屏幕上不止一个页面的 scrollToTop 属性为 true,则所有的都不会起作用。只iOS有效 vScrollBarEnabled: - 类型:布尔 - 默认值:无 - 描述:(可选项)是否显示垂直滚动条 hScrollBarEnabled: - 类型:布尔 - 默认值:无 - 描述:(可选项)是否显示水平滚动条 scaleEnabled: - 类型:布尔 - 默认值:无 - 描述:(可选项)页面是否可以缩放 rect: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)窗口区域 内部字段: ```js { x:0, //左上角x坐标 y:0, //左上角y坐标 w:320, //宽度,若传'auto',页面从x位置开始自动充满父页面宽度 h:480 //高度,若传'auto',页面从y位置开始自动充满父页面高度 } ``` softInputMode: - 类型:字符串 - 默认值:无 - 描述:(可选项)当键盘弹出时,输入框被盖住时,当前页面的调整方式,详见[键盘弹出页面调整方式](!Constant#b26)常量;只iOS有效,Android请在 [config.xml](/APICloud/技术专题/app-config-manual) 里面配置并云编译使用 ### 示例代码 ```js api.setFrameAttr({ name: 'page2', rect: { x: 0, y: 0, w: 320, h: 480 }, bounces: true, bgColor: '#fff', vScrollBarEnabled: true, hScrollBarEnabled: true }); ``` ### 补充说明 设置 frame 属性 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## bringFrameToFront 调整 frame 到前面 bringFrameToFront({params}) ### params from: - 类型:字符串 - 默认值:无 - 描述:待调整显示顺序的 frame 名字 to: - 类型:字符串 - 默认值:无 - 描述:(可选项)frame 名字,不传时调整 from 对应 frame 到最前面,否则调整 from 对应 frame 到此 frame 前面 ### 示例代码 ```js api.bringFrameToFront({ from: 'page1', to: 'page2' }); ``` ### 补充说明 调整 frame 到前面 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## sendFrameToBack 调整 frame 到后面 sendFrameToBack({params}) ### params from: - 类型:字符串 - 默认值:无 - 描述:frame 名字 to: - 类型:字符串 - 默认值:无 - 描述:(可选项)frame 名字,不传时调整 from 对应 frame 到最后面,否则调整 from 对应 frame 到此 frame 后面 ### 示例代码 ```js api.sendFrameToBack ({ from: 'page1', to: 'page2' }); ``` ### 补充说明 调整 frame 到后面 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## setFrameClient 设置指定 frame 的页面加载监听,仅在 window 中调用生效,可以对多个 frame 进行监听。 setFrameClient({params}, callback(ret, err)) ### params frameName: - 类型:字符串 - 默认值:无 - 描述:frame 名字 ### callback(ret, err) ret: - 类型:JSON 对象 - 描述:frame 加载状态、加载进度等发生变化时的回调 内部字段: ```js { state:0, //加载状态,数字类型,取值范围:0-开始加载;1-加载进度发生变化;2-结束加载;3-title发生变化;4-url发生变化 progress:0, //state为1时,页面的加载进度,数字类型,取值范围 0-100 title:'', //state为3时,页面当前的title,字符串类型 url:'' //state为0|2|4时,页面当前的url,字符串类型 } ``` ### 示例代码 ```js api.setFrameClient({ frameName:'webpage' }, function(ret, err){ switch (ret.state) { case 0: break; case 1: break; case 2: break; case 3: break; case 4: break; default: break; } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.2.0及更高版本 ## animation frame 动画,支持平移,缩放,旋转和透明度变化 仅支持 frame,不支持 window 以及 frameGroup 里面的 frame animation({params}, callback(ret, err)) ### params name: - 类型:字符串 - 默认值:当前 frame - 描述:frame 名字 delay: - 类型:数字 - 默认值:0 - 描述:(可选项)动画延迟时间,单位毫秒,默认立即开始 duration: - 类型:数字 - 默认值:0 - 描述:(可选项)动画过渡时间,单位毫秒 curve: - 类型:字符串 - 默认值:ease_in_out - 描述:(可选项)动画曲线类型,指定动画开始和结束时的快慢,详见动画曲线类型 repeatCount: - 类型:数字 - 默认值:0 - 描述:(可选项)动画次数,默认不重复,为-1时无限重复 autoreverse: - 类型:布尔 - 默认值:false - 描述:(可选项)一次动画结束后是否自动反转动画 alpha: - 类型:数字 - 默认值:无 - 描述:(可选项)整个页面的透明度,介于0 1之间,Android 不支持 translation: - 类型:JSON - 默认值:无 - 描述:(可选项)位置平移参数 内部字段: ```js { x: 0, //x轴方向上的平移距离,默认为0 y: 0, //y轴方向上的平移距离,默认为0 z: 0 //z轴方向上的平移距离,默认为0,Android不支持 } ``` scale: - 类型:JSON - 默认值:无 - 描述:(可选项)页面缩放参数,Android 不支持 内部字段: ```js { x: 1, //x轴方向上的放大倍率,默认为1 y: 1, //y轴方向上的放大倍率,默认为1 z: 1 //z轴方向上的放大倍率,默认为1 } ``` rotation: - 类型:JSON - 默认值:无 - 描述:(可选项)页面旋转参数,Android 不支持 内部字段: ```js { degree:0, //旋转角度,默认0 x: 0, //绕x轴旋转,默认为0 y: 0, //绕y轴旋转,默认为0 z: 1 //绕z轴旋转,默认为1 } ``` ### callback(ret, err) 动画结束后的回调 ### 示例代码 ```js api.animation ({ name: 'page1', delay: 1000, duration: 3000, curve: 'ease_in', repeatCount: 2, autoreverse: true, alpha: 0.6, translation: { x: 0, y: 100, z: 0 }, scale: { x: 1.2, y: 1, z: 1 }, rotation: { degree: 45, x: 0, y: 0, z: 1 } }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## openFrameGroup 打开 frame 组 frame 组打开后,当前页面加载完成后,页面会预加载后面指定个数页面 openFrameGroup({params}, callback(ret, err)) ### params name: - 类型:字符串 - 默认值:无 - 描述:frame 组名字 background: - 类型:字符串 - 默认值:无 - 描述:(可选项)frame 组背景,颜色(#fff,#ffffff,rgba(r,g,b,a))或图片(支持文件路径协议和相对路径) scrollEnabled: - 类型:布尔 - 默认值:true - 描述:(可选项)frame 组是否能够左右滚动 rect: - 类型:JSON 对象 - 默认值:充满整个父页面 - 描述:(可选项)frameGroup 的位置和大小,设置 margin 后,在不同手机上面会保持与父页面的各方向边距一致,而中间区域会自动扩充。 内部字段: ```js { x:0, //左上角x坐标 y:0, //左上角y坐标 w:320, //宽度,若传'auto',页面从x位置开始自动充满父页面宽度 h:480, //高度,若传'auto',页面从y位置开始自动充满父页面高度 marginLeft:0, //相对父window左外边距的距离 marginTop:0, //相对父window上外边距的距离 marginBottom:0, //相对父window下外边距的距离 marginRight:0 //相对父window右外边距的距离 } ``` index: - 类型:数字 - 默认值:0 - 描述:(可选项)默认显示的页面索引 preload: - 类型:数字 - 默认值:1 - 描述:(可选项)预加载的 frame 个数,默认加载当前页后面一个 frames: - 类型:数组 - 默认值:无 - 描述:frame 数组 内部字段: ```js [{ name:'', //frame名字,字符串类型,不能为空字符串 url:'', //页面地址,可以为本地文件路径,支持相对路径和绝对路径,以及widget://、fs://等协议路径,也可以为远程地址,字符串类型 pageParam:{}, //(可选项)页面参数,页面中可以通过api.pageParam获取,JSON对象 bounces:true, //(可选项)是否弹动,布尔型,默认值:若在 config.xml 里面配置了pageBounce,则默认值为配置的值,否则为false bgColor:'#fff', //(可选项)背景色,支持图片和颜色,格式为#fff、#ffffff、rgba(r,g,b,a)等,图片路径支持fs://、widget://等APICloud自定义文件路径协议,同时支持相对路径 scrollToTop:true //(可选项)当点击状态栏,页面是否滚动到顶部。若当前屏幕上不止一个页面的scrollToTop属性为true,则所有的都不会起作用。默认值:true。只iOS有效 vScrollBarEnabled:true, //(可选项)是否显示垂直滚动条,布尔型,默认值:true hScrollBarEnabled:false, //(可选项)是否显示水平滚动条,布尔型,默认值:false scaleEnabled:true, //(可选项)页面是否可以缩放,布尔型,默认值:false allowEdit:false, //(可选项)是否允许长按页面时弹出选择菜单 softInputMode:'auto' //(可选项)当键盘弹出时,输入框被盖住时,当前页面的调整方式,参考键盘弹出页面调整方式常量,只iOS有效 customRefreshHeader:'' //(可选项)设置使用自定义下拉刷新模块的名称,设置后可以使用api.setCustomRefreshHeaderInfo方法来使用自定义下拉刷新组件 }] ``` ### callback(ret, err) ret: - 类型:JSON 对象 - 描述:当前显示在屏幕上的 frame 变化时会回调 内部字段: ```js { name:'', //当前 frame 名称 index:0 //当前 frame 索引 } ``` ### 示例代码 ```js api.openFrameGroup ({ name: 'group1', background: '#fff', scrollEnabled: false, rect: { x: 0, y: 0, w: 'auto', h: 'auto' }, index: 1, frames: [{ name: 'frame1', url: 'frame1.html', bgColor: '#fff' },{ name: 'frame2', url: 'frame2.html', bgColor: '#fff' }] }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## closeFrameGroup 关闭frame组 closeFrameGroup({params}) ### params name: - 类型:字符串 - 默认值:无 - 描述:frame 组名字 ### 示例代码 ```js api.closeFrameGroup({ name: 'group1' }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## setFrameGroupAttr 设置 frame 组属性 setFrameGroupAttr({params}) ### params name: - 类型:字符串 - 默认值:无 - 描述:frame 组名字 hidden: - 类型:布尔 - 默认值:无 - 描述:(可选项)frame 组是否隐藏 scrollEnabled: - 类型:布尔 - 默认值:无 - 描述:(可选项)frame 组是否能够左右滚动 rect: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)frame 组区域 内部字段: ```js { x:0, //左上角x坐标 y:0, //左上角y坐标 w:320, //宽度,若传'auto',frame组从x位置开始自动充满父页面宽度 h:240 //高度,若传'auto',frame组从y位置开始自动充满父页面高度 } ``` ### 示例代码 ```js api.setFrameGroupAttr({ name: 'group1', hidden: true }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## setFrameGroupIndex 设置 frame 组当前可见 frame setFrameGroupIndex({params}) ### params name: - 类型:字符串 - 默认值:无 - 描述:frame 组名字 index: - 类型:数字 - 默认值:无 - 描述:frame 索引 scroll: - 类型:布尔 - 默认值:false - 描述:(可选项)是否平滑滚动至目标窗口,即是否带有动画 reload: - 类型:布尔 - 默认值:false - 描述:(可选项)是否刷新 frame ### 示例代码 ```js api.setFrameGroupIndex({ name: 'group1', index: 2, scroll: true }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## openPopoverWin iPad 上面打开弹出层窗口,弹出层从底部往上弹出,然后显示在屏幕中间一片指定区域,周围为黑色半透明,只 iPad 上面有效 弹出层是模态的,弹出层后面的界面将不可操作,在弹出层窗口里面不能再打开弹出窗口 弹出层里面页面可以使用所有的 window 和 frame 相关操作,如 openWin、openFrame 等 使用 execScript() 方法时,引擎只会在整个弹出层里面的窗口中去寻找要执行脚本的窗口,如果要和弹出层下面的窗口间进行通信,可以使用 sendEvent() 方法代替实现 openPopoverWin({params}) ### params width: - 类型:数字 - 默认值:540 - 描述:(可选项)弹出窗口在屏幕中间显示的宽度 height: - 类型:数字 - 默认值:620 - 描述:(可选项)弹出窗口在屏幕中间显示的高度 name: - 类型:字符串 - 默认值:无 - 描述:弹出层的第一个 window 的名字,不能为空字符串 url: - 类型:字符串 - 默认值:无 - 描述:弹出层的第一个 window 页面地址,可以为本地文件路径,支持相对路径和绝对路径,以及 widget://、fs:// 等协议路径,也可以为远程地址,不能为空字符串 pageParam: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)页面参数,新页面中可以通过 api.pageParam 获取 bounces: - 类型:布尔 - 默认值:若在 [config.xml](/APICloud/技术专题/app-config-manual) 里面配置了 pageBounce,则默认值为配置的值,否则为 false - 描述:(可选项)页面是否弹动 bgColor: - 类型:字符串 - 默认值:若在 [config.xml](/APICloud/技术专题/app-config-manual) 里面配置了 windowBackground,则默认值为配置的值,否则透明 - 描述:(可选项)背景色,支持图片和颜色,格式为 #fff、#ffffff、rgba(r,g,b,a) 等,图片路径支持 fs://、widget:// 等 APICloud 自定义文件路径协议,同时支持相对路径 scrollToTop: - 类型:布尔 - 默认值:false - 描述:(可选项)当点击状态栏,页面是否滚动到顶部。若当前屏幕上不止一个页面的 scrollToTop 属性为 true,则所有的都不会起作用。只 iOS 有效 vScrollBarEnabled: - 类型:布尔 - 默认值:true - 描述:(可选项)是否显示垂直滚动条 hScrollBarEnabled: - 类型:布尔 - 默认值:true - 描述:(可选项)是否显示水平滚动条 scaleEnabled: - 类型:布尔 - 默认值:false - 描述:(可选项)页面是否可以缩放 showProgress: - 类型:布尔 - 默认值:false - 描述:(可选项)是否显示等待框,此参数即将废弃,使用 progress 参数代替。若传了 progress 参数,此参数将忽略 progress: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)页面加载进度配置信息,若不传则无加载进度效果 内部字段: ```js { type:"", //加载进度效果类型,默认值为default,取值范围为default|page,default等同于showProgress参数效果;为page时,进度效果为仿浏览器类型,固定在页面的顶部 title:"", //type为default时显示的加载框标题 text:"", //type为default时显示的加载框内容 color:"" //type为page时进度条的颜色,默认值为#45C01A,支持#FFF,#FFFFFF,rgb(255,255,255),rgba(255,255,255,1.0)等格式 } ``` allowEdit: - 类型:布尔 - 默认值:false - 描述:(可选项)是否允许长按页面时弹出选择菜单 softInputMode: - 类型:字符串 - 默认值:auto - 描述:(可选项)当键盘弹出时,输入框被盖住时,当前页面的调整方式,详见[键盘弹出页面调整方式](!Constant#b26)常量;只iOS有效,Android请在 [config.xml](/APICloud/技术专题/app-config-manual) 里面配置并云编译使用 customRefreshHeader: - 类型:字符串 - 默认值:无 - 描述:(可选项)设置使用自定义下拉刷新模块的名称,设置后可以使用 api.setCustomRefreshHeaderInfo 方法来使用自定义下拉刷新组件 ### 示例代码 ```js api.openPopoverWin({ width: 480, height: 400, name: 'page1', url: './page1.html' }); ``` ### 补充说明 无 ### 可用性 iOS系统 可提供的1.0.0及更高版本 ## closePopoverWin 关闭整个弹出层窗口,只 iPad 上面有效 在当前弹出层里面的任意页面里面调用都会关闭整个弹出层 closePopoverWin() ### 示例代码 ```js api.closePopoverWin(); ``` ### 补充说明 无 ### 可用性 iOS系统 可提供的1.0.0及更高版本 ## openSlidLayout 打开侧滑式布局 打开后,其所在 window 的 name 默认为 slidLayout,所以关闭整个侧滑布局可以通过 api.closeWin({name:'slidLayout'}) 实现,同时可以通过 api.openWin({name:'slidLayout'})来把整个侧滑显示到最前面 openSlidLayout({params}, callback(ret, err)) ### params type: - 类型:字符串 - 默认值:all - 描述:(可选项)侧滑类型(left:左侧滑、right:右侧滑、all:左右侧滑)。安卓暂只支持left。 leftEdge: - 类型:数字 - 默认值:60 - 描述:(可选项)左侧滑时,侧滑 window 停留时露出的宽度。即将废弃,用 slidPaneStyle 中 leftEdge 参数代替 rightEdge: - 类型:数字 - 默认值:60 - 描述:(可选项)右侧滑时,侧滑 window 停留时露出的宽度。即将废弃,用 slidPaneStyle 中 rightEdge 参数代替 slidPaneStyle: - 类型:JSON 对象 - 默认值:无 - 描述:侧滑层 window 样式 内部字段: ```js { leftEdge: //(可选项)左侧滑时,侧滑window停留时露出的宽度,默认60,数字类型 rightEdge: //(可选项)右侧滑时,侧滑window停留时露出的宽度,默认60,数字类型 leftScale: //(可选项)左侧滑时,侧滑window移动时能缩放的最小倍数,0-1.0,默认1.0,数字类型,只支持iOS rightScale: //(可选项)右侧滑时,侧滑window移动时能缩放的最小倍数,0-1.0,默认1.0,数字类型,只支持iOS } ``` fixedPaneStyle: - 类型:JSON 对象 - 默认值:无 - 描述:底部固定层 window 样式 内部字段: ```js { leftEdge: //(可选项)左侧滑时,固定window能向左移动的最大宽度,默认0,数字类型,只支持iOS rightEdge: //(可选项)右侧滑时,固定window能向右移动的最大宽度,默认0,数字类型,只支持iOS leftScale: //(可选项)左侧滑时,固定window向左移动时能缩放的最小倍数,0-1.0,默认1.0,数字类型,只支持iOS rightScale: //(可选项)右侧滑时,固定window向右移动时能缩放的最小倍数,0-1.0,默认1.0,数字类型,只支持iOS leftMaskBg: //(可选项)左侧滑时,固定window上面的遮罩层背景,支持颜色和图片,默认rgba(0,0,0,0),字符串类型,只支持iOS rightMaskBg: //(可选项)右侧滑时,固定window上面的遮罩层背景,支持颜色和图片,默认rgba(0,0,0,0),字符串类型,只支持iOS leftBg: //(可选项)左侧滑时,固定window后面的背景,缩放过程中后面的背景将会显示出来,支持颜色和图片,默认rgba(0,0,0,0),字符串类型,只支持iOS rightBg: //(可选项)右侧滑时,固定window后面的背景,缩放过程中后面的背景将会显示出来,支持颜色和图片,默认rgba(0,0,0,0),字符串类型,只支持iOS } ``` fixedPane: - 类型:JSON 对象 - 默认值:无 - 描述:底部固定层 window 内部字段: ```js { name:'', // window名字(字符串类型) url:'', // 页面地址,可以为本地文件路径,支持相对路径和绝对路径,以及widget://、fs://等协议路径,也可以为远程地址 pageParam:{}, //(可选项)页面参数,页面中可以通过api.pageParam获取,JSON对象 bgColor:'', //(可选项)背景色,支持图片和颜色,格式为#fff、#ffffff、rgba(r,g,b,a)等,图片路径支持fs://、widget://等APICloud自定义文件路径协议,同时支持相对路径 bounces:false, //(可选项)是否弹动,默认值:若在 config.xml 里面配置了pageBounce,则默认值为配置的值,否则为false scrollToTop:false //(可选项)当点击状态栏,页面是否滚动到顶部。若当前屏幕上不止一个页面的scrollToTop属性为true,则所有的都不会起作用。默认值:true。只iOS有效 vScrollBarEnabled:true, //(可选项)是否显示垂直滚动条,默认true hScrollBarEnabled:true, //(可选项)是否显示水平滚动条,默认true scaleEnabled:true, //(可选项)页面是否可以缩放,布尔型,默认值:false allowEdit:false, //(可选项)是否允许长按页面时弹出选择菜单 softInputMode:'auto' //(可选项)当键盘弹出时,输入框被盖住时,当前页面的调整方式,参考键盘弹出页面调整方式常量,只iOS有效 customRefreshHeader:'' //(可选项)设置使用自定义下拉刷新模块的名称,设置后可以使用api.setCustomRefreshHeaderInfo方法来使用自定义下拉刷新组件 } ``` slidPane: - 类型:JSON 对象 - 默认值:无 - 描述:侧滑层window 内部字段: ```js { name:'', // window名字(字符串类型) url:'', // 页面地址,可以为本地文件路径,支持相对路径和绝对路径,以及widget://、fs://等协议路径,也可以为远程地址 pageParam:{}, //(可选项)页面参数,页面中可以通过api.pageParam获取,JSON对象 bgColor:'', //(可选项)背景色,支持图片和颜色,格式为#fff、#ffffff、rgba(r,g,b,a)等,图片路径支持fs://、widget://等APICloud自定义文件路径协议,同时支持相对路径 bounces:false, //(可选项)是否弹动,默认值:若在 config.xml 里面配置了pageBounce,则默认值为配置的值,否则为false scrollToTop:false //(可选项)当点击状态栏,页面是否滚动到顶部。若当前屏幕上不止一个页面的scrollToTop属性为true,则所有的都不会起作用。默认值:true。只iOS有效 vScrollBarEnabled:true, //(可选项)是否显示垂直滚动条,默认true hScrollBarEnabled:true, //(可选项)是否显示水平滚动条,默认true scaleEnabled:true, //(可选项)页面是否可以缩放,布尔型,默认值:false allowEdit:false, //(可选项)是否允许长按页面时弹出选择菜单 softInputMode:'auto' //(可选项)当键盘弹出时,输入框被盖住时,当前页面的调整方式,参考键盘弹出页面调整方式常量,只iOS有效 customRefreshHeader:'' //(可选项)设置使用自定义下拉刷新模块的名称,设置后可以使用api.setCustomRefreshHeaderInfo方法来使用自定义下拉刷新组件 } ``` ### callback(ret, err) ret: - 类型:JSON 对象 - 描述:手指头触摸屏幕,引起开始侧滑时的回调,左右侧滑时应该在这里面判断显示左边页面还是右边页面 内部字段: ```js { type: 'left' //侧滑方向,left或right event: 'slide' //侧滑事件,(slide-当前处于滑动状态、open-侧滑打开状态、close-侧滑关闭状态 } ``` ### 示例代码 ```js api.openSlidLayout ({ type: 'all', leftEdge: 80, rightEdge: 60, fixedPane: { name: 'win1', url: 'win1.html', bgColor: '#fff', bounces: true, vScrollBarEnabled: true, hScrollBarEnabled: false }, slidPane: { name: 'win2', url: 'win2.html', bgColor: '#fff', bounces: true, vScrollBarEnabled: true, hScrollBarEnabled: false } }, function(ret, err){ }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## openSlidPane 向左或右进行侧滑 openSlidPane({params}) ### params type: - 类型:字符串 - 默认值:无 - 描述:侧滑类型,left 或 right ### 示例代码 ```js api.openSlidPane({ type: 'left' }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## closeSlidPane 当 SlidPane 处于左或右侧滑状态时,将其收起 closeSlidPane() ### 示例代码 ```js api.closeSlidPane(); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## lockSlidPane 锁住 SlidPane,使其不能跟随手指滑动而移动 lockSlidPane() ### 示例代码 ```js api.lockSlidPane(); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## unlockSlidPane 解锁 SlidPane,使其能跟随手指滑动而移动 unlockSlidPane() ### 示例代码 ```js api.unlockSlidPane(); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## openDrawerLayout 打开一个抽屉式侧滑 window,可以从当前 window 的左右边缘滑动拉出侧滑 window。 此方法在 openWin 方法的基础上增加了 leftPane、rightPane 参数,所以可以通过 api.closeWin()方法来关闭整个抽屉式侧滑。 openDrawerLayout({params}) ### params name: - 类型:字符串 - 默认值:无 - 描述:window 名字,不能为空字符串 url: - 类型:字符串 - 默认值:无 - 描述:页面地址,可以为本地文件路径,支持相对路径和绝对路径,以及 widget://、fs://等协议路径,也可以为远程地址 pageParam: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)页面参数,新页面中可以通过 api.pageParam 获取 bounces: - 类型:布尔 - 默认值:若在 [config.xml](/APICloud/技术专题/app-config-manual) 里面配置了 pageBounce,则默认值为配置的值,否则为 false - 描述:(可选项)页面是否弹动 bgColor: - 类型:字符串 - 默认值:若在 [config.xml](/APICloud/技术专题/app-config-manual) 里面配置了 windowBackground,则默认值为配置的值,否则透明 - 描述:(可选项)背景色,支持图片和颜色,格式为 #fff、#ffffff、rgba(r,g,b,a) 等,图片路径支持 fs://、widget:// 等 APICloud 自定义文件路径协议,同时支持相对路径 scrollToTop: - 类型:布尔 - 默认值:false - 描述:(可选项)当点击状态栏,页面是否滚动到顶部。若当前屏幕上不止一个页面的scrollToTop属性为true,则所有的都不会起作用。只iOS有效 vScrollBarEnabled: - 类型:布尔 - 默认值:true - 描述:(可选项)是否显示垂直滚动条 hScrollBarEnabled: - 类型:布尔 - 默认值:true - 描述:(可选项)是否显示水平滚动条 scaleEnabled: - 类型:布尔 - 默认值:false - 描述:(可选项)页面是否可以缩放 slidBackEnabled: - 类型:布尔 - 默认值:true - 描述:(可选项)是否支持滑动返回。iOS7.0及以上系统中,在新打开的页面中向右滑动,可以返回到上一个页面,该字段只iOS有效 slidBackType: - 类型:字符串 - 默认值:full - 描述:(可选项)当支持滑动返回时,设置手指在页面右滑的有效作用区域。取值范围(full:整个页面范围都可以右滑返回,edge:在页面左边缘右滑才可以返回),该字段只iOS有效 animation: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)动画参数,不传时使用默认动画,type:[动画类型](!Constant#b6),subType:[动画子类型](!Constant#b8)。 内部字段: ```js { type:"none", //动画类型(详见动画类型常量) subType:"from_right", //动画子类型(详见动画子类型常量) duration:300 //动画过渡时间,默认300毫秒 } ``` showProgress: - 类型:布尔 - 默认值:false - 描述:(可选项)是否显示等待框,此参数即将废弃,使用 progress 参数代替。若传了 progress 参数,此参数将忽略 progress: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)页面加载进度配置信息,若不传则无加载进度效果 内部字段: ```js { type:"", //加载进度效果类型,默认值为default,取值范围为default|page,default等同于showProgress参数效果;为page时,进度效果为仿浏览器类型,固定在页面的顶部 title:"", //type为default时显示的加载框标题 text:"", //type为default时显示的加载框内容 color:"" //type为page时进度条的颜色,默认值为#45C01A,支持#FFF,#FFFFFF,rgb(255,255,255),rgba(255,255,255,1.0)等格式 } ``` delay: - 类型:数字 - 默认值:0 - 描述:(可选项)window 显示延迟时间,适用于将被打开的 window 中可能需要打开有耗时操作的模块时,可延迟 window 展示到屏幕的时间,保持UI的整体性 reload: - 类型:布尔 - 默认值:false - 描述:(可选项)页面已经打开时,是否重新加载页面,重新加载页面后 apiready 方法将会被执行 allowEdit: - 类型:布尔 - 默认值:false - 描述:(可选项)是否允许长按页面时弹出选择菜单 softInputMode: - 类型:字符串 - 默认值:auto - 描述:(可选项)当键盘弹出时,输入框被盖住时,当前页面的调整方式,详见[键盘弹出页面调整方式](!Constant#b26)常量;只iOS有效,Android请在 [config.xml](/APICloud/技术专题/app-config-manual) 里面配置并云编译使用 customRefreshHeader: - 类型:字符串 - 默认值:无 - 描述:(可选项)设置使用自定义下拉刷新模块的名称,设置后可以使用 api.setCustomRefreshHeaderInfo 方法来使用自定义下拉刷新组件 leftPane: - 类型:JSON 对象 - 默认值:无 - 描述:左边侧滑 window 内部字段: ```js { edge:60, // 左边侧滑打开后,漏出的半透明区域宽度,默认值为60。此时左边侧滑window的宽度为屏幕宽度减去edge name:'', // window名字(字符串类型) url:'', // 页面地址,可以为本地文件路径,支持相对路径和绝对路径,以及widget://、fs://等协议路径,也可以为远程地址 pageParam:{}, //(可选项)页面参数,页面中可以通过api.pageParam获取,JSON对象 bgColor:'', //(可选项)背景色,支持图片和颜色,格式为#fff、#ffffff、rgba(r,g,b,a)等,图片路径支持fs://、widget://等APICloud自定义文件路径协议,同时支持相对路径 bounces:false, //(可选项)是否弹动,默认值:若在 config.xml 里面配置了pageBounce,则默认值为配置的值,否则为false scrollToTop:false //(可选项)当点击状态栏,页面是否滚动到顶部。若当前屏幕上不止一个页面的scrollToTop属性为true,则所有的都不会起作用。默认值:true。只iOS有效 vScrollBarEnabled:true, //(可选项)是否显示垂直滚动条,默认true hScrollBarEnabled:true, //(可选项)是否显示水平滚动条,默认true scaleEnabled:true, //(可选项)页面是否可以缩放,布尔型,默认值:false allowEdit:false, //(可选项)是否允许长按页面时弹出选择菜单 softInputMode:'auto' //(可选项)当键盘弹出时,输入框被盖住时,当前页面的调整方式,参考键盘弹出页面调整方式常量,只iOS有效 customRefreshHeader:'' //(可选项)设置使用自定义下拉刷新模块的名称,设置后可以使用api.setCustomRefreshHeaderInfo方法来使用自定义下拉刷新组件 } ``` rightPane: - 类型:JSON 对象 - 默认值:无 - 描述:右边侧滑 window 内部字段: ```js { edge:60, // 右边侧滑打开后,漏出的半透明区域宽度,默认值为60。此时右边侧滑window的宽度为屏幕宽度减去edge name:'', // window名字(字符串类型) url:'', // 页面地址,可以为本地文件路径,支持相对路径和绝对路径,以及widget://、fs://等协议路径,也可以为远程地址 pageParam:{}, //(可选项)页面参数,页面中可以通过api.pageParam获取,JSON对象 bgColor:'', //(可选项)背景色,支持图片和颜色,格式为#fff、#ffffff、rgba(r,g,b,a)等,图片路径支持fs://、widget://等APICloud自定义文件路径协议,同时支持相对路径 bounces:false, //(可选项)是否弹动,默认值:若在 config.xml 里面配置了pageBounce,则默认值为配置的值,否则为false scrollToTop:false //(可选项)当点击状态栏,页面是否滚动到顶部。若当前屏幕上不止一个页面的scrollToTop属性为true,则所有的都不会起作用。默认值:true。只iOS有效 vScrollBarEnabled:true, //(可选项)是否显示垂直滚动条,默认true hScrollBarEnabled:true, //(可选项)是否显示水平滚动条,默认true scaleEnabled:true, //(可选项)页面是否可以缩放,布尔型,默认值:false allowEdit:false, //(可选项)是否允许长按页面时弹出选择菜单 softInputMode:'auto' //(可选项)当键盘弹出时,输入框被盖住时,当前页面的调整方式,参考键盘弹出页面调整方式常量,只iOS有效 customRefreshHeader:'' //(可选项)设置使用自定义下拉刷新模块的名称,设置后可以使用api.setCustomRefreshHeaderInfo方法来使用自定义下拉刷新组件 } ``` ### 示例代码 ```js api.openDrawerLayout({ name: 'main', url: './main.html', animation:{ type:'none' }, leftPane:{ name: 'leftPane', url: 'leftPane.html' } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.2.0及更高版本 ## openDrawerPane 打开抽屉式侧滑Pane openDrawerPane({params}) ### params type: - 类型:字符串 - 默认值:无 - 描述:侧滑类型,left 或 right ### 示例代码 ```js api.openDrawerPane({ type: 'left' }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.2.0及更高版本 ## closeDrawerPane 关闭抽屉式侧滑Pane closeDrawerPane() ### 示例代码 ```js api.closeDrawerPane(); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.2.0及更高版本 ## execScript 在指定 window 或者 frame 中执行脚本,对于 frameGroup 里面的 frame 也有效,若 name 和 frameName 都未指定,则在当前 window 中执行脚本,具体执行逻辑见补充说明。 execScript({params}) ### params name: - 类型:字符串 - 默认值:无 - 描述:(可选项)window 名称,若要跨 window 执行脚本,该字段必须指定,首页的名称为 root frameName: - 类型:字符串 - 默认值:无 - 描述:(可选项)frame名称 script: - 类型:字符串 - 默认值:无 - 描述:js代码 ### 示例代码 ```js //在名为winName的window中执行jsfun脚本 var jsfun = 'funcGoto();'; api.execScript({ name: 'winName', script: jsfun }); //在名为winName的window中找到 //名为frmName的frame,并在该frame中执行jsfun脚本 var jsfun = 'funcGoto();'; api.execScript({ name: 'winName', frameName: 'frmName', script: jsfun }); //在当前window中找到 //名为frmName的frame,并在该frame中执行jsfun脚本 var jsfun = 'funcGoto();'; api.execScript({ frameName: 'frmName', script: jsfun }); ``` ### 补充说明 统一处理逻辑为:exec->window->frame name 参数: 当 name 不传值,或者传空字符串的情况下,execScript 对象为调用 execScript 的window(该 window 可能位于屏幕或者后台),在该 window 中继续 frameName 的逻辑; 当 name 传值且非空字符串,但并未找到名为 name 的 window,则直接返回不处理(不论 frameName 是否有值)。若找到了对应的 window,则在该 window 中继续 frameName 的逻辑; frameName 参数: 当 frameName 不传值,或者传空字符串的情况下,execScript 对象为调用 execScript 的 window(该 window 可能位于屏幕或者后台),在该 window 中执行 script; 当 frameName 传值且非空字符串,但并未找到名为 frameName 的 frame,则直接返回不处理。若找到了该 frame,则在该 frame 中执行 script。 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## historyBack 历史记录后退一页 historyBack({params}, callback(ret, err)) ### params frameName: - 类型:字符串 - 默认值:无 - 描述:(可选项)frame 名称,若不传则表示对当前页面进行操作 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { status:true //后退是否成功,失败时说明不能再后退了 } ``` ### 示例代码 ```js api.historyBack({ frameName:'detail' },function(ret,err){ if(!ret.status){ api.closeWin(); } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## historyForward 历史记录前进一页 historyForward({params}, callback(ret, err)) ### params frameName: - 类型:字符串 - 默认值:无 - 描述:(可选项)frame 名称,若不传则表示对当前页面进行操作 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { status:true //前进是否成功,失败时说明不能再前进了 } ``` ### 示例代码 ```js api.historyForward({ frameName:'detail' },function(ret,err){ if(!ret.status){ } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## pageUp 页面向上滚动一页 pageUp({params}, callback(ret, err)) ### params top: - 类型:布尔 - 默认值:false - 描述:(可选项)是否直接滚动到最顶部 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { scrolled:true //是否滚动,为false时说明当前页面已经到达顶部了 } ``` ### 示例代码 ```js api.pageUp(function( ret, err ){ if(!ret.scrolled){ //已经滚动到顶部 } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.1.0及更高版本 ## pageDown 页面向下滚动一页 pageDown({params}, callback(ret, err)) ### params bottom: - 类型:布尔 - 默认值:false - 描述:(可选项)是否直接滚动到最底部 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { scrolled:true //是否滚动,为false时说明当前页面已经到达底部了 } ``` ### 示例代码 ```js api.pageDown(function( ret, err ){ if(!ret.scrolled){ //已经滚动到底部 } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.1.0及更高版本 ## removeLaunchView 移除启动图。若 [config.xml](/APICloud/技术专题/app-config-manual) 里面配置 autoLaunch 为 false,则启动图不会自动消失,直到调用此方法移除。 removeLaunchView({params}) ### params animation: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)动画参数,不传时不使用动画,type:[动画类型](!Constant#b6),subType:[动画子类型](!Constant#b8)。 内部字段: ```js { type:"fade", //动画类型(详见动画类型常量) subType:"from_right", //动画子类型(详见动画子类型常量) duration:300 //动画过渡时间,默认300毫秒 } ``` ### 示例代码 ```js api.removeLaunchView({ animation: { type: 'fade', duration: 500 } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## parseTapmode 解析元素 tapmode 属性,优化点击事件处理 默认页面加载完成后,引擎会对 dom 里面的元素进行 tapmode 属性解析,若是之后用代码创建的 dom 元素,则需要调用该方法后 tapmode 属性才会生效 parseTapmode() ### 示例代码 ```js api.parseTapmode(); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## installApp 安装应用 installApp({params}) ### params appUri: - 类型:字符串 - 默认值:无 - 描述:目标应用的资源文件标识。Android上为apk包的本地路径,如file://xxx.apk;iOS上为应用安装包对应的plist文件地址 ### 示例代码 ```js //Android用法: api.installApp({ appUri: 'file://xxx.apk' }); //iOS用法: api.installApp({ appUri: 'https://list.kuaiapp.cn/list/KuaiAppZv7.1.plist' //安装包对应plist地址 }); ``` ### 补充说明 安装应用 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## openApp 打开手机上其它应用,并且可以传递参数 openApp({params}, callback(ret, err)) ### params appParam: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)传给目标应用的参数。iOS 平台会将 appParam 里面的值拼接到 iosUrl 后面,比如 iosUrl 为 http://www.baidu.com,appParam为{"keyword":"APICloud"},则最后传递给第三方应用的url为http://www.baidu.com?keyword=APICloud iosUrl: - 类型:字符串 - 默认值:无 - 描述:(可选项)目标应用的url(iOS平台使用),iOS下必传 androidPkg: - 类型:字符串 - 默认值:无 - 描述:(可选项)目标应用的包名或 action(Android平台使用),Android下必传 mimeType: - 类型:字符串 - 默认值:无 - 描述:(可选项)指定目标应用的响应数据类型,如:"text/html"(Android平台使用) uri: - 类型:字符串 - 默认值:无 - 描述:(可选项)指定目标应用响应的uri(Android平台使用) ### callback(ret, err) ret: - 类型:JSON 对象 - 描述:目标应用关闭后的返回值,只支持Android err: - 类型:JSON 对象 内部字段: ```js { msg:"" //错误描述 } ``` ### 示例代码 ```js //iOS中的使用方法如下: api.openApp({ iosUrl: 'http://www.baidu.com', //例如调用系统浏览器Safari打开百度,其中http为Safari的URL Scheme;同理,微信的URL Scheme为weixin,因此可以通过传weixin://来打开微信 appParam: { appParam: 'app参数' } }); //Android中的使用方法如下: api.openApp({ androidPkg: 'Android.intent.action.VIEW', mimeType: 'text/html', uri: 'http://www.baidu.com' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## appInstalled 判断设备上面是否已安装指定应用 appInstalled({params}, callback(ret, err)) ### params appBundle: - 类型:字符串 - 默认值:无 - 描述:Android 平台为应用包名,iOS 平台为应用定义的 URL Scheme。iOS 中的 URL Scheme 与包名不一样,一个应用只有一个包名,但是可以配置多个 URL Scheme ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { installed:true //是否安装,布尔类型 } ``` ### 示例代码 ```js api.appInstalled({ appBundle: appBundle },function(ret, err){ if(ret.installed){ //应用已安装 }else{ //应用未安装 } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## 重启应用 重启应用,云修复完成后可以调用此方法来重启应用使云修复生效。 rebootApp() ### 示例代码 ```js api.rebootApp(); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.2.0及更高版本 ## openWidget 打开 Widget,若此 widget 已经被打开,则会把其调整到最前面显示 openWidget({params}, callback(ret, err)) ### params id: - 类型:字符串 - 默认值:无 - 描述:widget 的 ID wgtParam: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)widget 参数,在新打开的 widget 里面的页面中通过 api.wgtParam 获取 animation: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)动画参数,不传时使用默认动画,type:[动画类型](!Constant#b6),subType:[动画子类型](!Constant#b8)。 内部字段: ```js { type:"none", //动画类型(详见动画类型常量) subType:"from_right", //动画子类型(详见动画子类型常量) duration:300 //动画过渡时间,默认300毫秒 } ``` ### callback(ret, err) ret: - 类型:JSON 对象 - 描述:新 widget 关闭时候的返回值 ### 示例代码 ```js api.openWidget({ id: 'A00000001', animation: { type: 'flip', subType: 'from_bottom', duration: 500 } }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## closeWidget 关闭指定 widget closeWidget({params}) ### params id: - 类型:字符串 - 默认值:无 - 描述:(可选项)widget 的 ID retData: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)返回给上个 widget 的返回值 silent: - 类型:布尔型 - 默认值:false - 描述:(可选项)是否静默退出应用,只在主 widget 中有效。当为 false 时,引擎会弹出对话框询问是否退出应用 animation: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)动画参数,不传时使用默认动画,type:[动画类型](!Constant#b6),subType:[动画子类型](!Constant#b8)。 内部字段: ```js { type:"none", //动画类型(详见动画类型常量) subType:"from_right", //动画子类型(详见动画子类型常量) duration:300 //动画过渡时间,默认300毫秒 } ``` ### 示例代码 ```js api.closeWidget({ id: 'A00000001', retData: { name: 'closeWidget' }, animation: { type: 'flip', subType: 'from_bottom', duration: 500 } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## ajax 跨域异步请求,支持文件上传 ajax({params}, callback(ret, err)) ### params url: - 类型:字符串 - 默认值:无 - 描述:请求地址 tag: - 类型:字符串 - 默认值:无 - 描述:(可选项)请求标识,可以传递此字段给 cancelAjax 方法来取消请求 method: - 类型:字符串 - 默认值:get - 描述:(可选项)异步请求方法类型(详见[异步请求方法类型](!Constant#b22)常量) cache: - 类型:布尔 - 默认值:false - 描述:(可选项)是否缓存,若缓存,下次没网络时请求则会使用缓存 timeout: - 类型:数字 - 默认值:30 - 描述:(可选项)超时时间,单位秒 dataType: - 类型:字符串 - 默认值:json - 描述:(可选项)返回数据类型(详见[异步请求返回数据类型](!Constant#b22)常量) charset: - 类型:字符串 - 默认值:utf-8 - 描述:(可选项)当响应头里面没有返回字符集编码时,使用此编码来解析数据 headers: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)请求头 report: - 类型:布尔 - 默认值:false - 描述:(可选项)是否实时返回上传文件进度 returnAll: - 类型:布尔 - 默认值:false - 描述:(可选项)是否需要返回所有 response 信息,为 true 时,返回的头信息获取方法(ret.headers),消息体信息获取方法(ret.body),状态码获取方法(ret.statusCode) data: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)POST 数据,method 为 get 时不传。以下字段除了 values 和 files 可以同时使用,其它参数都不能同时使用。 内部字段: ```js { stream:"", //文件路径(字符串类型) body:"", //请求体(字符串类型)如: JSON.stringify({"name1": "value1", "name2": "value2"}) (将JSON对像转为JSON字符串再赋值给body) values:{}, //以表单方式提交参数(JSON对象), 如 {"field1": "value1", "field1": "value2"} (直接传JSON对像.) files:{} //以表单方式提交文件,支持多文件上传(JSON对象),如 {"file": "path"},也支持同一字段对应多文件:{"file":["path1","path2"]}。路径支持绝对路径,以及fs://、widget://、cache://等文件路径协议. } ``` certificate: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)https 安全证书设置。 内部字段: ```js { path:'', //p12证书路径,支持fs://、widget://、cache://等文件路径协议,字符串类型 password:'' //证书密码,字符串类型 } ``` ### callback(ret, err) ret: - 类型:JSON 对象或字符串 - 描述:类型依赖于传入的 dataType 和 returnAll 返回上传进度时,原服务器返回数据会被放在body字段里面,内部字段为: ```js { progress: 100, //上传进度,0.00-100.00 status: '', //上传状态,详见上传状态常量 body: '' //上传完成时,服务器返回的数据 } ``` err: - 类型:JSON 对象 内部字段: ```js { statusCode: 400, //网络请求状态码,数字类型 code:0, //错误码(详见异步请求错误码常量),数字类型 msg:'' //错误描述,字符串类型 body: //当请求失败如需要权限时,此时服务器返回的数据会通过该参数返回;当要求返回的数据格式为json,而返回的数据不是json格式时,数据通过该参数返回 } ``` ### 示例代码 ```js api.ajax({ url: 'http://192.168.1.101:3101/upLoad', method: 'post', data: { values: { name: 'haha' }, files: { file: 'fs://a.gif' } } },function(ret, err){ if (ret) { api.alert({msg:JSON.stringify(ret)}); } else { api.alert({msg:JSON.stringify(err)}); } }); ``` ### 补充说明 异步请求q ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## cancelAjax 取消异步请求 cancelAjax({params}) ### params tag: - 类型:字符串 - 默认值:无 - 描述:请求标识 ### 示例代码 ```js api.cancelAjax({ tag: 'publish' }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.1.0及更高版本 ## download 下载文件 download({params}, callback(ret, err)) ### params url: - 类型:字符串 - 默认值:无 - 描述:下载地址 savePath: - 类型:字符串 - 默认值:无 - 描述:(可选项)存储路径,不传时使用自动创建的路径 report: - 类型:布尔类型 - 默认值:false - 描述:(可选项)下载过程是否上报 cache: - 类型:布尔类型 - 默认值:true - 描述:(可选项)是否使用本地缓存 allowResume: - 类型:布尔类型 - 默认值:false - 描述:(可选项)是否允许断点续传 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { fileSize:0, //文件大小,数字类型 percent:0, //下载进度(0-100),数字类型 state:0, //下载状态(详见下载状态常量) savePath:'' //存储路径(字符串类型) } ``` err: - 类型:JSON 对象 内部字段: ```js { msg:"" //错误描述 } ``` ### 示例代码 ```js api.download({ url: url, savePath: 'fs://test.rar', report: true, cache: true, allowResume: true },function(ret, err){ if(ret.state == 1){ //下载成功 }else{ } }); ``` ### 补充说明 通过返回的 state 来判断文件是否下载完成,不要通过 percent 来判断 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## cancelDownload 取消文件下载 cancelDownload({params}) ### params url: - 类型:字符串 - 默认值:无 - 描述:下载地址 ### 示例代码 ```js api.cancelDownload({ url: url }); ``` ### 补充说明 取消文件下载 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## imageCache 图片缓存 imageCache({params}, callback(ret, err)) ### params url: - 类型:字符串 - 默认值:无 - 描述:图片远程地址 policy: - 类型:字符串 - 默认值:default - 描述:(可选项)缓存策略(详见[缓存策略](!Constant#b27)常量) thumbnail: - 类型:布尔类型 - 默认值:true - 描述:(可选项)使用缩略图,底层将根据当前系统及设备性能,返回最优的缩略图,有利于提高应用运行及渲染效率 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { status:true, //是否成功,布尔类型 url:'' //图片本地存储路径,若下载失败,则返回传入的url,字符串类型 } ``` ### 示例代码 ```js api.imageCache({ url: 'http://a.hiphotos.baidu.com/image/w%3D400/sign=2abe1c77d4ca7bcb7d7bc62f8e086b3f/64380cd7912397ddf9f4bdb05a82b2b7d1a287f0.jpg' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.1.0及更高版本 ## readFile 读取文本文件内容,只支持utf-8编码文本类型文件 readFile({params}, callback(ret, err)) ### params path: - 类型:字符串 - 默认值:无 - 描述:文件路径,支持绝对路径和文件路径协议如fs://、widget://等 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { status:true, //操作成功状态值 data:"" //文件内容,字符串类型 } ``` err: - 类型:JSON 对象 内部字段: ```js { code:0, //错误码(详见文件操作错误码常量) msg:"" //错误描述 } ``` ### 示例代码 ```js api.readFile({ path: 'fs://a.txt' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## writeFile 写入内容到文本文件 writeFile({params}, callback(ret, err)) ### params path: - 类型:字符串 - 默认值:无 - 描述:文件路径,支持绝对路径和文件路径协议如fs://、cache://等,不支持widget://目录,该目录只读 data: - 类型:字符串 - 默认值:无 - 描述:文件内容 append: - 类型:布尔 - 默认值:false - 描述:是否以追加方式写入数据,默认会清除之前文件内容 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { status:true //操作成功状态值 } ``` err: - 类型:JSON 对象 内部字段: ```js { code:0, //错误码(详见文件操作错误码常量) msg:"" //错误描述 } ``` ### 示例代码 ```js api.writeFile({ path: 'fs://a.txt', data: 'writeFile测试内容' }, function(ret, err){ if(ret.status){ //成功 }else{ } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## setPrefs 设置偏好数据 setPrefs({params}) ### params key: - 类型:字符串 - 默认值:无 - 描述:键 value: - 类型:字符串 - 默认值:无 - 描述:值 ### 示例代码 ```js api.setPrefs({ key: 'k', value: '1' }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## getPrefs 获取偏好设置值 getPrefs({params}, callback(ret, err)) ### params key: - 类型:字符串 - 默认值:无 - 描述:键 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { value:"" //值 } ``` ### 示例代码 ```js api.getPrefs({ key: 'k' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 获取偏好设置值 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## removePrefs 删除偏好设置值 removePrefs({params}) ### params key: - 类型:字符串 - 默认值:无 - 描述:键 ### 示例代码 ```js api.removePrefs({ key: 'k' }); ``` ### 补充说明 删除偏好设置值 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## clearCache 清除缓存,包括下载的文件、拍照临时文件、网页缓存文件等,清除时可能需要消耗一定时间。 clearCache({params}, callback(ret, err)) ### params timeThreshold: - 类型:数字 - 默认值:0 - 描述:(可选项)清除多少天前的缓存 ### callback(ret, err) - 描述:清除完成后的回调 ### 示例代码 ```js api.clearCache(function(){ api.toast({ msg:'清除完成' }); }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## getCacheSize 获取缓存占用空间大小,缓存包括下载的缓存文件、拍照临时文件以及网页缓存文件等,计算可能需要花费一些时间 getCacheSize(callback(ret, err)) ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { size: //缓存大小,单位为Byte,数字类型。(-1:无存储设备、-2:正在准备USB存储设备、-3:无法访问存储设备) } ``` ### 示例代码 ```js api.getCacheSize(function(ret){ var size = ret.size; }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.1.0及更高版本 ## getFreeDiskSpace 获取剩余存储空间大小 getFreeDiskSpace(callback(ret, err)) ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { size: //剩余存储空间大小,单位为Byte,数字类型。(-1:无存储设备、-2:正在准备USB存储设备、-3:无法访问存储设备) } ``` ### 示例代码 ```js api.getFreeDiskSpace(function( ret, err ){ var size = ret.size; }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.1.0及更高版本 ## loadSecureValue 从加密的key.xml文件中读取指定数据,key.xml文件放置于网页包里面的res目录,配置方式: ```js <?xml version="1.0" encoding="UTF-8"?> <security> <item name="appKey" value="1111111"/> </security> ``` loadSecureValue({params}, callback(ret, err)) ### params key: - 类型:字符串 - 默认值:无 - 描述:键 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { value:"" //值 } ``` ### 示例代码 ```js api.loadSecureValue({ key:'appKey' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## addEventListener 监听事件,支持系统事件和自定义事件 addEventListener({params}, callback(ret, err)) ### params name: - 类型:字符串 - 默认值:无 - 描述:自定义事件或系统事件名称(详见[事件](!Event)) extra: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)附加字段。一些特定事件可能需要提供额外的参数。 内部字段: ```js { threshold: //当事件为scrolltobottom时,设置距离底部多少距离时触发事件,默认值为0,数字类型 } ``` ### callback(ret, err) ret: - 类型:JSON 对象 - 描述:事件发生时传递的参数,可能为空 ### 示例代码 ```js //如监听网络连接事件 api.addEventListener({ name: 'online' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 监听事件 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## removeEventListener 移除事件监听 removeEventListener({params}) ### params name: - 类型:字符串 - 默认值:无 - 描述:自定义事件或系统事件名称(详见[事件](!Event)) ### 示例代码 ```js api.removeEventListener({ name: 'online' }); ``` ### 补充说明 停止监听事件 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## sendEvent 将任意一个自定义事件广播出去,该事件可在任意页面通过 addEventListener 监听收到。 sendEvent({params}) ### params name - 类型:字符串 - 默认值:无 - 描述:任意自定义事件的名称,比如:apprunning、appover等 extra - 类型:字符串或 JSON 对象 - 默认值:无 - 描述:(可选项)附带的参数。在监听页面的回调里面通过 ret.value 获取。 ### 示例代码 ```js api.sendEvent({ name: 'myEvent', extra: { key1: 'value1', key2: 'value2' } }); //html页面a: api.addEventListener({ name: 'myEvent' }, function(ret, err){ alert(JSON.stringify(ret.value)); }); //html页面b: api.addEventListener({ name: 'myEvent' }, function(ret, err){ alert(JSON.stringify(ret.value)); }); //a、b页面都将收到 myEvent 事件 ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## accessNative 使用 SuperWebView 时,js 向原生发送消息。此方法只在使用 SuperWebView 时有效。 accessNative({params}, callback(ret, err)) ### params name - 类型:字符串 - 默认值:无 - 描述:消息名称。 extra - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)附带的参数。 ### callback(ret, err) ret: - 类型:JSON 对象 err: - 类型:JSON 对象 ### 示例代码 ```js api.accessNative({ name: 'showMenu', extra: { key: 'value' } }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.2.0及更高版本 ## notification 向用户发出震动、声音提示、灯光闪烁、状态栏消息等通知,以及闹钟功能 状态栏消息点击后,页面可以通过监听 noticeclicked 事件得到内容 notification({params}, callback(ret, err)) ### params vibrate: - 类型:数组 - 默认值:[500,500] - 描述:(可选项)伴随节奏的震动,时间数组,时间单位为毫秒,iOS上面震动时间为固定值 sound: - 类型:字符串 - 默认值:default - 描述:(可选项)提示音,默认为系统提示音。当实现闹钟功能时,iOS只支持widget://路径协议 light: - 类型:布尔型 - 默认值:false - 描述:(可选项)设备提示灯是否闪烁 notify: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)弹出通知到状态栏 内部字段: ```js { title:'' //标题,默认值为应用名称,只Android有效 content:'' //内容,默认值为'有新消息' extra:'' //传递给通知的数据,在通知被点击后,该数据将通过监听函数回调给网页 updateCurrent: false //是否覆盖更新已有的通知,取值范围true|false。只Android有效 } ``` alarm: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)如果本次通知设置了闹铃,那么该通知将在设定的闹铃时间弹出 内部字段: ```js { hour: //小时,数字类型,取值范围(0-23),默认值为当前系统时 minutes: //分钟,数字类型,取值范围(0-59),默认值为当前系统分 daysOfWeek: //通知循环时间,以周为单位,数组类型,如[1,2,3,4,5,6,7]代表周日、周一、周二、周三、周四、周五、周六。若不传则不循环,只在当天或隔天的指定时间通知一次 time: //闹铃目标时间,数字类型,1970年至今的毫秒数,只在设定的时间执行一次,若设置了time,那么hour、minutes、daysOfWeek将被忽略 } ``` ### callback(ret, err) 如果 notification 时传入了 notify,那么将收到 callback,返回本次状态栏通知的 id,该 id 可用于取消状态栏通知。 ret: - 类型:JSON 对象 内部字段: ```js { id:1 //弹出到状态栏通知的id,可用于取消通知 } ``` ### 示例代码 ```js api.notification({ notify: { content: '闹钟' }, alarm: { hour: 7, minutes: 30, daysOfWeek: [2,3,4,5,6] } }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## cancelNotification 取消本应用弹出到状态栏的某个或所有通知,也可以清除设定的闹铃 cancelNotification({params}) ### params id: - 类型:字符串 - 默认值:0。如果传入-1,则取消本应用弹到状态栏的所有通知,iOS只支持清除所有弹到状态栏的通知。 - 描述:(可选项)调用 notification 方法时返回的 id ### 示例代码 ```js api.cancelNotification({ id: 1 }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## startLocation 调用系统自带定位功能,开始定位 startLocation({params}, callback(ret, err)) ### params accuracy: - 类型:字符串 - 默认值:100m - 描述:(可选项)定位精度(详见[定位精度](!Constant#b5)常量) filter: - 类型:数字 - 默认值:1.0 - 描述:(可选项)位置更新所需最小距离(单位米) autoStop: - 类型:布尔 - 默认值:true - 描述:(可选项)获取到位置信息后是否自动停止定位 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { longitude:116.213, //经度 latitude:39.213, //纬度 timestamp:1396068155591, //时间戳 status: true //定位成功 } ``` err: - 类型:JSON 对象 内部字段: ```js { msg:"" //错误描述 } ``` ### 示例代码 ```js api.startLocation({ accuracy: '100m', filter: 1, autoStop: true }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ //定位失败 } }); ``` ### 补充说明 本API使用系统自身定位能力进行定位。 Android 上使用的是 Google 的定位服务,因法规政策的原因,在中国基本无法提供服务,因此建议国内开发者使用百度定位模块(baiduLocation)进行定位操作。 iOS上使用的是苹果的定位服务,不受影响。 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## stopLocation 停止定位 stopLocation() ### 示例代码 ```js api.stopLocation(); ``` ### 补充说明 停止定位 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## getLocation 获取位置信息,获取成功后自动停止获取。 若之前已通过 startLocation() 方法进行定位,则直接返回上次定位的数据,否则使用默认设置进行定位 getLocation(callback(ret, err)) ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { longitude:116.213, //经度 latitude:39.213, //纬度 timestamp:1396068155591, //时间戳 status:true //定位成功 } ``` err: - 类型:JSON 对象 内部字段: ```js { msg:"" //错误描述 } ``` ### 示例代码 ```js api.getLocation(function(ret, err){ if(ret.status){ //获取位置信息成功 }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 本API使用系统自身定位能力进行定位。 Android 上使用的是 Google 的定位服务,因法规政策的原因,在中国基本无法提供服务,因此建议国内开发者使用百度定位模块(baiduLocation)进行定位操作。 IOS上使用的是苹果的定位服务,不受影响。 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## startSensor 开启传感器 startSensor({params}, callback(ret, err)) ### params type: - 类型:字符串 - 默认值:无 - 描述:传感器类型(详见[传感器类型](!Constant#b2)常量) ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { x:0, //x轴分量值 y:0, //y轴分量值 z:0, //z轴分量值 proximity:true, //是否接近设备 status:true //操作成功状态值 } ``` err: - 类型:JSON 对象 内部字段: ```js { msg:"" //错误描述 } ``` ### 示例代码 ```js api.startSensor({ type: 'accelerometer' }, function(ret, err){ if(ret.status){ }else{ } }); ``` ### 补充说明 开启传感器 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## stopSensor 停止传感器 stopSensor({params}) ### params type: - 类型:字符串 - 默认值:无 - 描述:传感器类型(详见[传感器类型](!Constant#b2)常量) ### 示例代码 ```js api.stopSensor({ type: 'accelerometer' }); ``` ### 补充说明 停止传感器 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## call 拨打电话或进行faceTime call({params}) ### params type: - 类型:字符串 - 默认值:tel_prompt - 描述:(可选项)打电话类型(详见[电话类型](!Constant#b4)常量) number: - 类型:字符串 - 默认值:无 - 描述:电话号码 ### 示例代码 ```js api.call({ type: 'tel_prompt', number: '10086' }); ``` ### 补充说明 拨打电话,需要设备有电话功能 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## sms 调用系统短信界面发送短信,或者后台直接发送短信 sms({params}, callback(ret, err)) ### params numbers: - 类型:字符串数组 - 默认值:无 - 描述:电话号码 - 备注:当调用系统短信界面进行短信发送时,仅支持传入一个号码,且发送是否成功的状态值依赖于系统短信界面的返回值 text: - 类型:字符串 - 默认值:无 - 描述:文本内容 silent: - 类型:布尔型 - 默认值:false - 描述:(可选项)是否后台发送,iOS不支持 - 备注:后台发送时,numbers 支持多个,可同时将一条信息发送给多个号码 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { status:true //发送状态 } ``` ### 示例代码 ```js api.sms({ numbers: ['10086'], text: '测试短信' },function(ret, err){ if(ret.status){ //已发送 }else{ //发送失败 } }); ``` ### 补充说明 发送短信,需要设备有短信功能 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## mail 发送邮件 mail({params}, callback(ret, err)) ### params recipients: - 类型:字符串数组 - 默认值:无 - 描述:收件人 subject: - 类型:字符串 - 默认值:无 - 描述:邮件主题 body: - 类型:字符串 - 默认值:无 - 描述:(可选项)邮件内容 attachments: - 类型:数组 - 默认值:无 - 描述:(可选项)附件地址 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { status:true //发送状态 } ``` ### 示例代码 ```js api.mail({ recipients: ['test@163.com'], subject: '邮件测试', body: '这是一封测试用的邮件', attachments: ['widget://a.txt'] }, function(ret, err){ if(ret.status){ //已发送 }else{ } }); ``` ### 补充说明 需要在手机上面已经配置好邮件账户 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## openContacts 在应用内打开系统通讯录界面选择联系人 openContacts(callback(ret, err)) ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { status:true, //操作成功状态值 name:"", //姓名 phone:"" //电话号码 } ``` err: - 类型:JSON 对象 内部字段: ```js { msg:"" //错误描述 } ``` ### 示例代码 ```js api.openContacts(function(ret, err){ if(ret.status){ var name = ret.name; var phone = ret.phone; }else{ } }); ``` ### 补充说明 打开通讯录界面 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## setFullScreen 设置是否全屏 setFullScreen({params}) ### params fullScreen: - 类型:布尔 - 默认值:无 - 描述:是否全屏 ### 示例代码 ```js api.setFullScreen({ fullScreen: true }); ``` ### 补充说明 设置是否全屏 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## setStatusBarStyle 设置状态栏样式为白色(适用于深色背景)或黑色(适用于浅色背景),以及设置状态栏背景颜色 setStatusBarStyle({params}) ### params style: - 类型:字符串 - 默认值:无 - 描述:(可选项)状态栏样式(详见[状态栏样式](!Constant#b23)常量),只支持iOS color: - 类型:字符串 - 默认值:#000 - 描述:(可选项)状态栏背景颜色,只 Android 5.0 及以上有效 ### 示例代码 ```js api.setStatusBarStyle({ style: 'light' }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## setScreenOrientation 设置屏幕旋转方向 setScreenOrientation({params}) ### params orientation: - 类型:字符串 - 默认值:无 - 描述:旋转屏幕到指定方向,或根据重力感应自动旋转;当前为横屏时,若想只在横屏间根据重力切换,则可以传 auto_landscape,竖屏间切换则传 auto_portrait。详见[屏幕旋转方向](!Constant#b24)常量 ### 示例代码 ```js api.setScreenOrientation({ orientation: 'landscape_left' }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## setKeepScreenOn 设置是否禁止屏幕休眠 setKeepScreenOn({params}) ### params keepOn - 类型:布尔 - 默认值:无 - 描述:是否禁止屏幕休眠 ### 示例代码 ```js api.setKeepScreenOn({ keepOn: true }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## toLauncher 回到系统桌面 toLauncher() ### 示例代码 ```js api.toLauncher(); ``` ### 补充说明 该接口仅Android平台支持。 ### 可用性 Android系统 可提供的1.0.0及更高版本 ## setScreenSecure 设置是否禁止截屏,只支持Android setScreenSecure({params}) ### params secure - 类型:布尔 - 默认值:无 - 描述:是否禁止截屏 ### 示例代码 ```js api.setScreenSecure({ secure: true }); ``` ### 补充说明 无 ### 可用性 Android系统 可提供的1.1.0及更高版本 ## setAppIconBadge 设置应用图标右上角数字,支持所有 iOS 手机,以及部分 Android 手机,如小米和三星的某些型号,不支持的设备,表现结果为调用该接口无任何效果 setAppIconBadge({params}) ### params badge - 类型:数字 - 默认值:无 - 描述:显示在应用图标右上角的数字。为0时表示清除应用图标上显示的数字 ### 示例代码 ```js api.setAppIconBadge({ badge: 1 }); ``` ### 补充说明 无 ### 可用性 iOS系统 可提供的1.1.0及更高版本 ## getPhoneNumber 获取本机电话号码,只支持 Android 部分手机 getPhoneNumber(callback(ret, err)) ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { value:"" //电话号码,字符串类型 } ``` ### 示例代码 ```js api.getPhoneNumber(function( ret, err ){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 无 ### 可用性 Android系统 可提供的1.2.0及更高版本 ## alert 弹出带一个按钮的对话框,更多按钮的对话框请使用confirm方法 alert({params}, callback(ret, err)) ### params title: - 类型:字符串 - 默认值:无 - 描述:(可选项)标题 msg: - 类型:字符串 - 默认值:无 - 描述:(可选项)内容 buttons: - 类型:数组 - 默认值:["确定"] - 描述:(可选项)按钮 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { buttonIndex:1 //按钮点击序号,从1开始 } ``` ### 示例代码 ```js api.alert({ title: 'testtitle', msg: 'testmsg', }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 对话框 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## confirm 弹出带两个或三个按钮的confirm对话框 confirm({params}, callback(ret, err)) ### params title: - 类型:字符串 - 默认值:无 - 描述:(可选项)标题 msg: - 类型:字符串 - 默认值:无 - 描述:(可选项)内容 buttons: - 类型:数组 - 默认值:["取消","确定"] - 描述:(可选项)按钮标题,若小于两个按钮,会补齐两个按钮;若大于三个按钮,则使用前三个按钮 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { buttonIndex:1 //按钮点击序号,从1开始 } ``` ### 示例代码 ```js api.confirm({ title: 'testtitle', msg: 'testmsg', buttons: ['确定', '取消'] }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 多个按钮的对话框 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## prompt 弹出带两个或三个按钮和输入框的对话框 prompt({params}, callback(ret, err)) ### params title: - 类型:字符串 - 默认值:无 - 描述:(可选项)标题 msg: - 类型:字符串 - 默认值:无 - 描述:(可选项)内容 text: - 类型:字符串 - 默认值:无 - 描述:(可选项)输入框里面的默认内容 type: - 类型:字符串 - 默认值:text - 描述:(可选项)输入类型,不同输入类型弹出键盘类型不同,取值范围(text、password、number、email、url) buttons: - 类型:数组 - 默认值:["取消","确定"] - 描述:(可选项)按钮标题,若小于两个按钮,会补齐两个按钮;若大于三个按钮,则使用前三个按钮 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { buttonIndex:1, //按钮点击序号,从1开始 text:"" //输入文字 } ``` ### 示例代码 ```js api.prompt({ buttons: ['确定', '取消'] }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 带输入框的对话框 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## actionSheet 底部弹出框 ```js actionSheet({params}, callback(ret, err)) ``` ### params title: - 类型:字符串 - 默认值:无 - 描述:(可选项)标题 cancelTitle: - 类型:字符串 - 默认值:取消 - 描述:(可选项)取消按钮标题 destructiveTitle: - 类型:字符串 - 默认值:无 - 描述:(可选项)红色警示按钮标题,一般用于做一些删除之类操作 buttons: - 类型:数组 - 默认值:无 - 描述:(可选项)其它按钮 style: - 类型:JSON 对象 - 默认值:无 - 描述:(可选项)样式设置,不传时使用默认样式 内部字段: ```js { layerColor:'', //遮蔽层颜色,仅支持 rgba颜色,默认值:rgba(0, 0, 0, 0.4) itemNormalColor:'', //选项按钮正常状态背景颜色,支持#000、#000000、rgb、rgba,默认值:#F1F1F1 itemPressColor:'', //选项按钮按下时背景颜色,支持#000、#000000、rgb、rgba,默认值:#E6E6E6 fontNormalColor:'', //选项按钮正常状态文字颜色,支持#000、#000000、rgb、rgba,默认值:#007AFF fontPressColor:'', //选项按钮按下时文字颜色,支持#000、#000000、rgb、rgba,默认值:#0060F0 titleFontColor:'' //标题文字颜色,支持#000、#000000、rgb、rgba,默认值:#8F8F8F } ``` ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { buttonIndex:1 //按钮点击序号,从1开始 } ``` ### 示例代码 ```js api.actionSheet({ title: '底部弹出框测试', cancelTitle: '这里是取消按钮', destructiveTitle: '红色警告按钮', buttons: ['1','2','3'] }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 底部弹出框 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## showProgress 显示进度提示框 showProgress({params}) ### params style: - 类型:字符串 - 默认值:default - 描述:(可选项)进度提示框风格(详见[进度提示框风格](!Constant#b10)常量) animationType: - 类型:字符串 - 默认值:fade - 描述:(可选项)进度提示框动画类型(详见[进度提示框动画类型](!Constant#b9)常量) title: - 类型:字符串 - 默认值:加载中 - 描述:(可选项)标题 text: - 类型:字符串 - 默认值:请稍后... - 描述:(可选项)内容 modal: - 类型:布尔 - 默认值:true - 描述:(可选项)是否模态,模态时整个页面将不可交互 ### 示例代码 ```js api.showProgress({ style: 'default', animationType: 'fade', title: '努力加载中...', text: '先喝杯茶...', modal: false }); ``` ### 补充说明 显示进度提示框 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## hideProgress 隐藏进度提示框 hideProgress() ### 示例代码 ```js api.hideProgress(); ``` ### 补充说明 隐藏进度提示框 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## toast 弹出一个定时自动关闭的提示框 toast({params}) ### params msg: - 类型:字符串 - 默认值:无 - 描述:提示消息 duration: - 类型:字符串 - 默认值:2000 - 描述:(可选项)持续时长,单位:毫秒 location: - 类型:字符串 - 默认值:bottom - 描述:(可选项)弹出位置,顶部、中间或底部(详见[toast位置](!Constant#b1)常量) ### 示例代码 ```js api.toast({ msg: '网络错误', duration: 2000, location: 'bottom' }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## openPicker 打开时间选择器 openPicker({params}, callback(ret, err)) ### params type: - 类型:字符串 - 默认值:无 - 描述:拾取器类型(详见[拾取器类型](!Constant#b12)常量) date: - 类型:字符串 - 默认值:当前时间 - 描述:(可选项)时间格式化字符串,格式yyyy-MM-dd HH:mm title: - 类型:字符串 - 默认值:无 - 描述:(可选项)显示在拾取器上面的标题 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { year:2000, //年 month:1, //月 day:1, //日 hour:12, //时 minute:00 //分 } ``` ### 示例代码 ```js api.openPicker({ type: 'date_time', date: '2014-05-01 12:30', title: '选择时间' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 时间选择器 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## setRefreshHeaderInfo 显示顶部下拉刷新组件,页面必须设置为弹动。 setRefreshHeaderInfo({params}, callback(ret, err)) ### params visible: - 类型:布尔 - 默认值:true - 描述:(可选项)是否可见 loadingImg: - 类型:字符串 - 默认值:旋转箭头图片 - 描述:(可选项)上拉下拉时的图片地址 bgColor: - 类型:字符串 - 默认值:rgba(187, 236, 153, 1.0) - 描述:(可选项)背景颜色 textColor: - 类型:字符串 - 默认值:rgba(109, 128, 153, 1.0) - 描述:(可选项)文本颜色 textDown: - 类型:字符串 - 默认值:下拉可以刷新... - 描述:(可选项)下拉文字描述 textUp: - 类型:字符串 - 默认值:松开可以刷新... - 描述:(可选项)松开时文字描述 textLoading: - 类型:字符串 - 默认值:加载中... - 描述:(可选项)加载状态文字描述 textTime: - 类型:字符串 - 默认值:最后更新加日期时间 - 描述:(可选项)更新时间文字描述 showTime: - 类型:布尔 - 默认值:true - 描述:(可选项)是否显示更新时间 ### callback(ret, err) ret: - 描述:可以为空 err: - 描述:可以为空 ### 示例代码 ```js api.setRefreshHeaderInfo({ visible: true, loadingImg: 'widget://image/refresh.png', bgColor: '#ccc', textColor: '#fff', textDown: '下拉刷新...', textUp: '松开刷新...', showTime: true }, function(ret, err){ //在这里从服务器加载数据,加载完成后调用api.refreshHeaderLoadDone()方法恢复组件到默认状态 }); ``` ### 补充说明 下拉刷新 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## setCustomRefreshHeaderInfo 显示顶部自定义下拉刷新组件,页面必须设置为弹动。 可以在[config.xml](/APICloud/技术专题/app-config-manual)里面配置要使用的自定义下拉刷新模块名称,如: ```js <preference name="customRefreshHeader" value="UIPullRefresh"/> ``` 或者在使用openWin、openFrame等方法打开页面时传入customRefreshHeader参数来指定。 setCustomRefreshHeaderInfo({params}, callback(ret, err)) ### params 由对应的自定义下拉刷新模块提供 ### callback(ret, err) 由对应的自定义下拉刷新模块提供 ### 示例代码 ```js api.setCustomRefreshHeaderInfo({ bgColor: '#C0C0C0', images: { pull: 'widget://image/refresh/pulling.png', transform: [ 'widget://image/refresh/transform0.png', 'widget://image/refresh/transform1.png', 'widget://image/refresh/transform2.png', 'widget://image/refresh/transform3.png', 'widget://image/refresh/transform4.png', 'widget://image/refresh/transform5.png', 'widget://image/refresh/transform6.png' ], load: [ 'widget://image/refresh/loading0.png', 'widget://image/refresh/loading1.png', 'widget://image/refresh/loading2.png', 'widget://image/refresh/loading3.png', 'widget://image/refresh/loading4.png', ] } }, function(ret, err){ //在这里从服务器加载数据,加载完成后调用api.refreshHeaderLoadDone()方法恢复组件到默认状态 }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.2.0及更高版本 ## refreshHeaderLoading 设置下拉刷新组件为刷新中状态 refreshHeaderLoading() ### 示例代码 ```js api.refreshHeaderLoading(); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.1.0及更高版本 ## refreshHeaderLoadDone 通知顶部下拉刷新数据加载完毕,组件会恢复到默认状态 refreshHeaderLoadDone() ### 示例代码 ```js api.refreshHeaderLoadDone(); ``` ### 补充说明 通知顶部刷新数据加载完毕 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## showFloatBox 展示一个悬浮框,浮动在屏幕上,点击时关闭当前widget showFloatBox({params}) ### params iconPath: - 类型:字符串 - 默认值:应用图标 - 描述:(可选项)展示在悬浮框中的图片地址 duration: - 类型:字符串 - 默认值:5000毫秒 - 描述:(可选项)自动消隐时长。在该时长内不发生触摸悬浮框行为,悬浮框自动消隐至半透状态 ### 示例代码 ```js api.showFloatBox({ iconPath: 'widget://image/icon.png', duration: 3000 }); ``` ### 补充说明 对主widget无效 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## getPicture 通过系统相册或拍照获取图片和视频 getPicture({params}, callback(ret, err)) ### params sourceType: - 类型:字符串 - 默认值:library - 描述:(可选项)图片源类型,从相册、图片库或相机获取图片(详见[图片源类型](!Constant#b15)常量) encodingType: - 类型:字符串 - 默认值:png - 描述:(可选项)返回图片类型,jpg或png(详见[图片编码类型](!Constant#b13)常量) mediaValue: - 类型:字符串 - 默认值:pic - 描述:(可选项)媒体类型,图片或视频(详见[媒体类型](!Constant#b11)常量) destinationType: - 类型:字符串 - 默认值:url - 描述:(可选项)返回数据类型,指定返回图片地址或图片经过base64编码后的字符串(详见[图片数据格式](!Constant#b14)常量) allowEdit: - 类型:布尔 - 默认值:false - 描述:(可选项)是否可以选择图片后进行编辑,支持iOS及部分安卓手机 quality: - 类型:数字 - 默认值:50 - 描述:(可选项)图片质量,只针对jpg格式图片(0-100整数) videoQuality: - 类型:字符串 - 默认值:medium - 描述:(可选项)视频质量,取值范围(low、medium、high),只支持iOS targetWidth: - 类型:数字 - 默认值:原图宽度 - 描述:(可选项)压缩后的图片宽度,图片会按比例适配此宽度 targetHeight: - 类型:数字 - 默认值:原图高度 - 描述:(可选项)压缩后的图片高度,图片会按比例适配此高度 saveToPhotoAlbum: - 类型:布尔 - 默认值:false - 描述:(可选项)拍照或录制视频后是否保存到相册 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { data:"", //图片路径 base64Data:"", //base64数据,destinationType为base64时返回 duration:0 //视频时长(数字类型) } ``` err: - 类型:JSON 对象 内部字段: ```js { msg:"" //错误描述 } ``` ### 示例代码 ```js api.getPicture({ sourceType: 'camera', encodingType: 'jpg', mediaValue: 'pic', destinationType: 'url', allowEdit: true, quality: 50, targetWidth: 100, targetHeight: 100, saveToPhotoAlbum: false }, function(ret, err){ if(ret){ alert(JSON.stringify(ret)); }else{ alert(JSON.stringify(err)); } }); ``` ### 补充说明 获取图片 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## saveMediaToAlbum 保存图片和视频到系统相册 saveMediaToAlbum({params}, callback(ret, err)) ### params path: - 类型:字符串 - 默认值:无 - 描述:本地文件路径,支持fs://、widget://等文件路径协议,必须带有扩展名 ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { status:true //是否保存成功 } ``` err: - 类型:JSON 对象 内部字段: ```js { msg:"" //错误描述 } ``` ### 示例代码 ```js api.saveMediaToAlbum({ path: 'fs://1.png' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 无 ### 可用性 iOS系统,Android系统 可提供的1.1.0及更高版本 ## startRecord 录制amr格式音频 startRecord({params}) ### params path: - 类型:字符串 - 默认值:无 - 描述:(可选项)文件路径,不传时自动创建路径 ### 示例代码 ```js api.startRecord({ path: 'fs://a.amr' }); ``` ### 补充说明 录音格式为amr ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## stopRecord 停止录音 stopRecord(callback(ret, err)) ### callback(ret, err) ret: - 类型:JSON 对象 内部字段: ```js { path:'', //字符串,返回的音频地址 duration:0 //数字类型,音频的时长 } ``` ### 示例代码 ```js api.stopRecord(function(ret, err){ if(ret){ var path = ret.path; var duration = ret.duration; } }); ``` ### 补充说明 停止录音 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## startPlay 开始播放音频 startPlay({params}, callback(ret, err)) ### params path: - 类型:字符串 - 默认值:无 - 描述:文件路径,支持fs://、widget://等文件路径协议 ### callback(ret, err) 播放完成的回调 ### 示例代码 ```js api.startPlay({ path: 'widget://res/1.mp3' }, function(ret, err){ if( ret ){ alert( JSON.stringify( ret ) ); }else{ alert( JSON.stringify( err ) ); } }); ``` ### 补充说明 播放音频 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## stopPlay 停止播放音频 stopPlay() ### 示例代码 ```js api.stopPlay(); ``` ### 补充说明 停止播放音频 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 ## openVideo 打开系统视频播放器 openVideo({params}) ### params url: - 类型:字符串 - 默认值:无 - 描述:本地文件路径(支持fs://、widget://等文件路径协议)或者网络资源地址 ### 示例代码 ```js api.openVideo({ url: 'widget://res/1.mp4' }); ``` ### 补充说明 打开系统视频播放器 ### 可用性 iOS系统,Android系统 可提供的1.0.0及更高版本