455 lines
16 KiB
JavaScript
455 lines
16 KiB
JavaScript
/**
|
||
* @author 何杰
|
||
* @date 2016-08-01 12:00:00
|
||
* @address www.yitong.com.cn
|
||
* @mail hj@yitong.com.cn
|
||
* @desc: 屹通客户端组件api
|
||
*/
|
||
var Fw = {}; Fw.device = {};
|
||
Fw.device.Device = function () {
|
||
var userAgent = navigator.userAgent;
|
||
//ios 事件队列
|
||
var eventQueue = [];
|
||
return {
|
||
//是否iOS设备
|
||
is_ios: userAgent.indexOf('iPhone') > -1 || userAgent.indexOf('iPad') > -1,
|
||
//是否Android设备
|
||
is_android: userAgent.indexOf('Android') > -1,
|
||
/**
|
||
* ios
|
||
* 注册事件
|
||
* @param code 事件编码
|
||
* @param options 参数
|
||
*/
|
||
addEvent : function(code, options) {
|
||
if (options && code) {
|
||
eventQueue.push(JSON.stringify({
|
||
code : code,
|
||
name : options
|
||
}));
|
||
}
|
||
},
|
||
/**
|
||
* ios
|
||
* 原生调用,从队列中获取事件
|
||
* @returns {string}
|
||
*/
|
||
getEvent : function() {
|
||
return eventQueue.length > 0 ? eventQueue.shift() : '0';
|
||
}
|
||
};
|
||
}();
|
||
/**
|
||
* 供第三方调用API
|
||
*/
|
||
Fw.device.api = function () {
|
||
var device = Fw.device.Device;
|
||
return {
|
||
|
||
|
||
/**
|
||
* @brief 获取经纬度
|
||
*/
|
||
handCodeGetLocation : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
var option = {};
|
||
option.callBack = fn;
|
||
device.is_ios && device.addEvent("51",JSON.stringify(option));
|
||
device.is_android && GetInfoJs.getLocation(JSON.stringify(option));
|
||
},
|
||
/**
|
||
* @brief 获取用户信息
|
||
*/
|
||
getUserInfo : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
var option = {};
|
||
option.callback = fn;
|
||
device.is_ios && device.addEvent("getUserInfo",JSON.stringify(option));
|
||
device.is_android && GetInfoJs.getUserInfo(JSON.stringify(option));
|
||
},
|
||
/**
|
||
* @brief
|
||
*/
|
||
getCustNo : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
device.is_ios && device.addEvent("getCustNo",fn);
|
||
device.is_android && GetInfoJs.getCustNo(fn);
|
||
},
|
||
|
||
initTitle : function (option) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
|
||
device.is_ios && device.addEvent("initTitle",JSON.stringify(option));
|
||
device.is_android && GetInfoJs.initTitle(JSON.stringify(option));
|
||
|
||
},
|
||
|
||
setBackFun : function (option) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
device.is_ios && device.addEvent("goBack",JSON.stringify(option));
|
||
device.is_android && GetInfoJs.goBack(JSON.stringify(option));
|
||
},
|
||
setRightButton : function (option) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
device.is_ios && device.addEvent("setRightButton",JSON.stringify(option));
|
||
device.is_android && GetInfoJs.setRightButton(JSON.stringify(option));
|
||
},
|
||
getBackFun : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
device.is_ios && device.addEvent("getBackFun",fn);
|
||
device.is_android && GetInfoJs.getBackFun(option);
|
||
},
|
||
|
||
|
||
startRecordVoice : function (option) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
device.is_ios && device.addEvent("startRecordVoice",JSON.stringify(option));
|
||
device.is_android && GetInfoJs.startRecordVoice();
|
||
},
|
||
stopRecordVoice : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
device.is_ios && device.addEvent("stopRecordVoice",fn);
|
||
device.is_android && GetInfoJs.stopRecordVoice(fn);
|
||
},
|
||
getPhoneNo : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
device.is_ios && device.addEvent("getPhoneNo",fn);
|
||
device.is_android && GetInfoJs.getPhoneNo(fn);
|
||
},
|
||
/**
|
||
*扫一扫
|
||
*/
|
||
openScanPage : function (option) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
device.is_ios && device.addEvent("goToQrCode",JSON.stringify(option));
|
||
device.is_android && GetInfoJs.openScanPage();
|
||
},
|
||
/**
|
||
*付款码
|
||
*/
|
||
openPaymentCode : function (option) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
device.is_ios && device.addEvent("gotoPaymentCode",JSON.stringify(option));
|
||
device.is_android && GetInfoJs.openPaymentCode(JSON.stringify(option));
|
||
},
|
||
|
||
/**
|
||
* 拨打电话
|
||
*/
|
||
gotoSystemPhone : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
device.is_ios && device.addEvent("gotoSystemPhone",fn);
|
||
device.is_android && GetInfoJs.gotoSystemPhone(fn);
|
||
},
|
||
|
||
/**
|
||
* 关闭当前页面
|
||
*/
|
||
goBack : function (option) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
device.is_ios && device.addEvent("getBackFun",JSON.stringify(option));
|
||
device.is_android && GetInfoJs.goBack();
|
||
},
|
||
|
||
/**
|
||
* 调用物理返回键
|
||
*/
|
||
nativeBack : function () {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
option = {};
|
||
// device.is_ios && device.addEvent("getBackFun",JSON.stringify(option));
|
||
device.is_android && GetInfoJs.nativeBack();
|
||
},
|
||
/**
|
||
* 地图导航
|
||
*/
|
||
openMap : function (option) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
device.is_ios && device.addEvent("openMap",JSON.stringify(option));
|
||
device.is_android && GetInfoJs.openMap(JSON.stringify(option));
|
||
},
|
||
|
||
/**
|
||
* 登录
|
||
*/
|
||
gotoLoginCallback : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
device.is_ios && device.addEvent("goToLoginView",JSON.stringify(fn));
|
||
device.is_android && GetInfoJs.gotoLoginCallback(JSON.stringify(fn));
|
||
},
|
||
|
||
loginStatus : function (option) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
device.is_ios && device.addEvent("loginStatus",JSON.stringify(option));
|
||
device.is_android && GetInfoJs.loginStatus(JSON.stringify(option));
|
||
},
|
||
|
||
|
||
checkRecordVoicePermission : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
// device.is_ios && device.addEvent("getBackFun",JSON.stringify(option));
|
||
device.is_android && GetInfoJs.checkRecordVoicePermission(fn);
|
||
},
|
||
openMenu : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
// device.is_ios && device.addEvent("getBackFun",JSON.stringify(option));
|
||
device.is_android && GetInfoJs.gotoCommonlyUsedMenu(fn);
|
||
},
|
||
|
||
/**
|
||
* @brief 分享
|
||
*/
|
||
handCodeShare : function (param,fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
var option = {};
|
||
option.fn = fn;
|
||
option.param = param;
|
||
device.is_ios && device.addEvent("41",JSON.stringify(param));
|
||
device.is_android && GetInfoJs.showShare(JSON.stringify(option));
|
||
},
|
||
/**
|
||
* @brief 拍照、相册
|
||
*/
|
||
handCodeGetPhotos : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
var option = {};
|
||
option.fn = fn;
|
||
device.is_ios && device.addEvent("41",JSON.stringify(param));
|
||
device.is_android && GetInfoJs.takePhotos(JSON.stringify(option));
|
||
},
|
||
|
||
/**
|
||
* @brief 拍照
|
||
*/
|
||
openCamera : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
var option = {};
|
||
option.fn = fn;
|
||
// device.is_ios && device.addEvent("41",JSON.stringify(param));
|
||
device.is_android && GetInfoJs.openCamera(JSON.stringify(option));
|
||
},
|
||
|
||
/**
|
||
* @brief 相册
|
||
*/
|
||
photoAlbum : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
var option = {};
|
||
option.fn = fn;
|
||
// device.is_ios && device.addEvent("41",JSON.stringify(param));
|
||
device.is_android && GetInfoJs.photoAlbum(JSON.stringify(option));
|
||
},
|
||
|
||
|
||
/**
|
||
* @brief 复制到粘贴板
|
||
*/
|
||
pasteStringToSystem : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
|
||
device.is_ios && device.addEvent("pasteStringToSystem",fn);
|
||
device.is_android && GetInfoJs.pasteStringToSystem(fn);
|
||
},
|
||
|
||
queryAppFamily : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
//TODO ios粘贴方法
|
||
|
||
device.is_android && GetInfoJs.queryAppFamily(fn);
|
||
},
|
||
|
||
getHeaderImg : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
//TODO ios粘贴方法
|
||
|
||
device.is_android && GetInfoJs.getHeaderImg(fn);
|
||
},
|
||
|
||
getSystemVersion : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
device.is_ios && device.addEvent("getEquipmentInfo",fn);
|
||
device.is_android && GetInfoJs.getSystemVersion(fn);
|
||
},
|
||
|
||
/**
|
||
* @brief 跳转VUE
|
||
*/
|
||
goVUEPage : function (param,fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
var option = {};
|
||
option.fn = fn;
|
||
option.param = param;
|
||
device.is_ios && device.addEvent("goToAresPage",JSON.stringify(param));
|
||
device.is_android && GetInfoJs.showShare(JSON.stringify(option));
|
||
},
|
||
/**
|
||
甘肃宁波观影
|
||
*/
|
||
checkDiscountLevel : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
var option = {};
|
||
option.fn = "callbackCheckDiscountLevel";
|
||
option.shopid = "1100529310001000001";
|
||
option.sign = "bd91222d6fcff0de67dd28583926ae92"
|
||
device.is_ios && device.addEvent("checkDiscountLevel",JSON.stringify(option));
|
||
device.is_android && GetInfoJs.checkDiscountLevel(fn);
|
||
},
|
||
/**
|
||
宁波活动
|
||
*/
|
||
checkBFMLevel : function (fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
var option = {};
|
||
option.fn = "callbackCheckBFMLevel";
|
||
option.shopid = "1100529310001000009";
|
||
device.is_ios && device.addEvent("checkBFMLevel",JSON.stringify(option));
|
||
device.is_android && GetInfoJs.checkBFMLevel(option);
|
||
},
|
||
uploadThirdCertifyEvents : function (param ,fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
var option = {};
|
||
option.fn = "callBackUploadThirdCertifyEvents";
|
||
option.param = param;
|
||
device.is_ios && device.addEvent("uploadThirdCertifyEvents",JSON.stringify(param));
|
||
device.is_android && GetInfoJs.uploadThirdCertifyEvents(option);
|
||
},
|
||
checkUserChangeOrNoAndLoginStatus : function (param,fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
var option = {};
|
||
option.fn = fn;
|
||
option.param = param;
|
||
device.is_ios && device.addEvent("checkUserChangeOrNoAndLoginStatus",JSON.stringify(param));
|
||
device.is_android && GetInfoJs.checkUserChangeOrNoAndLoginStatus(JSON.stringify(option));
|
||
},
|
||
handCodePay : function (param,fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
var option = {};
|
||
option.fn = fn;
|
||
option.param = param;
|
||
device.is_ios && device.addEvent("HandCodePay",JSON.stringify(param));
|
||
device.is_android && GetInfoJs.go2Pay(JSON.stringify(param));
|
||
},
|
||
publicActivityEvents : function (param,fn) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
var option = {};
|
||
option.fn = fn;
|
||
option.param = param;
|
||
device.is_ios && device.addEvent("publicActivityEvents",JSON.stringify(option));
|
||
device.is_android && GetInfoJs.publicActivityEvents(JSON.stringify(option));
|
||
},
|
||
getNewAuthorization : function (param) {
|
||
if(!device.is_ios && !device.is_android){
|
||
alert("请在ios/android设备上使用!");
|
||
return;
|
||
}
|
||
device.is_ios && device.addEvent("getNewAuthorization",JSON.stringify(param));
|
||
device.is_android && GetInfoJs.getNewAuthorization(JSON.stringify(param));
|
||
}
|
||
}
|
||
}();
|