/* * UI control * version : 3.4 * author : lufeng * date : 2015-7-15 */ ; (function(window) { /** 插件类,提供数据请求、界面加载、数据持久化、日期控件等接口,提供全局属性。 @class app */ window.app = window.app || {}; /** 页面事件 @class app.page */ window.app.page= window.app.page|| {}; /*========================page=======================================*/ /** 页面dom结构完成后的事件,类似window.onload */ app.page.onReady = function(){} /** 页面加载完成后执行的事件,类似$(function(){...}) */ app.page.onLoad = function(){} app.page.onError=function(msg,url,line){ //这个会全局捕获js报出的错误,生产环境可以禁用掉 alert("url:"+url+" msg:"+msg+" line:"+line); } /*========================page=======================================*/ /*========================link=======================================*/ /** 方法 */ window.app.link = window.app.link || {}; window.app.barcode = window.app.barcode || {}; window.app.phone = window.app.phone || {}; /** * 获取用户登录信息 */ app.link.getLoginInfo = function(succesCallback, failerCallback){ WebViewJavascriptBridge.callHandler('getLoginInfo',function(res) { var result = JSON.parse(res); if(result.success){ succesCallback(result); }else{ failerCallback(result); } }); } /** * 获取当前用户所选区域 */ app.link.getCurrentCity = function(succesCallback, failerCallback){ WebViewJavascriptBridge.callHandler('getCurrentCity',function(res) { var result = JSON.parse(res); if(result.success){ succesCallback(res); }else{ failerCallback(result); } }); } /** * 刷新 */ app.refresh = function(succesCallback, failerCallback){ WebViewJavascriptBridge.callHandler('refresh', function() {}); } /** * 打开分享页 */ app.link.shareWebPage = function(title, desc, thumbUrl, targetUrl, succesCallback, failerCallback){ var params = { webpage : { title : title, targetUrl : targetUrl, desc : desc, thumbUrl : thumbUrl } }; WebViewJavascriptBridge.callHandler('shareWebPage',params, function(res) { var result = JSON.parse(res); if(result.success){ succesCallback(res); }else{ failerCallback(result); } }); } /** * 定位坐标 */ app.getLocation = function(succesCallback, failerCallback){ WebViewJavascriptBridge.callHandler('getLocation', function(res) { var result = JSON.parse(res); if(result.success){ succesCallback(result); }else{ failerCallback(result); } }); } /** * 二维码读取 */ app.barcode.scan = function(succesCallback, failerCallback){ WebViewJavascriptBridge.callHandler('scan', function(res) { if(res == null || res == ""){ failerCallback(res); }else{ succesCallback(res); } }); } /** * 获取网络状态 */ app.link.networType = function(succesCallback, failerCallback){ WebViewJavascriptBridge.callHandler('networType', function(res) { succesCallback(res); }); } /** * 跳转登录页 */ app.link.goLogin = function(succesCallback, failerCallback, object){ WebViewJavascriptBridge.callHandler('goLogin',object, function(res) { var result = JSON.parse(res); if(result.success){ succesCallback(result); }else{ failerCallback(res); } }); } /** * 获取版本号 */ app.link.getVersion = function(succesCallback, failerCallback){ WebViewJavascriptBridge.callHandler('getVersion', function(res) { var result = JSON.parse(res); if(result.success){ succesCallback(result); }else{ failerCallback(result); } }); } /** * 人脸识别 */ app.link.getFaceCheck = function(succesCallback, failerCallback, object){ WebViewJavascriptBridge.callHandler('getFaceCheck',object, function(res) { var result = JSON.parse(res); if(result.success){ succesCallback(result); }else{ failerCallback(result); } }); } /** * 静默校验 */ app.link.getSilentAuth = function(succesCallback, failerCallback, object){ WebViewJavascriptBridge.callHandler('getSilentAuth',object, function(res) { var result = JSON.parse(res); if(result.success){ succesCallback(result); }else{ failerCallback(result); } }); } /** * 原生弹窗 */ app.alert = function(message, succesCallback, title, buttonName){ var param={}; param.message=message; param.title=title; param.buttonName=buttonName; WebViewJavascriptBridge.callHandler('alert',param, function(res) { succesCallback(res); }); } /** * 调用百度地图 */ app.link.getBaiduMap = function(succesCallback, failerCallback){ WebViewJavascriptBridge.callHandler('getBaiduMap', function(res) { var result = JSON.parse(res); if(result.success){ succesCallback(result); }else{ failerCallback(res); } }); } /** * 打开拨号页 */ app.phone.dial = function(object){ WebViewJavascriptBridge.callHandler('dial',object); } /** * 调用手机拍照/图库 */ app.link.getTakePictures = function(succesCallback, object){ WebViewJavascriptBridge.callHandler('getTakePictures',object, function(res) { var result = JSON.parse(res); succesCallback(result); }); } /** * 手势解锁 */ app.link.getGestureUnlock = function(succesCallback, failerCallback){ WebViewJavascriptBridge.callHandler('getGestureUnlock', function(res) { var result = JSON.parse(res); if(result.success){ succesCallback(res); }else{ failerCallback(res); } }); } /** * 获取通讯录信息 */ app.link.getAddressBookList = function(succesCallback, failerCallback, object){ WebViewJavascriptBridge.callHandler('getAddressBookList',object, function(res) { var result = JSON.parse(res); if(result.success){ succesCallback(result); }else{ failerCallback(res); } }); } /** * 调用地图导航 */ app.link.getMapNavigator = function(succesCallback, object){ WebViewJavascriptBridge.callHandler('getMapNavigator',object, function(res) { var result = JSON.parse(res); if(result.success){ succesCallback(result); } }); } /** * 开启新页面(关闭当前页) */ app.link.goOpenNewPageOrExit = function(object, succesCallback, failerCallback){ WebViewJavascriptBridge.callHandler('goOpenNewPageOrExit',object, function(res) { var result = JSON.parse(res); if(result.success){ succesCallback(result); }else{ failerCallback(res); } }); } /** * 获取终端IP */ app.link.getIpAddress = function(succesCallback){ WebViewJavascriptBridge.callHandler('getIpAddress', function(res) { var result = JSON.parse(res); succesCallback(result); }); } /** * 文件上传 */ app.link.uploadFile = function(succesCallback, failerCallback, object){ WebViewJavascriptBridge.callHandler('uploadFile',object, function(res) { var result = JSON.parse(res); if(result.success){ succesCallback(result); }else{ failerCallback(res); } }); } /** * 临时操作 */ app.link.temporaryOperation = function(object){ WebViewJavascriptBridge.callHandler('temporaryOperation',object); } /** * 获取设备信息 */ app.link.getDeviceInfo = function(succesCallback){ WebViewJavascriptBridge.callHandler('getDeviceInfo', function(res) { var result = JSON.parse(res); succesCallback(result); }); } /** * 跳转至指定原生页面 */ app.link.startNativePage = function(succesCallback, object){ WebViewJavascriptBridge.callHandler('startNativePage',object, function(res) { var result = JSON.parse(res); succesCallback(result); }); } /** * 视频录制 */ app.link.getMediaRecorder = function(succesCallback, object){ WebViewJavascriptBridge.callHandler('getMediaRecorder',object, function(res) { var result = JSON.parse(res); succesCallback(result); }); } /** * 返回 */ app.back = function(){ WebViewJavascriptBridge.callHandler('back'); } /** * 跳转其他APP */ app.link.jumpOtherApp = function(succesCallback, object){ WebViewJavascriptBridge.callHandler('jumpOtherApp',object, function() {}); } /** * 网页支付 */ app.link.wapPay = function(object){ WebViewJavascriptBridge.callHandler('wapPay',object); } /** * 打开支付宝认证页 */ app.link.doAlipayVerify = function(object){ WebViewJavascriptBridge.callHandler('doAlipayVerify',object); } /** * 打开支付宝钱包页 */ app.link.doAlipayPayment = function(succesCallback, object){ WebViewJavascriptBridge.callHandler('doAlipayPayment',object, function(res) { var result = JSON.parse(res); succesCallback(result); }); } /** * 确认弹框 */ app.link.confirm = function(succesCallback, object){ WebViewJavascriptBridge.callHandler('confirm',object, function(res) { var result = JSON.parse(res); succesCallback(result); }); } /** * 输入弹框 */ app.link.prompt = function(succesCallback, object){ WebViewJavascriptBridge.callHandler('prompt',object, function(res) { var result = JSON.parse(res); succesCallback(result); }); } /** * 隐藏/弹起系统软键盘 */ app.link.softInput = function(object){ WebViewJavascriptBridge.callHandler('softInput',object); } /** * 保存图片/视频到系统图库 */ app.link.saveFileToGallery = function(succesCallback, object){ WebViewJavascriptBridge.callHandler('saveFileToGallery',object, function(res) { var result = JSON.parse(res); succesCallback(result); }); } /** * 查看/签署pdf文件 */ app.link.showPDF = function(succesCallback, object){ WebViewJavascriptBridge.callHandler('showPDF',object, function(res) { var result = JSON.parse(res); succesCallback(result); }); } /** * 查看edc文件 */ app.link.showEDC = function(succesCallback, object){ WebViewJavascriptBridge.callHandler('showEDC',object, function(res) { var result = JSON.parse(res); succesCallback(result); }); } /** * 调用OCR插件 */ app.link.getOCR = function(succesCallback, object){ WebViewJavascriptBridge.callHandler('getOCR',object, function(res) { var result = JSON.parse(res); succesCallback(result); }); } /** * 调整屏幕亮度 */ app.link.adjustBrightness = function(object){ WebViewJavascriptBridge.callHandler('adjustBrightness',object); } /** * 恢复系统屏幕亮度 */ app.link.resetBrightness = function(){ WebViewJavascriptBridge.callHandler('resetBrightness'); } /** * 播放或录制音频 */ app.link.playOrRecordAudio = function(succesCallback, object){ WebViewJavascriptBridge.callHandler('playOrRecordAudio',object, function(res) { var result = JSON.parse(res); succesCallback(result); }); } /** * 播放或录制视频 */ app.link.playOrRecordVideo = function(succesCallback, object){ WebViewJavascriptBridge.callHandler('playOrRecordVideo',object, function(res) { var result = JSON.parse(res); succesCallback(result); }); } /** * 公共方法 保存PDF到相册 AES解密 查看ofd文件 同步证照文件 打开证照文件 打开证照文件 RSA解密 PDF转图片 */ app.link.publicMethod = function(succesCallback, failerCallback, object){ WebViewJavascriptBridge.callHandler('publicMethod',object, function(res) { var result = JSON.parse(res); if(result.success){ succesCallback(result); }else{ failerCallback(result); } }); } /*========================link=======================================*/ })(window); //页面完整加载完成 window.addEventListener("load", function(event) { setTimeout(function(){ app.page.onLoad(); }, 200); });