123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522 |
- /*
- * 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);
- });
|