uniapp-h5/static/YT_Client_api.js

717 lines
26 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* @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 获取经纬度
* "X_LINE"和 "Y_LINE"两个返回字段在Android5.0.6及以后才会出现
*
*/
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));
},
setRightButton: function (fn) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("setRightButton", JSON.stringify(fn));
device.is_android && GetInfoJs.setRightButton(JSON.stringify(fn));
},
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));
},
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("backPrevious", 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("getVersionCode", fn);
device.is_android && GetInfoJs.getSystemVersion(fn);
},
getChooseCityInfo: function (fn) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
var option = {};
option.callBack = fn;
device.is_ios && device.addEvent("getChooseCityInfo", JSON.stringify(option));
device.is_android && GetInfoJs.getChooseCityInfo(JSON.stringify(option));
},
faceCheck: function (fn) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("faceCheck", JSON.stringify(option));
device.is_android && GetInfoJs.faceCheck(JSON.stringify(fn));
},
/**
* @brief 跳转VUE
*/
goVUEPage: function (param) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("goToAresPage", JSON.stringify(param));
device.is_android && GetInfoJs.goToAresPage(JSON.stringify(param));
},
/**
* @brief 跳转制定页面
*/
loadPath: function (param) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("loadPath", JSON.stringify(param));
device.is_android && GetInfoJs.loadPath(JSON.stringify(param));
},
/**
* @brief 跳转VUE
*/
redirectPage: function (param) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("redirectPage", JSON.stringify(param));
device.is_android && GetInfoJs.redirectPage(JSON.stringify(param));
},
/**
* @brief 积分接口
*/
jifenGetCordDateInfo: function (fun) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
var param = {};
param.fn = fun
device.is_ios && device.addEvent("jifenGetCordDateInfo", JSON.stringify(param));
device.is_android && GetInfoJs.jifenGetCordDateInfo(JSON.stringify(param));
},
getEquipmentInfo: function (fun) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
var param = {};
param.fn = fun
device.is_ios && device.addEvent("getEquipmentInfo", JSON.stringify(param));
device.is_android && GetInfoJs.getEquipmentInfo(JSON.stringify(param));
},
getOnLineFaCard: function (param) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("getOnLineFaCard", JSON.stringify(param));
device.is_android && GetInfoJs.getOnLineFaCard(JSON.stringify(param));
},
/**
* @brief 获取经纬度
* "longitude" 和 "latitude" 两个返回字段再Android5.0.6及以后才会出现
*/
checkAndGetLocation: function (fn) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
var option = {};
option.callBack = fn;
device.is_ios && device.addEvent("checkAndGetLocation", JSON.stringify(option));
device.is_android && GetInfoJs.checkAndGetLocation2(JSON.stringify(option));
},
/**
*开启截屏监听
*/
startMonitoring: function () {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
var option = {};
device.is_ios && device.addEvent("startMonitoring", JSON.stringify(option));
device.is_android && GetInfoJs.startMonitoring();
},
/**
*关闭截屏监听
*/
endMonitoring: function () {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
var option = {};
device.is_ios && device.addEvent("endMonitoring", JSON.stringify(option));
device.is_android && GetInfoJs.endMonitoring();
},
/**
*更新优惠券数量
*/
updateCoupon: function () {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
var option = {};
device.is_ios && device.addEvent("updateCoupon", JSON.stringify(option));
device.is_android && GetInfoJs.updateCoupon();
},
/**
*荣数用户检测
*/
checkUserChangeOrNot: function (param) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("checkUserChangeOrNot", JSON.stringify(param));
device.is_android && GetInfoJs.checkUserChangeOrNot(JSON.stringify(param));
},
/**
*跳转页面(届管数据)
*/
redirectPage: function (param) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("redirectPage", JSON.stringify(param));
device.is_android && GetInfoJs.redirectPage(JSON.stringify(param));
},
/**
* 检测权限
*/
checkPermission: function (param) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("checkPermission", JSON.stringify(param));
device.is_android && GetInfoJs.checkPermission(JSON.stringify(param));
},
/**
* 申请权限
*/
requestPermission: function (param) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("requestPermission", JSON.stringify(param));
device.is_android && GetInfoJs.requestPermission(JSON.stringify(param));
},
setPhoneCallStateListener: function (param) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("setPhoneCallStateListener", JSON.stringify(param));
device.is_android && GetInfoJs.setPhoneCallStateListener(JSON.stringify(param));
},
setAudioStreamType: function (param) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("setAudioStreamType", JSON.stringify(param));
device.is_android && GetInfoJs.setAudioStreamType(JSON.stringify(param));
},
showFloatWindow: function (param) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("showFloatWindow", JSON.stringify(param));
device.is_android && GetInfoJs.showFloatWindow(JSON.stringify(param));
},
getUserInfoForVideoCall: function (param) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("getUserInfoForVideoCall", JSON.stringify(param));
device.is_android && GetInfoJs.getUserInfoForVideoCall(JSON.stringify(param));
},
buriedPoint: function (fn) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("buriedPoint", JSON.stringify(fn));
device.is_android && GetInfoJs.buriedPoint(JSON.stringify(fn));
},
zxkf_goToLogin: function (fn) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("zxkf_goToLogin", JSON.stringify(fn));
device.is_android && GetInfoJs.zxkf_goToLogin(JSON.stringify(fn));
},
checkUnionPayAuthState: function (fn) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("checkUnionPayAuthState", JSON.stringify(fn));
device.is_android && GetInfoJs.checkUnionPayAuthState(JSON.stringify(fn));
},
startQrPay: function () {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("startQrPay", "");
device.is_android && GetInfoJs.startQrPay();
},
openQRCodeCombineUnionPay: function (param) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("openQRCodeCombineUnionPay", "");
device.is_android && GetInfoJs.openQRCodeCombineUnionPay(param);
},
/**
* @brief 打开消息推送弹窗
*/
openPushAlert: function (param, fn) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
var option = {};
option.callBack = fn;
option.param = param;
device.is_ios && device.addEvent("openPushAlert", JSON.stringify(param));
device.is_android && GetInfoJs.openPushAlert(JSON.stringify(option));
},
/**
* @brief 检测个性化消息推荐开关
*/
personalPushOpenType: function (fn) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
var option = {};
option.callBack = fn;
device.is_ios && device.addEvent("personalPushOpenType", JSON.stringify(option));
device.is_android && GetInfoJs.personalPushOpenType(JSON.stringify(option));
},
/**
* @brief 检测消息推荐开关
*/
checkPushSwitchStatus: function (fn) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
var option = {};
option.callBack = fn;
device.is_ios && device.addEvent("checkPushSwitchStatus", JSON.stringify(option));
device.is_android && GetInfoJs.checkPushSwitchStatus(JSON.stringify(option))
},
showTPwdKeyboard: function (fn) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
var option = {};
option.callback = fn;
option.len = "6";
option.type ="LPWD";
device.is_ios && device.addEvent("10", JSON.stringify(option));
device.is_android && KeyboardJs.showTPwdKeyboard(JSON.stringify(option))
},
/**
* @brief 新授权
*/
getNewAuthorization: function (fn) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
var option = {};
option.fn = fn;
device.is_ios && device.addEvent("getNewAuthorization", JSON.stringify(fn));
device.is_android && GetInfoJs.getNewAuthorization(JSON.stringify(fn));
// device.is_android && GetInfoJs.getNewAuthorization(JSON.stringify(option));
},
/**
* @brief 新授权
*/
downloadPDF: function (fn) {
if (!device.is_ios && !device.is_android) {
alert("请在ios/android设备上使用");
return;
}
device.is_ios && device.addEvent("downloadPDF", JSON.stringify(fn));
device.is_android && GetInfoJs.downloadPDF(JSON.stringify(fn))
},
}
}
();