javaApi.jsp 6.2 KB
<%@page language="java" contentType="text/html;charset=utf-8" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<div id="breadcrumb">
    <a href="#" title="Go to Home" class="tip-bottom"><i
            class="icon-home"></i> Java服务</a> <a href="#" class="current">服务信息</a>
</div>

<div class="container-fluid">


    <div class="widget-box">
        <div class="widget-title">
            <h5>Java服务 DashBoard<a href="?page_url=jsp/javaapi/javaApiList.jsp&page_type=javaApi">详细</a></h5>
        </div>
        <div class="widget-content">
            <div class="row api_info_container">
                <%--<div class="api_info_item col-xs-3 ">--%>
                <%--<div class="panel panel-default">--%>
                <%--<div class="panel-heading">gateway</div>--%>
                <%--<div class="panel-body">--%>
                <%--<h3><span class="label label-default">AWS状态</span>--%>
                <%--<span class="label label-default">Gcloud状态</span>--%>
                <%--</h3>--%>
                <%--<span>更新时间</span>--%>
                <%--</div>--%>
                <%--</div>--%>
                <%--</div>--%>
            </div>
        </div>
    </div>
</div>


<script type="text/javascript">

    var getJavaAppType = function () {
        $.ajax({
            url: contextPath + "/type/queryJavaApiType",
            type: 'get',
            success: function (data) {
                if (!data || data.code != 200) {
                    $.toaster('获取java服务类型失败', '警告', 'warning');
                    return;
                }
                console.info(data.data);
                initDashBoard(data.data);
            },
            error: function (data) {
                $.toaster('获取java服务类型失败', '警告', 'warning');

            }
        });
    };

    var initDashBoard = function (data) {
        var div_dash = $(".api_info_container");
        $.each(data, function (idx, val) {
            var api_info_item = $('<div class="api_info_item col-xs-3 ">');
            var api_info_item_panel = $(' <div class="panel panel-default">');
            var api_info_item_panel_title = $('<div class="item_java_api_title panel-heading">' + val.typeName + '<span style="font-size: medium;float: right;padding-top: 15px"><span id="span_time_' + val.typeId + '"></span></span></div>');
            var api_info_item_panel_body = $('<div class="panel-body">');
            api_info_item_panel_body.append('<button class="btn_java_api btn btn-lg btn-default" id="btn_1_' + val.typeId + '">AWS &nbsp;<span class="badge"></span></button>');
            api_info_item_panel_body.append('<button class="btn_java_api btn btn-lg btn-default" id="btn_2_' + val.typeId + '">QCloud &nbsp;<span class="badge"></span></button>');
//            api_info_item_panel_body.append('<button class="btn_java_api btn btn-lg btn-default" id="btn_3_' + val.typeId + '">其他 &nbsp;<span class="badge"></span></button>');
            //  api_info_item_panel_body.append('<h5 >更新时间:<span id="span_time_'+val.typeId+'"></span></h5>');
            api_info_item_panel.append(api_info_item_panel_title)
                    .append(api_info_item_panel_body);
            api_info_item.append(api_info_item_panel);
            div_dash.append(api_info_item);
        });

        $(".btn_java_api").on("click", function () {
            console.info(this);
            var url = contextPath + "?page_url=jsp/javaapi/javaApiList.jsp&page_type=javaApi";
            var api_type = $(this).attr("id").split("_")[2];
            url += "&api_type=" + api_type;
            window.location.href = url;
        });

        timer();

    };

    var createTimeStr = function (checkTime) {
        var now = new Date();  //当前时间
        var ctime = new Date(Date.parse(checkTime.replace(/-/g, "/")));
        var timediff = now.getTime() - ctime.getTime(); //时间差的毫秒数


        var leave1 = timediff % (24 * 3600 * 1000);  //计算天数后剩余的毫秒数
        var hours = Math.floor(leave1 / (3600 * 1000));//计算相差分钟数

        var leave2 = leave1 % (3600 * 1000);        //计算小时数后剩余的毫秒数
        var minutes = Math.floor(leave2 / (60 * 1000));//计算相差秒数

        var leave3 = leave2 % (60 * 1000);      //计算分钟数后剩余的毫秒数
        var seconds = Math.round(leave3 / 1000);

        return minutes + " 分钟 " + seconds + " 秒" + "前更新";
    }

    var refreshDashBoard = function () {
        $.ajax({
            url: contextPath + "/javaApi/allStatus",
            type: 'get',
            success: function (data) {
                if (!data || data.code != 200) {
                    $.toaster('获取java服务类型失败', '警告', 'warning');
                    return;
                }
                console.info(data.data);

                $.each(data.data, function (idx, val) {
                    console.log($("#btn_" + val.cloudType + "_" + val.serviceType));
                    if(val.cloudType!=1&&val.cloudType!=2)//目前只有腾讯aws
                        return;
                    var btn = $("#btn_" + val.cloudType + "_" + val.serviceType);
                    if (val.updateTime != undefined && val.updateTime != "") {

                        var timestr = createTimeStr(val.updateTime)
                        $("#span_time_" + val.serviceType).html(timestr);
                    }
                    console.log(val);
                    if (val.errNum > 0) {
                        $(btn.children("span")[0]).html(val.errNum);
                        btn.removeClass("btn-success");
                        btn.addClass("btn-danger");
                    } else {
                        $(btn.children("span")[0]).html("");
                        btn.removeClass("btn-danger");
                        btn.addClass("btn-success");
                    }
                });

            },
            error: function (data) {
                $.toaster('获取java服务类型失败', '警告', 'warning');
            }
        });

    };


    function timer() {
        refreshDashBoard();
        setTimeout("timer()", 15000);
    };


    $(function () {
        getJavaAppType();
    });


</script>