<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2020/8/3
  Time: 14:32
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="format-detection" content="telephone=no">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
    <meta name="renderer" content="webkit">
    <!-- 移动设备 viewport -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
    <jsp:include page="../../common.jsp" />
    <style>
        .layui-input,.layui-textarea{
            border-color:#606060;
        }
    </style>
</head>
<body>
<form class="layui-form" action="" style="width: 70%">
    <input name="id" value="${appVerInfo.id}" hidden/>
    <input name="url" value="${appVerInfo.url}" hidden />

   <div class="layui-form-item">
       <label class="layui-form-label">平台Code</label>
       <div class="layui-input-block">
           <select name="platformCode" lay-verify="required">
               <option value=""></option>
               <option value="0" ${appVerInfo.platformCode == 0 ? 'selected' : ''} >android</option>
               <option value="1" ${appVerInfo.platformCode == 1 ? 'selected' : ''}>iOS</option>
           </select>
       </div>
   </div>

    <div class="layui-form-item">
        <label class="layui-form-label">平台名称</label>
        <div class="layui-input-block" style="margin-left:0px">
            <div class="layui-input-block">
                <input name="platformName" value="${appVerInfo.platformName}" placeholder="请输入版本Code" class="layui-input"/>
            </div>
        </div>
    </div>

     <div class="layui-form-item">
        <label class="layui-form-label">版本Code</label>
        <div class="layui-input-block" style="margin-left:0px">
            <div class="layui-input-block">
                <input name="versionCode" value="${appVerInfo.versionCode}" placeholder="请输入版本Code" class="layui-input"/>
            </div>
        </div>
    </div>
     <div class="layui-form-item">
        <label class="layui-form-label">版本号</label>
        <div class="layui-input-block" style="margin-left:0px">
            <div class="layui-input-block">
                <input name="versionName" value="${appVerInfo.versionName}" placeholder="请输入版本号" class="layui-input"/>
            </div>
        </div>
    </div>



    <div class="layui-form-item">
        <label class="layui-form-label">是否强制更新</label>
        <div class="layui-input-block">
            <select name="forceUpdate" lay-verify="required">
                <option value="0" ${appVerInfo.forceUpdate == 0 ? 'selected' : ''}>否</option>
                <option value="1" ${appVerInfo.forceUpdate == 1 ? 'selected' : ''}>是</option>
            </select>
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">版本说明</label>
        <div class="layui-input-block" style="margin-left:0">
            <div class="layui-input-block">
                <textarea name="updateInfo" placeholder="更新说明" class="layui-textarea">${appVerInfo.updateInfo}</textarea>
            </div>
        </div>
    </div>

    <div class="layui-form-item">
        <label class="layui-form-label">上传APP</label>
        <div class="layui-input-block" style="display: flex;justify-content: flex-start">
            <input name="fileKey" id="fileKey" hidden/>
            <input name="url" id="url" value="${appVerInfo.url}" hidden/>
            <input name="chooseFile" id="chooseFile" placeholder="浏览..." class="layui-input layui-col-xs6" readonly/>
            <button type="button" class="layui-btn layui-btn-normal layui-col-xs3"  id="uploadBtn">
                上传
            </button>
        </div>
    </div>
    <div class="layui-form-item">
        <div class="layui-input-block">
            <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
            <button type="button" id="close" class="layui-btn layui-btn-primary">关闭</button>
        </div>
    </div>

    <div id="uploadLoadingDiv" style="display: none;">
        <div class="layui-progress" lay-showpercent="true" lay-filter="js_upload_progress" style="margin: 10px;margin-top: 20px;">
            <div class="layui-progress-bar layui-bg-red" lay-percent="0%"></div>
        </div>
    </div>
</form>

