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 //指定图片格式为jpg
png //指定图片格式为png
图片数据格式 用于 getPicture() 方法中 destinationType 字段,字符串类型 base64 //指定返回数据为base64编码后内容
url //指定返回数据为选取的图片地址
图片源类型 用于 getPicture() 方法中 sourceType 字段,字符串类型 library //图片库
camera //相机
album //相册
网络类型 用于 connectionType 属性,字符串类型 unknown //未知
ethernet //以太网
wifi //wifi
2g //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_network
cache_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,字符串类型

results matching ""

    No results matching ""