zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    085 Maximal Rectangle 最大矩形
    084 Largest Rectangle in Histogram 柱状图中最大的矩形
    083 Remove Duplicates from Sorted List 有序链表中删除重复的结点
    082 Remove Duplicates from Sorted List II 有序的链表删除重复的结点 II
    081 Search in Rotated Sorted Array II 搜索旋转排序数组 ||
    080 Remove Duplicates from Sorted Array II 从排序阵列中删除重复 II
    079 Word Search 单词搜索
    078 Subsets 子集
    bzoj2326: [HNOI2011]数学作业
    bzoj2152: 聪聪可可
  • 原文地址:https://www.cnblogs.com/Jeely/p/15368160.html
Copyright © 2011-2022 走看看