uniapp-h5/static/YT_Client_api.js

717 lines
26 KiB
JavaScript
Raw Normal View History

2024-06-25 10:27:51 +08:00
/**
* @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))
},
}
}
();