API对象
api 对象是您入门 APICloud 必须了解和熟练掌握的一个基础对象。
- api 对象提供了构建应用程序所需要的一些基本的方法 Method,如
窗口操作
、相册
和网络数据访问
等;- 一些常见的属性Attrbute,如
屏幕宽度
(screenWidth),系统类型
(systemType)等;- 还有一些常用事件 Event,如
电量低
(batterylow)事件、应用进入后台
(pause)事件。api 对象不需要 require 引用,可以直接在 js 中使用。
Attribute
属性 | 说明 | 示例代码 |
---|---|---|
appId | 应用的 ID,可以在网站控制台概览里面查看,字符串类型 | var appId = api.appId; |
appName | 应用在桌面显示名称,字符串类型 | var appName = api.appName; |
appVersion | 应用版本号,字符串类型 | var appVersion = api.appVersion; |
systemType | 系统类型,字符串类型 | var systemType = api.systemType; |
systemVersion | 手机平台的系统版本,字符串类型 | var systemVersion = api.systemVersion; |
version | 引擎版本信息,字符串类型 | var version = api.version; |
deviceId | 设备唯一标识,字符串类型 | var deviceId = api.deviceId; |
deviceToken | iOS中用于推送的Token,若未从系统获取到则返回空字符串,字符串类型 | var deviceToken = api.deviceToken; |
deviceModel | 设备型号,字符串类型 | var deviceModel = api.deviceModel; |
deviceName | 设备名称,字符串类型 | var deviceName = api.deviceName; |
uiMode | 设备类型,字符串类型 | var uiMode = api.uiMode; |
operator | 运营商名称,若未获取到则返回none,字符串类型 | var operator = api.operator; |
connectionType | 当前网络连接类型,如 2g、3g、4g、wifi 等,字符串类型 | var connectionType = api.connectionType; |
fullScreen | 应用是否全屏,布尔类型,只支持iOS | var fullScreen = api.fullScreen; |
screenWidth | 屏幕分辨率宽,数字类型 | var screenWidth = api.screenWidth; |
screenHeight | 屏幕分辨率高,数字类型 | var screenHeight = api.screenHeight; |
winName | 当前 window 名称,字符串类型 | var winName = api.winName; |
winWidth | 当前 window 宽度,数字类型 | var winWidth = api.winWidth; |
winHeight | 当前 window 高度,数字类型 | var winHeight = api.winHeight; |
frameName | frame 名称,字符串类型 | var frameName = api.frameName; |
frameWidth | frame 宽度,数字类型 | var frameWidth = api.frameWidth; |
frameHeight | frame 高度,数字类型 | var frameHeight = api.frameHeight; |
pageParam | 页面参数,JSON 对象类型 | var pageParam = api.pageParam; |
wgtParam | widget 参数,JSON 对象类型 | var frameHeight = api.frameHeight; |
appParam | 当应用被第三方应用打开时,传递过来的参数,字符串类型 | var appParam = api.appParam; |
statusBarAppearance | 当前应用状态栏是否支持沉浸式效果,布尔类型 | var statusBarAppearance = api.statusBarAppearance; |
wgtRootDir | widget: //协议对应的真实目录,即 widget 网页包的根目录,字符串类型 | var wgtRootDir = api.wgtRootDir; |
fsDir | fs: //协议对应地真实目录,字符串类型 | var fsDir = api.fsDir; |
cacheDir | cache://协议对应的真实目录,字符串类型 | var cacheDir = api.cacheDir; |
boxDir | box://协议对应的真实目录,字符串类型 | var boxDir = api.boxDir; |
debug | 获取config.xml配置的debug字段的值 | var debug = api.debug; |
channel | 渠道号,字符串类型 | var channel = api.channel; |
jailbreak | 设备是否越狱,布尔类型 | var jailbreak = api.jailbreak; |
Constant
属性 | 说明 | 取值范围 |
---|---|---|
toast位置 | 用于 toast() 方法中 location 字段,字符串类型 | top //顶部middle //中间 bottom //底部 |
传感器类型 | 用于 startSensor() 方法中 type 字段,字符串类型 | accelerometer //加速计gyroscope //陀螺仪magnetic_field //地磁传感器proximity //近接传感器 |
错误码 | 错误码,数字类型 | 0 //错误1 //没有指定模块2 //没有指定方法3 //参数不匹配4 //没有权限 |
电话类型 | 用于 call() 方法中 type 字段,字符串类型 | tel //直接拨打电话tel_prompt //iOS拨打电话之前会弹出提示框facetime //facetime通话,Android不支持 |
定位精度 | 根据需要来选择适当的精度来进行定位,用于 startLocation() 方法中 accuracy 字段,字符串类型 | 10m //精度在10米范围内100m //精度在100米范围内1km //精度在1千米范围内3km //精度在3千米范围内 |
动画类型 | 打开 window 或打开 widget 时的动画类型,Android 部分动画不支持,字符串类型 | none //无动画效果push //新视图将旧视图推开movein //新视图移到旧视图上面fade //交叉淡化过渡(不支持过渡方向)flip //翻转效果reveal //将旧视图移开,显示下面的新视图ripple //滴水效果(不支持过渡方向)curl //向上翻一页un_curl //向下翻一页suck //收缩效果(不支持过渡方向)cube //立方体翻滚效果 |
动画曲线类型 | 指定动画开始和结束时的快慢,用于 animation() 方法中 curve 字段,字符串类型 | ease_in_out //开始和结束时慢ease_in //开始时慢ease_out //结束时慢linear //整个动画过程速率一样 |
动画子类型 | 部分动画如 fade 可能没有过渡方向,字符串类型 | from_right //从右边开始动画from_left //从左边开始动画from_top //从顶部开始动画from_bottom //从底部开始动画 |
进度提示框动画类型 | 用于 showProgress() 方法中 animationType 字段,字符串类型 | fade //渐隐渐现zoom //缩放 |
进度提示框风格 | 用于 showProgress() 方法中 style 字段,字符串类型 | default //默认 |
媒体类型 | 用于 getPicture() 方法中 mediaValue 字段,字符串类型 | pic //图片video //视频all //图片和视频,Android不支持 |
拾取器类型 | 用于 openPicker() 方法中 type 字段,字符串类型 | date //日期time //时间date_time //日期和时间,Android不支持 |
图片编码类型 | 用于 getPicture() 方法中 encodingType 字段,字符串类型 | jpg //指定图片格式为jpgpng //指定图片格式为png |
图片数据格式 | 用于 getPicture() 方法中 destinationType 字段,字符串类型 | base64 //指定返回数据为base64编码后内容url //指定返回数据为选取的图片地址 |
图片源类型 | 用于 getPicture() 方法中 sourceType 字段,字符串类型 | library //图片库camera //相机album //相册 |
网络类型 | 用于 connectionType 属性,字符串类型 | unknown //未知ethernet //以太网wifi //wifi2g //2G网络3g //3G网络4g //4G网络none //无网络 |
文件操作错误码 | 指定 readFile()、writeFile() 方法返回错误时的错误类型,字符串类型 | 0 //没有错误1 //找不到文件错误2 //不可读取错误3 //编码格式错误4 //无效操作错误5 //无效修改错误6 //磁盘溢出错误7 //文件已存在错误 |
系统类型 | 用于 systemType 属性,字符串类型 | ios //iOS系统android //Android系统win //Windows系统wp //Windows Phone系统 |
下载状态 | 用于 download() 方法返回值中的 state 字段,数字类型 | 0 //下载中1 //下载完成2 //下载失败 |
异步请求错误类型 | 用于 ajax() 方法返回错误时的 code 字段,字符串类型 | 0 //连接错误1 //超时2 //授权错误3 //数据类型错误 |
异步请求返回数据类型 | 用于 ajax() 方法中 dataType 字段,数字类型 | json //返回数据为 JSON 对象text //返回数据为字符串类型 |
异步请求方法类型 | 用于 ajax() 方法中 method 字段,字符串类型 | get post put delete head |
状态栏样式 | 用于 setStatusBarStyle() 方法中 style 字段,字符串类型 | dark //状态栏字体为黑色,适用于浅色背景light //状态栏字体为白色,适用于深色背景 |
屏幕旋转方向 | 指定屏幕旋转到特定方向,或根据重力感应自动旋转,用于 setScreenOrientation() 方法中 orientation 字段,字符串类型 | portrait_up //竖屏时,屏幕在home键的上面portrait_down //竖屏时,屏幕在home键的下面,部分手机不支持landscape_left //横屏时,屏幕在home键的左边landscape_right //横屏时,屏幕在home键的右边auto //屏幕根据重力感应在横竖屏间自动切换auto_portrait //屏幕根据重力感应在竖屏间自动切换auto_landscape //屏幕根据重力感应在横屏间自动切换 |
上传状态 | 用于 ajax() 方法上传文件时返回值中的 status 字段,字符串类型 | 0 //上传中1 //上传完成2 //上传失败 |
键盘弹出页面调整方式 | 指定键盘弹出时,页面如何调整其内容,字符串类型 | resize //若键盘盖住输入框,页面会自动上移pan //若键盘盖住输入框,页面不会自动上移auto //默认值,由系统决定如何处理,iOS平台该字段等同于resize |
缓存策略 | 用于 imageCache() 方法中的 policy 字段,字符串类型 | default //默认为 cache_else_networkcache_else_network //若服务器上没有更新,则使用缓存no_cache //不使用缓存,始终从服务器获取cache_only //当缓存存在时,只从缓存中读取 |
Event
属性 | 说明 | 回调函数 | 内部字段 |
---|---|---|---|
apiready | api对象准备完毕后产生,在每个Window或Frame的HTML代码中都需要监听此事件,以确定APICloud扩展对象已经准备完毕,可以调用了。 | apiready = function() { bMap = api.require("bMap"); } |
|
batterylow | 设备电池电量低事件,字符串类型 | callback(ret, err)ret :返回电池电量和充电状态,不能为空 |
{ level:100, //电池电量(0-100) isPlugged:true //是否连接电源 } |
batterystatus | 设备电池状态改变事件,如电量变化或正在充电,字符串类型 | callback(ret, err)ret :返回电池电量和充电状态,不能为空 |
{ level:100, //电池电量(0-100) isPlugged:true //是否连接电源 } |
keyback | 设备 back 键被点击事件,仅 Android 平台有效,该事件必须在 Window 中注册才有效,Frame 中注册无效,并且只在当前屏幕上的 window 才能收到回调。字符串类型 | ret :被点击的键值 |
{ keyCode:0 //被点击的按键 longPress:false //是否是长按 } |
keymenu | 设备 menu 键被点击事件,仅 Android 平台有效。该事件必须在 Window 中注册才有效,Frame 中注册无效,并且只在当前屏幕上的 window 才能收到回调。 | ret :被点击的按键 |
{ keyCode:0 //被点击的按键 longPress:false //是否是长按 } |
volumeup | 设备音量加键被点击事件,仅 Android 平台有效。该事件必须在 Window 中注册才有效,Frame 中注册无效,并且只在当前屏幕上的 window 才能收到回调。 | ret :被点击的按键 |
{ keyCode:0 //被点击的按键 longPress:false //是否是长按 } |
volumedown | 设备音量减键被点击事件,仅 Android 平台有效。该事件必须在 Window 中注册才有效,Frame 中注册无效,并且只在当前屏幕上的 window 才能收到回调。 | ret :被点击的按键 |
{ keyCode:0 //被点击的按键 longPress:false //是否是长按 } |
offline | 监听设备断开网络的事件,字符串类型 | 不能为空 | |
online | 监听设备连接到网络的事件,字符串类型 | ret :监听到网络连接时的返回数据 |
{ connectionType:'' //当前网络连接类型,如2g、3g、4g、wifi等 } |
pause | 应用进入后台事件,字符串类型 | 不能为空 | |
resume | 应用从后台回到前台事件,字符串类型 | 不能为空 | |
scrolltobottom | Window 或者 Frame 页面滑动到底部事件,字符串类型。可用于实现滚动到底部,加载更多功能 | 不能为空 | |
shake | 设备摇动事件,字符串类型。设置该监听后,当前 APP 将立即开启摇动检测功能。 | 不能为空 | |
takescreenshot | 应用在前台运行期间,用户屏幕截图事件(比如同时按下了 home 键和电源键),只支持 iOS。 | 不能为空 | |
swipedown | Window 或者 Frame 的页面全局向下轻扫事件,字符串类型 | 不能为空 | |
swipeleft | Window 或者 Frame 的页面全局向左轻扫事件,字符串类型 | 不能为空 | |
swiperight | Window 或者 Frame 的页面全局向右轻扫事件,字符串类型 | 不能为空 | |
swipeup | Window 或者 Frame 的页面全局向上轻扫事件,字符串类型 | 不能为空 | |
tap | Window 或者 Frame 的页面全局单击事件,字符串类型。监听该事件后,点击 window 或者 frame 的任意位置,都将收到 tap 回调 | 不能为空 | |
longpress | Window 或者 Frame 的页面全局长按事件,字符串类型。 | 不能为空 | |
viewappear | Window 显示到屏幕的事件,字符串类型。收到 viewappear 事件回调,即标识当前 Window 已经动画结束,并且完全显示到屏幕上。 | 不能为空 | |
viewdisappear | Window 离开屏幕的事件,字符串类型。收到 viewdisappear 事件回调,即标识当前 Window 已经动画结束,并且完全从屏幕上移除 | 不能为空 | |
noticeclicked | 状态栏通知被用户点击后的回调,字符串类型 | ret :通知被点击后的回调 |
{ type:0, //内容来源类型。取值范围:0-APICloud 收到的推送内容,1-开发者自定义的 value:'' //内容,收到的推送内容或者由开发者发送通知时自行传入的,见notification接口中extra } |
appintent | 本应用被其他应用调起来时(Android 平台也可以通过 Activity 打开),收到相关数据的回调,字符串类型 | ret :其他应用或 Activity 传给本应用的数据 |
{ iosUrl:'' //其他应用打开本应用的url,只iOS有效,字符串类型 sourceAppId:'' //其他应用的包名,iOS平台有可能为空字符串,字符串类型 appParam:{} //其他应用传递过来的参数,JSON或字符串类型 } |
smartupdatefinish | 云修复使用静默修复时,更新完毕事件。可通过监听此事件来通知用户做是否强制重启应用等操作或者提示,以使更新生效,字符串类型 | ret :JSON 对象 |
{ value:[{ extra:'' //在控制台云修复里面进行静默修复时填写的附加信息,字符串类型 }] }] } |
launchviewclicked | 闪屏广告被用户点击后的回调,字符串类型 | ret :启动页被点击后的回调 |
{ value:[{ extra:'' //在控制台云修复里面进行静默修复时填写的附加信息,字符串类型 }] }] } |
keyboardshow | 系统键盘弹出的回调,只支持iOS,字符串类型 | ret :键盘弹出的回调 |
{ h:260 //键盘高度,数字类型 } |
keyboardhide | 系统键盘隐藏的回调,只支持iOS,字符串类型 |