<form id="ajaxForm" class="layui-form" style="width: 70%" >
    <input type="hidden" name="OSSAccessKeyId" id="accessid" value="${uploadParam.accessid}">
    <input type="hidden" name="policy" id="policy" value="${uploadParam.policy}">
    <input type="hidden" name="signature" id="signature" value="${uploadParam.signature}">
    <input type="hidden" name="expire" id="expire" value="${uploadParam.expire}">
    <input type="hidden" name="success_action_status" id="success_action_status" value="200">
    <input type="hidden" name="key" id="key" value="${uploadParam.key}">
    <input type="hidden" name="callBack" id="key2_callBack" value="${uploadParam.callBack}">
    <input type="file" style="display: none" name="file" id="file" onchange="document.getElementById('fileName').value=this.files[0].name">
</form>

<script>
    //Demo
    layui.use(['form', 'upload','element','layer'], function(){
        var form = layui.form;
        var upload = layui.upload;
        var layer = layui.layer;
        var element = layui.element;
        element.init();
        $('#close').click(function() {
            parent.layer.closeAll();
        });

        //创建监听函数
        var xhrOnProgress=function(fun) {
            xhrOnProgress.onprogress = fun; //绑定监听
            //使用闭包实现监听绑
            return function() {
                //通过$.ajaxSettings.xhr();获得XMLHttpRequest对象
                var xhr = $.ajaxSettings.xhr();
                //判断监听函数是否为函数
                if (typeof xhrOnProgress.onprogress !== 'function')
                    return xhr;
                //如果有监听函数并且xhr对象支持绑定时就把监听函数绑定上去
                if (xhrOnProgress.onprogress && xhr.upload) {
                    xhr.upload.onprogress = xhrOnProgress.onprogress;
                }
                return xhr;
            }
        }
        var openIndex = "";
        upload.render({
            elem: '#chooseFile', // 文件选择
            // accept:'apk',
            url: '${uploadParam.host}',
            exts: 'apk',
            method:'POST',
            auto: false, // 设置不自动提交
            bindAction: '#uploadBtn', // 提交按钮
            before:function(){
                element.progress('js_upload_progress', '0%');//设置页面进度条
                openIndex = layer.open({
                    type: 1,
                    title: '上传进度',
                    closeBtn: 1, //不显示关闭按钮
                    area: ['300px', '130px'],
                    shadeClose: false, //开启遮罩关闭
                    content: $("#uploadLoadingDiv").html(),
                    offset: '100px'
                });
            }
            ,xhr:xhrOnProgress
            ,progress:function(value){//上传进度回调 value进度值
                element.progress('js_upload_progress', value+'%');//设置页面进度条
            }
            , data: {
                'key': '${uploadParam.key}.apk'
                , 'OSSAccessKeyId': '${uploadParam.accessid}'
                , 'policy': '${uploadParam.policy}'
                , 'signature': '${uploadParam.signature}'
                , 'expire': '${uploadParam.expire}'
                , 'success_action_status': '200'
                , 'callBack': '${uploadParam.callBack}'
            }
            ,choose: function(obj) {
                obj.preview(function(index, file, result) {
                    $("#chooseFile").val(file.name);
                });
            }
            , done: function(res) {
                layer.close(openIndex);
                if (res.code == 200){
                    layer.msg("上传成功！")
                    $("#url").val(res.url);
                }else{
                    layer.msg("上传失败！")
                }
            },
            error: function(res) {
                layer.msg(res.msg);
            }
        });

        //关闭进度条提示
        $(document).on('click','.js_upload_progress_bar_sure',function(){
            layer.close(layer.index);
        });

            //监听提交
        form.on('submit(formDemo)', function(data){
            var index = layer.load(1,{shade: [0.1,'#000'] });
            $.ajax({
                url: '${ctx}/appVersionInfo/saveOrUpdate',
                method: 'post',
                data: JSON.stringify(data.field),
                dataType: 'JSON',
                contentType:"application/json",
                success: function(res) {
                    layer.close(index);
                    if(res.code == 200) {
                        layer.alert(res.data,function(){
                             parent.location.reload();
                        })
                    } else {
                        layer.msg(res.message, {
                            icon: 5
                        });
                    }
                }
            })
            return false;
        });
    });
</script>
</body>
</html>
