/**
* h5交互规则
* @author panpan
*/
(function (object) {
/***********************************************业务规则***********************************************/
/**
* 通用app登录
*/
object.toAppLogin = function () {
var callback = "window.App.loginCallback";
window.App.gotoLogin(callback);
}
/**
* 打开登录界面
*/
object.gotoLogin = function (callback:string) {
var params = _func.params("gotoLogin", {callback});
_func.callApp(params);
};
/**
* 排班管理日期通知app
*/
object.getScheduleDate = function (date:string) {
var params = _func.params("getScheduleDate", {
date: date,
});
_func.callApp(params);
};
/**
* 跳转到服务师提现绑定
**/
object.toRewardBinding = function(){
var params = _func.params("toRewardBinding", {
});
_func.callApp(params);
};
/**
* 网页通知APP要调用的方法
* @param method 规则名就是方法名
* @param isCurrentPage 是否作用于订单列表页面
*/
object.callJs = function (method:string,isCurrentPage:number) {
var params = _func.params("callJs", {
method: method,
isCurrentPage: isCurrentPage,
});
_func.callApp(params);
};
/**
* 团队数据返回的日期
* @param turnBackDate string 日期
*/
object.turnBackDate = function(turnBackDate:string){
};
/**
* 关闭当前弹框
* refresh 1:不刷新 2:刷新
* closePreviousDialog:关闭上一个弹框 1否,2是
* closePreviousWeb:关闭页面 1否,2是(新增参数)
*
*/
object.closeDialog = function (refresh:number,closePreviousDialog:number,closePreviousWeb:number) {
var params = _func.params("closeDialog", {
refresh: refresh,
closePreviousDialog:closePreviousDialog,
closePreviousWeb:closePreviousWeb,
});
_func.callApp(params);
};
/**
* 关闭当前H5页面
*/
object.closeWeb = function (refresh:number) {// 1:不刷新 2:刷新
var params = _func.params("closeWeb", {
refresh: refresh,
});
_func.callApp(params);
};
/**
* 屏蔽标题
* @param {*} param
*/
object.hideTitle = function(param:any){
var params = _func.params("hideTitle", param);
_func.callApp(params);
}
/**
* 展示标题
* @param {*} param
*/
object.showTitle = function(param:any){
var params = _func.params("showTitle", param);
_func.callApp(params);
}
/**
* 获取当前H5页面高度
*/
object.getDialogHeight = function (height:number) { //height 高度
var params = _func.params("getDialogHeight", {
height: height,
});
_func.callApp(params);
};
/**
* @method 跳小程序
* @param {String} params[url]
* @param {String} params[appId]
*/
object.goOpenXcx = function (url:any ,appId:any) {
var params = _func.params("goOpenXcx", {
url: url,
appId: appId
});
_func.callApp(params);
};
/**
* 选择图片
*/
object.selectImgsForCode = function (param:any) {
var params = _func.params("selectImgsForCode", param);
_func.callApp(params);
};
/**
* @sessionId 会话id
* @sessionType p2p:单聊 team:群聊
* 打开IM聊天
*/
object.openIMSession = function (sessionId:string,sessionType:string) {
var params = _func.params("openIMSession", {
sessionId:sessionId,
sessionType:sessionType
});
_func.callApp(params);
};
/**
* 服务师开始服务
*/
object.servicerStartService = function () {};
/**
* @isAdvance 是否提前结束服务:1否2是
* 服务师结束服务
*/
object.servicerEndService = function (isAdvance:number) {
var params = _func.params("servicerEndService", {
isAdvance: isAdvance,
});
_func.callApp(params);
};
/**
* 选择视频
*/
object.selectVideos = function (param:any) {
var params = _func.params("selectVideos", param);
_func.callApp(params);
};
/**
* app 通知 h5 获取图片参数
*/
object.getImgsForCode = function(param?:any,code?:any){
};
/**
* app 通知 h5 刷新
*/
object.viewRefresh = function(){}
/**
* app 通知 h5 刷视频
*/
object.getVideos = function(param?:any,code?:any){
};
/**
* 通知APP旋转屏幕
*/
object.screenRotation = function(){
var params = _func.params("screenRotation",{});
_func.callApp(params);
};
/**
*在新打开的页面关闭上一个弹框
*/
object.closePreviousDialog = function(){
var params = _func.params("closePreviousDialog",{});
_func.callApp(params);
};
/**
* 后台运行(缓存使用)
*/
object.gotoBackground = function () {
};
/**
* 打开H5
* url 打开的地址
* isLand 是否要横屏 1否2是
*/
object.gotoWeb = function (url:string,isLand:number) {
var params = _func.params("gotoWeb", {
"url": url,
"isLand":isLand
});
_func.callApp(params);
};
/**
* 打开原生页面
*
*
*/
object.gotoServiceFramework = function (param:any) {
var params = _func.params("gotoServiceFramework", param);
_func.callApp(params);
};
/**
* app 通知 h5 获取架构人员参数
*/
object.getCheckWorkers = function(param?:any,code?:any){
};
/**
* 自定义链接弹窗
* url 弹窗链接
* closePreviousDialog 是否关闭上一个打开的弹窗 1:不关闭上一个弹窗; 2:关闭上一个弹窗;
* position弹窗位置,1是中间,2是底部
* canceledOnTouchOutside是否触摸外面关闭弹窗:,1否,2是
*/
object.openWebDialog = function (url:string,closePreviousDialog:number,position:number,canceledOnTouchOutside:number) {
var params = _func.params("openWebDialog", {
url:url,
closePreviousDialog:closePreviousDialog,
position:position,
canceledOnTouchOutside:canceledOnTouchOutside
});
_func.callApp(params);
};
/**
* 提现
*/
object.gotoWalletRollout = function () {
var params = _func.params("gotoWalletRollout", {});
_func.callApp(params);
}
/**
* 地图地址编辑(系统小区)
*/
object.gotoMap = function (address:string) {
var params = _func.params("gotoMap", {
address:address
});
_func.callApp(params);
}
/**
* 返回上级页面
*/
object.historyBack = function () {
var params = _func.params("historyBack", {});
_func.callApp(params);
};
/***********************************************基类方法***********************************************/
/**
* 虚方法,供个业务界面定义
*/
object.gotoBack = function () {
if (isIPhone()) {
return "true";
} else {
window.App.historyBack();
}
};
//内部方法
var _func = {
callApp : function(params:any){
if(isIPhone()){
window.webkit.messageHandlers.app.postMessage(params);
}else{
window.androidCall.app(JSON.stringify(params));
}
},
params : function(action:any, param:any){
var params = {
"action" : action,
"params" : param
};
return params;
}
};
})(window.App = window.App || {});
export {}
h5与原生APP交互定义示例
于 2024-04-18 18:15:43 首次发布