• mui 文件附件下载


    <!DOCTYPE html>
    <html class="ui-page-login">
    
        <head>
            <meta charset="utf-8">
            <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
            <title></title>
            <link href="css/mui.min.css" rel="stylesheet" />
            <link href="css/style.css" rel="stylesheet" />
            <style>
                .area {
                    margin: 20px auto 0px auto;
                }
                
                .mui-input-group {
                    margin-top: 10px;
                }
                
                .mui-input-group:first-child {
                    margin-top: 20px;
                }
                
                .mui-input-group label {
                     22%;
                }
                
                .mui-input-row label~input,
                .mui-input-row label~select,
                .mui-input-row label~textarea {
                     78%;
                }
                
                .mui-checkbox input[type=checkbox],
                .mui-radio input[type=radio] {
                    top: 6px;
                }
                
                .mui-content-padded {
                    margin-top: 25px;
                }
                
                .mui-btn {
                    padding: 10px;
                }
                
                .link-area {
                    display: block;
                    margin-top: 25px;
                    text-align: center;
                }
                
                .spliter {
                    color: #bbb;
                    padding: 0px 8px;
                }
                
                .oauth-area {
                    position: absolute;
                    bottom: 20px;
                    left: 0px;
                    text-align: center;
                     100%;
                    padding: 0px;
                    margin: 0px;
                }
                
                .oauth-area .oauth-btn {
                    display: inline-block;
                     50px;
                    height: 50px;
                    background-size: 30px 30px;
                    background-position: center center;
                    background-repeat: no-repeat;
                    margin: 0px 20px;
                    /*-webkit-filter: grayscale(100%); */
                    border: solid 1px #ddd;
                    border-radius: 25px;
                }
                
                .oauth-area .oauth-btn:active {
                    border: solid 1px #aaa;
                }
                
                .oauth-area .oauth-btn.disabled {
                    background-color: #ddd;
                }
            </style>
    
        </head>
    
        <body>
            <header class="mui-bar mui-bar-nav">
                <h1 class="mui-title">登录</h1>
            </header>
            <div class="mui-content">
                <form id='login-form' class="mui-input-group">
                    <div class="mui-input-row">
                        <label>账号</label>
                        <input id='account' type="text" class="mui-input-clear mui-input" placeholder="请输入账号">
                    </div>
                    <div class="mui-input-row">
                        <label>密码</label>
                        <input id='password' type="password" class="mui-input-clear mui-input" placeholder="请输入密码">
                    </div>
                </form>
                <form class="mui-input-group">
                    <ul class="mui-table-view mui-table-view-chevron">
                        <li class="mui-table-view-cell">
                            自动登录
                            <div id="autoLogin" class="mui-switch">
                                <div class="mui-switch-handle"></div>
                            </div>
                        </li>
                        
                    </ul>
                </form>
                <div class="mui-content-padded">
                    <button id='login' class="mui-btn mui-btn-block mui-btn-primary">登录</button>
                    <button id='openpdf' class="mui-btn mui-btn-block mui-btn-primary">打开pdf</button>
                    <button id='openword' class="mui-btn mui-btn-block mui-btn-primary">打开word</button>
                    <button id='openxls' class="mui-btn mui-btn-block mui-btn-primary">打开xls</button>
                    <button id='createDownload' class="mui-btn mui-btn-block mui-btn-primary">打开createDownload</button>
                    
                    <div class="link-area"><a id='reg'>注册账号</a> <span class="spliter">|</span> <a id='forgetPassword'>忘记密码</a>
                    </div>
                </div>
                <div class="mui-content-padded oauth-area">
    
                </div>
            </div>
            <script src="js/mui.min.js"></script>
            <script src="js/mui.enterfocus.js"></script>
            <script src="js/app.js"></script>
            <script>
                (function($, doc) {
                    $.init({
                        statusBarBackground: '#f7f7f7'
                    });
                    $.plusReady(function() {
                        plus.screen.lockOrientation("portrait-primary");
                        var settings = app.getSettings();
                        var state = app.getState();
                        var mainPage = plus.webview.getWebviewById("main");
                        var main_loaded_flag = false;
                        if(!mainPage){
                            mainPage = $.preload({
                                "id": 'main',
                                "url": 'main.html'
                            });
                        }else{
                            main_loaded_flag = true;
                        }
                        
                        mainPage.addEventListener("loaded",function () {
                            main_loaded_flag = true;
                        });
                        var toMain = function() {
                            //使用定时器的原因:
                            //可能执行太快,main页面loaded事件尚未触发就执行自定义事件,此时必然会失败
                            var id = setInterval(function () {
                                if(main_loaded_flag){
                                    clearInterval(id);
                                    $.fire(mainPage, 'show', null);
                                    mainPage.show("pop-in");
                                }
                            },20);
                        };
                        //检查 "登录状态/锁屏状态" 开始
                        if (settings.autoLogin && state.token && settings.gestures) {
                            $.openWindow({
                                url: 'unlock.html',
                                id: 'unlock',
                                show: {
                                    aniShow: 'pop-in'
                                },
                                waiting: {
                                    autoShow: false
                                }
                            });
                        } else if (settings.autoLogin && state.token) {
                            toMain();
                        } else {
                            app.setState(null);
                            //第三方登录
                            var authBtns = ['qihoo', 'weixin', 'sinaweibo', 'qq']; //配置业务支持的第三方登录
                            var auths = {};
                            var oauthArea = doc.querySelector('.oauth-area');
                            plus.oauth.getServices(function(services) {
                                for (var i in services) {
                                    var service = services[i];
                                    auths[service.id] = service;
                                    if (~authBtns.indexOf(service.id)) {
                                        var isInstalled = app.isInstalled(service.id);
                                        var btn = document.createElement('div');
                                        //如果微信未安装,则为不启用状态
                                        btn.setAttribute('class', 'oauth-btn' + (!isInstalled && service.id === 'weixin' ? (' disabled') : ''));
                                        btn.authId = service.id;
                                        btn.style.backgroundImage = 'url("images/' + service.id + '.png")'
                                        oauthArea.appendChild(btn);
                                    }
                                }
                                $(oauthArea).on('tap', '.oauth-btn', function() {
                                    if (this.classList.contains('disabled')) {
                                        plus.nativeUI.toast('您尚未安装微信客户端');
                                        return;
                                    }
                                    var auth = auths[this.authId];
                                    var waiting = plus.nativeUI.showWaiting();
                                    auth.login(function() {
                                        waiting.close();
                                        plus.nativeUI.toast("登录认证成功");
                                        auth.getUserInfo(function() {
                                            plus.nativeUI.toast("获取用户信息成功");
                                            var name = auth.userInfo.nickname || auth.userInfo.name;
                                            app.createState(name, function() {
                                                toMain();
                                            });
                                        }, function(e) {
                                            plus.nativeUI.toast("获取用户信息失败:" + e.message);
                                        });
                                    }, function(e) {
                                        waiting.close();
                                        plus.nativeUI.toast("登录认证失败:" + e.message);
                                    });
                                });
                            }, function(e) {
                                oauthArea.style.display = 'none';
                                plus.nativeUI.toast("获取登录认证失败:" + e.message);
                            });
                        }
                        // close splash
                        setTimeout(function() {
                            //关闭 splash
                            plus.navigator.closeSplashscreen();
                        }, 600);
                        //检查 "登录状态/锁屏状态" 结束
                        var loginButton = doc.getElementById('login');
                        var openpdf = doc.getElementById('openpdf');
                        var openword = doc.getElementById('openword');
                        var openxls = doc.getElementById('openxls');
                        var createDownload = doc.getElementById('createDownload');
                        var accountBox = doc.getElementById('account');
                        var passwordBox = doc.getElementById('password');
                        var autoLoginButton = doc.getElementById("autoLogin");
                        var regButton = doc.getElementById('reg');
                        var forgetButton = doc.getElementById('forgetPassword');
                        loginButton.addEventListener('tap', function(event) {
                            var loginInfo = {
                                account: accountBox.value,
                                password: passwordBox.value
                            };
                            app.login(loginInfo, function(err) {
                                if (err) {
                                    plus.nativeUI.toast(err);
                                    return;
                                }
                                toMain();
                            });
                        });
                        openpdf.addEventListener('tap', function(event) {
                          
                          //plus.runtime.openFile( "https://mozilla.github.io/pdf.js/web/viewer.html" );
                          
                         //mui.openWindow({ id: 'pdf_detail', url:'http://218.28.137.28:43004/hngeology/scripts/PDFShow/web/viewer.html?file=/hngeology/gd/dnranalysistemplatemgr/dnrAnalysisGenerate/download/2620000004140002.do' });
            
                         mui.openWindow({ id: 'pdf_detail', url:'http://121.36.59.213:43004/app/app.pdf' });
                    
                        });
                        
                        openword.addEventListener('tap', function(event) {
                          
                          //plus.runtime.openFile( "https://mozilla.github.io/pdf.js/web/viewer.html" );
                          
                         //mui.openWindow({ id: 'pdf_detail', url:'http://218.28.137.28:43004/hngeology/scripts/PDFShow/web/viewer.html?file=/hngeology/gd/dnranalysistemplatemgr/dnrAnalysisGenerate/download/2620000004140002.do' });
                                
                         mui.openWindow({ id: 'pdf_detail', url:'http://121.36.59.213:43004/app/Kafka.docx' });
                                        
                        });
                        
                        openxls.addEventListener('tap', function(event) {
                            //createDownload();
                        mui.openWindow({ id: 'pdf_detail', url:'http://121.36.59.213:43004/app/通讯录.xls' });            
                        });
                        
                        createDownload.addEventListener('tap', function(event) {
                                console.log('开始下载')
                                //var url = 'http://soutugo.com/Upload/Images/2020/3/12_s/1a7f9e535f898fa071c65e82967d1cc.JPG';   //文件名称可以在上传时进行保存,下载时取出,当文件名称中存在单双引号时,要做好处理,否则会报错
                                //var name = 'z.jpg';
                                var url = 'http://121.36.59.213:43004/app/app.pdf';   //文件名称可以在上传时进行保存,下载时取出,当文件名称中存在单双引号时,要做好处理,否则会报错
                                var name = 'app.pdf';
                                var dtask = plus.downloader.createDownload(url,{
                                    filename:"_downloads/"+name    //利用保存路径,实现下载文件的重命名
                                },function(d,status){
                                    //d为下载的文件对象
                                    if(status==200){
                                        //下载成功,d.filename是文件在保存在本地的相对路径,使用下面的API可转为平台绝对路径
                                        var fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);
                                         console.log(fileSaveUrl)
                                         //进行DOM操作
                                         // $("#downloadImg").attr('src',fileSaveUrl);
                                         plus.runtime.openFile(d.filename);       //选择软件打开文件
                                    }else{    
                                        //下载失败
                                        plus.downloader.clear();        //清除下载任务
                                    }
                                })
                                 dtask.start();//执行下载
        
        
                
                        });
                        
                        
                        function download(){
                            console.log('开始下载')
                            var url = 'http://soutugo.com/Upload/Images/2020/3/12_s/1a7f9e535f898fa071c65e82967d1cc.JPG';   //文件名称可以在上传时进行保存,下载时取出,当文件名称中存在单双引号时,要做好处理,否则会报错
                            var name = 'z.jpg';
                            var dtask = plus.downloader.createDownload(url,{
                                filename:"_downloads/"+name    //利用保存路径,实现下载文件的重命名
                            },function(d,status){
                                //d为下载的文件对象
                                if(status==200){
                                    //下载成功,d.filename是文件在保存在本地的相对路径,使用下面的API可转为平台绝对路径
                                    var fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);
                                     console.log(fileSaveUrl)
                                     //进行DOM操作
                                      $("#downloadImg").attr('src',fileSaveUrl);
                                    // plus.runtime.openFile(d.filename);       //选择软件打开文件
                                }else{    
                                    //下载失败
                                    plus.downloader.clear();        //清除下载任务
                                }
                            })
                             dtask.start();//执行下载
                        }
    
        function download2(){
            var name = "test.doc";   //文件名称可以在上传时进行保存,下载时取出,当文件名称中存在单双引号时,要做好处理,否则会报错
            var testurl111="http://121.36.59.213:43004/app/app.pdf";
            var dtask = plus.downloader.createDownload(testurl111,{
                filename:"_downloads/"+name            //利用保存路径,实现下载文件的重命名
            },function(d,status){
                //d为下载的文件对象
                if(status==200){
                    //下载成功,d.filename是文件在保存在本地的相对路径,使用下面的API可转为平台绝对路径
                    var fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);
                    plus.runtime.openFile(d.filename);       //选择软件打开文件
                }else{    
                    //下载失败
                    plus.downloader.clear();        //清除下载任务
                }
            })
            dtask.start(); 
            
            
            }
                        
        
                        
                        // 创建下载任务
                        // function createDownload() {
                        //     var dtask = plus.downloader.createDownload("http://121.36.59.213:43004/app/通讯录.xls", {}, function(d, status){
                        //         // 下载完成
                        //         if(status == 200){ 
                        //             console.log("Download success: " + d.filename);
                        //         } else {
                        //              console.log("Download failed: " + status); 
                        //         }  
                        //     });
                        //     //dtask.addEventListener("statechanged", onStateChanged, false);
                        //     dtask.start(); 
                        // }
                           
                           
                           
                        // openxls.addEventListener('tap', function(event) {
                        //     $.openWindow({
                        //         url: 'http://121.36.59.213:43004/app/通讯录.xls',
                        //         id: 'xls_detail',
                        //         preload: true,
                        //         show: {
                        //             aniShow: 'pop-in'
                        //         },
                        //         styles: {
                        //             popGesture: 'hide'
                        //         },
                        //         waiting: {
                        //             autoShow: false
                        //         }
                        //     });
                        // }, false);
                        
                        
                        $.enterfocus('#login-form input', function() {
                            $.trigger(loginButton, 'tap');
                        });
                        autoLoginButton.classList[settings.autoLogin ? 'add' : 'remove']('mui-active')
                        autoLoginButton.addEventListener('toggle', function(event) {
                            setTimeout(function() {
                                var isActive = event.detail.isActive;
                                settings.autoLogin = isActive;
                                app.setSettings(settings);
                            }, 50);
                        }, false);
                        regButton.addEventListener('tap', function(event) {
                            $.openWindow({
                                url: 'reg.html',
                                id: 'reg',
                                preload: true,
                                show: {
                                    aniShow: 'pop-in'
                                },
                                styles: {
                                    popGesture: 'hide'
                                },
                                waiting: {
                                    autoShow: false
                                }
                            });
                        }, false);
                        forgetButton.addEventListener('tap', function(event) {
                            $.openWindow({
                                url: 'forget_password.html',
                                id: 'forget_password',
                                preload: true,
                                show: {
                                    aniShow: 'pop-in'
                                },
                                styles: {
                                    popGesture: 'hide'
                                },
                                waiting: {
                                    autoShow: false
                                }
                            });
                        }, false);
                        //
                        window.addEventListener('resize', function() {
                            oauthArea.style.display = document.body.clientHeight > 400 ? 'block' : 'none';
                        }, false);
                        //
                        var backButtonPress = 0;
                        $.back = function(event) {
                            backButtonPress++;
                            if (backButtonPress > 1) {
                                plus.runtime.quit();
                            } else {
                                plus.nativeUI.toast('再按一次退出应用');
                            }
                            setTimeout(function() {
                                backButtonPress = 0;
                            }, 1000);
                            return false;
                        };
                    });
                }(mui, document));
            </script>
        </body>
    
    </html>
  • 相关阅读:
    主流数据库连接池性能比较 hikari druid c3p0 dbcp jdbc
    Dubbo 分布式事务一致性实现
    微服务实现事务一致性实例
    微服务间保持事务一致性
    海量积分数据实时排名处理方式介绍二
    Java两种方法实现循环报数
    MySQL 千万级 数据库或大表优化
    Linux 中 Nginx 重启关闭
    Linux 中 Oracle dmp 文件导入导出
    Linux 中 Oracle 数据库启动和关闭
  • 原文地址:https://www.cnblogs.com/Jeely/p/15368160.html
Copyright © 2020-2023  润新知