使用wide打包的app
使用打包的app打开的页面
本页面所示功能函数在页面对应的任意一js文件中执行(如:元素运行期,页面对应js,wwclass.js)
callApp 传入三个参数,第一个为需要调用的方法,第二为该方法需要的参数,第三为回调函数
回调函数传入了两个参数
value 表示执行的结果
exception 表示抛出的异常,如果抛出了异常表示执行失败
参数:
method:表示需要的操作,值为 "find" 表示查找已有联系人信息,值为 "create" 表示新建联系人
如 method 值为 "create" 需要传入 "properties" properties 为对象格式
properties.displayName:联系人姓名
properties.name:联系人姓名(未详细区分与上方属性的区别,使用时请同时传入)
properties.phoneNumbers: 电话号码
使用示例:
获取手机所有联系人信息:
$.wwclass.callApp("contacts", {
"method": "find"
}, function(value, exception) {
if (typeof exception !== "undefined") {
console.log("call contacts returned false");
console.log(exception);
return;
} else {
console.log("call contacts returned success");
}
console.log(value);
for (var i = 0; i < value.length; i++) {
console.log("Display Name = " + value[i].displayName);
}
});
添加联系人:
$.wwclass.callApp("contacts", {
"method": "create",
"properties": {
"displayName": "小灰",
"name": "小灰灰",
"phoneNumbers": 15201111111
}
}, function(value, exception) {
if (typeof exception !== "undefined") {
console.log("create contacts returned false");
console.log(exception);
return;
} else {
console.log("create contacts returned success");
}
console.log(value);
});
返回值示例:
适用范围:
参数:
使用示例:
二维码扫描:
$.wwclass.callApp("scan", {}, function(value, exception) {
if (typeof exception !== "undefined") {
console.log("scan returned false");
return;
} else {
console.log("scan returned success");
alert("We got a barcode\n" +
"Result: " + value.text + "\n" +
"Format: " + value.format + "\n" +
"Cancelled: " + value.cancelled);
}
});
返回值示例:
参数:
quality:0 ~ 100 图像质量
mediaType: 0: PICTURE, 1: VIDEO, 2:ALLMEDIA
destinationType: 0: DATA_URL, 1: FILE_URI(android), 2: NATIVE_URI(ios)名
sourceType: 0: PHOTOLIBRARY, 1: CAMERA, 2: SAVEDPHOTOALBUM
saveToPhotoAlbum: Save the image to the photo album on the device after capture.
encodingType: 0: JPEG, 1: PNG
使用示例:
调用手机相机:
// 调用手机相机拍照获取图像
$.wwclass.callApp("camera", {
method: "getPicture",
cameraOptions: {
quality: 50,
mediaType: 0,
destinationType: 0,
sourceType: 1,
saveToPhotoAlbum: true,
popoverOptions: 0,
cameraDirection: 1
}
}, function(value, exception) {
if (typeof exception !== "undefined") {
console.log("call camera returned false");
console.log(exception);
return;
} else {
console.log("call camera returned success");
}
$("#pic").attr("src", value);
});
// 调用手机相册
$.wwclass.callApp("camera", {
method: "getPicture",
cameraOptions: {
quality: 50,
mediaType: 0,
destinationType: 0,
sourceType: 2,
saveToPhotoAlbum: true,
popoverOptions: 0,
cameraDirection: 1
}
}, function(value, exception) {
if (typeof exception !== "undefined") {
console.log("call camera returned false");
console.log(exception);
return;
} else {
console.log("call camera returned success");
}
$("#pic").attr("src", value);
});
注意:若配置中destinationType使用文件路径,该文件无法加载,报错信息为无法加载本地文件,所以统一使用获得的图片格式为base64。
参数:
使用示例:
$.wwclass.callApp("eval", {
script: "alert(1);"
}, function(value, exception) {});
返回值示例:无
参数:
appParams:为插件参数,必填 extras:为额外参数
两个参数详细包括哪些内容,自行参看 官方文档
使用示例:
$.wwclass.callApp("startApp", {
appParams: {"package":"com.baidu.searchbox"},
extras: {}
}, function(value, exception) {
if (typeof exception !== "undefined") {
console.log("startApp returned false");
console.log(exception);
return;
} else {
console.log("startApp returned success");
}
});
返回值示例:
参数:
method
sessionShare:会话
timelineShare:朋友圈
favorites:收藏
type:有很多类型,不同类型代码略有不同,详情查看相关代码
使用示例:
$.wwclass.callApp("wechat", {
"method": "sessionShare",
"params": {
"type": "WEBPAGE",
"title": "这是标题",
"description": "这是描述",
"thumb": "http://www.huiqiuqiu.com/img/demo1.jpg",
"webpageUrl": "http://www.huiqiuqiu.com/test.html"
}
}, function(value, exception) {
if (typeof exception !== "undefined") {
$ele.trigger("shareError.ww");
console.error("微信分享失败", exception);
return;
} else {
$ele.trigger("shareSuccess.ww");
console.log("微信分享成功");
}
});
// 支付
/*{
partnerid: '10000100', // merchant id
prepayid: 'wx201411101639507cbf6ffd8b0779950874', // prepay id
noncestr: '1add1a30ac87aa2db72f57a2375d8fec', // nonce
timestamp: '1439531364', // timestamp
sign: '0CB01533B8C1EF103065174F50BCA001', // signed string
}*/
$.wwclass.callApp("wechat", {
"method": "sendPaymentRequest",
"params": config
}, function(value, exception) {
if (typeof exception !== "undefined") {
console.error("支付失败, 原因:" + exception);
alert("支付失败, 原因:" + exception);
return;
}
console.log("支付成功");
alert("支付成功");
});
返回值示例:
安装命令:cordova plugin add cordova-plugin-x-socialsharing
参数:
使用示例:
$.wwclass.callApp("socialSharing", {
method: "socialShare",
params: {
url: "http://www.baidu.com",
subject: "测试标题",
message: "描述内容",
files: "http://www.huiqiuqiu.com/tile.jpg"
}
}, function(value, exception) {
if (typeof exception !== "undefined") {
$ele.trigger("shareError.ww");
console.error("系统分享失败", exception);
return;
} else {
$ele.trigger("shareSuccess.ww");
console.log("系统分享成功");
}
});
返回值示例:
安装命令:cordova plugin add cordova-plugin-qqsdk --variable QQ_APP_ID=1105399343
参数:
method:表示需要的操作,值为 "find" 表示查找已有联系人信息,值为 "create" 表示新建联系人
如 method 值为 "create" 需要传入 "properties" properties 为对象格式
properties.displayName:联系人姓名
properties.name:联系人姓名(未详细区分与上方属性的区别,使用时请同时传入)
properties.phoneNumbers: 电话号码
使用示例:
$.wwclass.callApp("qq", {
method: "QQShare", // QQShare, QQFavorites, QZoneShare
params: {
url: "http://www.baidu.com",
title: "测试标题",
description: "描述内容",
imageUrl: "http://www.huiqiuqiu.com/img/demo1.jpg",
appName: "app名称"
}
}, function(value, exception) {
if (typeof exception !== "undefined") {
$ele.trigger("shareError.ww");
console.error("qq分享失败", exception);
return;
} else {
$ele.trigger("shareSuccess.ww");
console.log("qq分享成功");
}
});
返回值示例:
安装命令:cordova plugin add cordova-plugin-weibosdk --variable WEIBO_APP_ID=631293344
参数:
使用示例:
$.wwclass.callApp("weibo", {
method: "shareToWeibo",
params: {
url: "http://www.baidu.com",
title: "测试标题",
description: "描述内容",
imageUrl: "http://www.huiqiuqiu.com/tile.jpg", // 图片一定要小
defaultText: "默认描述"
}
}, function(value, exception) {
if (typeof exception !== "undefined") {
$ele.trigger("shareError.ww");
console.error("微博分享失败", exception);
return;
} else {
$ele.trigger("shareSuccess.ww");
console.log("微博分享成功");
}
});
返回值示例:
命令:cordova plugin add cordova-plugin-device
参数:
使用示例:
$.wwclass.callApp("device", {method: "deviceInfo"}, function(value) {
console.log("设备信息", value);
});
返回值示例:
未有callApp函数给出,如需使用本功能。首先在打包时启用nfc相关选项,然后使用eval在app主体执行功能。
安装命令:cordova plugin add phonegap-nfc
参数:无
使用示例:无
返回值示例:无
参数:
method:方法类别 "checkConnection" 检查网络连接状态
使用示例:
$.wwclass.callApp("network", {method: "checkConnection"}, function(value) {
console.log("网络信息", value);
});
// 网络信息 WiFi connection
返回值示例:
该功能Android测试失败,Android中获取地理位置相关使用百度地图
$.wwclass.callApp("geolocation", {}, function(value, exception) {
if (typeof exception !== "undefined") {
console.log("geolocation returned false");
return;
} else {
console.log("geolocation returned success");
}
alert('Latitude: ' + value.coords.latitude + '\n' +
'Longitude: ' + value.coords.longitude + '\n' +
'Altitude: ' + value.coords.altitude + '\n' +
'Accuracy: ' + value.coords.accuracy + '\n' +
'Altitude Accuracy: ' + value.coords.altitudeAccuracy + '\n' +
'Heading: ' + value.coords.heading + '\n' +
'Speed: ' + value.coords.speed + '\n' +
'Timestamp: ' + value.timestamp + '\n');
});
安装语句:cordova plugin add https://github.com/cjpearson/cordova-plugin-keyboard
// 显示键盘
$.wwclass.callApp("keyboard", {method: "hide"}, function(value) {});
// 隐藏键盘
$.wwclass.callApp("keyboard", {method: "hide"}, function(value) {});
// iOS app键盘还有额外功能, 详情请查看插件文档
$.wwclass.callApp("keyboard", {method: "shrinkView", value: true}, function(value) {});
$.wwclass.callApp("keyboard", {method: "hideFormAccessoryBar", value: true}, function(value) {});
$.wwclass.callApp("keyboard", {method: "disableScrollingInShrinkView", value: true}, function(value) {});
iOS中键盘可能发出事件,在页面的body元素发出
参数:
method: 方法类别
num: 部分方法需要该参数. 表示对应数值
autoClear: configure 方法需要该参数
使用示例:
获取手机所有联系人信息:
$.wwclass.callApp("notificationBadge", {
"method": "set",
"num": 5
}, function(value, exception) {
if (typeof exception !== "undefined") {
console.error("error", exception);
return;
}
console.log("设置提示数量", value);
});
$.wwclass.callApp("notificationBadge", {
"method": "get"
}, function(value, exception) {
if (typeof exception !== "undefined") {
console.error("error", exception);
return;
}
console.log("获取当前提示数量", value);
});
$.wwclass.callApp("notificationBadge", {
"method": "increase",
"num": 5
}, function(value, exception) {
if (typeof exception !== "undefined") {
console.error("error", exception);
return;
}
console.log("增加为", value);
});
$.wwclass.callApp("notificationBadge", {
"method": "decrease",
"num": 2
}, function(value, exception) {
if (typeof exception !== "undefined") {
console.error("error", exception);
return;
}
console.log("减少为", value);
});
$.wwclass.callApp("notificationBadge", {
"method": "clear"
}, function(value, exception) {
if (typeof exception !== "undefined") {
console.error("error", exception);
return;
}
console.log("清空", value);
});
返回值示例:true; 3
#21891qq分享功能失效,cordova插件升级,接口完全变了,当前暂时回滚旧版。