detail.html 7 KB
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
    <th:block th:include="include :: header"/>
    <th:block th:include="include :: datetimepicker-css"/>
    <style>
        .mylabel{
            text-align: right;
        }
        .red{
            color:red;
        }
        .green{
            color:green;
        }
        .hideCopy{
            display: none;
        }
    </style>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
    <div class="" id="form-apilog-edit" th:object="${apiLog}">
        <div class="">
            <label class="col-sm-2 mylabel">ID:</label>
            <label class="col-sm-10" th:text="${apiLog.getId()}"></label>
        </div>
        <div class="">
            <label class="col-sm-2 mylabel">接口名:</label>
            <label class="col-sm-10" th:text="${apiLog.getApiName()}"></label>
        </div>
        <div class="">
            <label class="col-sm-2 mylabel">请求方ip:</label>
            <label class="col-sm-10" th:text="${#strings.defaultString(apiLog.getIp(), '&nbsp;')} + '&nbsp;'"></label>
        </div>
        <div class="">
            <label class="col-sm-2 mylabel">调用方向:</label>
            <label class="col-sm-10" th:text="${apiLog.getRequestFrom()} +  '&nbsp;&nbsp;->&nbsp;&nbsp;'  + ${apiLog.getResponseBy()}"></label>
        </div>
        <div class="">
            <label class="col-sm-2 mylabel">Method:</label>
            <label class="col-sm-10" th:text="${#strings.defaultString(apiLog.getApiMethod(),'&nbsp;')}"></label>
        </div>
        <div class="">
            <label class="col-sm-2 mylabel">接口地址:</label>
            <label class="col-sm-10" th:text="${#strings.defaultString(apiLog.getUrl(), '&nbsp;')}"></label>
        </div>
        <div class="">
            <label class="col-sm-2 mylabel">请求时间:</label>
            <label class="col-sm-10" th:text="${#strings.defaultString(#dates.format(apiLog.requestTime, 'yyyy-MM-dd HH:mm:ss'), '&nbsp;')}"></label>
        </div>
        <!--<div class="">-->
            <!--<label class="col-sm-2 mylabel">响应时间:</label>-->
            <!--<label class="col-sm-10" th:text="${#dates.format(apiLog.responseTime, 'yyyy-MM-dd HH:mm:ss')}"></label>-->
        <!--</div>-->
        <div class=""  th:classappend="${apiLog.getDuration()}>=1000?'red'">
            <label class="col-sm-2 mylabel">耗时:</label>
            <label class="col-sm-10" th:text="${#strings.defaultString(apiLog.getDuration(), '&nbsp;')} + ' 毫秒'"></label>
        </div>
        <div class="" th:classappend="${apiLog.getHttpCode()}=='200'?'green':'red'">
            <label class="col-sm-2 mylabel">HttpCode:</label>
            <label class="col-sm-10" th:text="${#strings.defaultString(apiLog.getHttpCode(), '&nbsp;')}"></label>
        </div>
        <div class="" th:classappend="${apiLog.getRetCode()}=='200'?'green':'red'">
            <label class="col-sm-2 mylabel">RetCode:</label>
            <label class="col-sm-10" th:text="${#strings.defaultString(apiLog.getRetCode(), '&nbsp;')}"></label>
        </div>
        <div class="">
            <label class="col-sm-2 mylabel">请求头:
            </label>
            <div class="col-sm-9"><pre id="reqHeader" style="white-space: pre-wrap;" th:text="${apiLog.getRequestHeader()}"></pre></div>
            <div class="col-sm-1 "><a class="btn btn-success btn-xs" th:classappend="${#strings.isEmpty(apiLog.getRequestHeader())}?' hideCopy':''" href="javacript:void(0);" onclick="copy('reqHeader')">复制</a></div>
        </div>
        <div class="">
            <label class="col-sm-2 mylabel">响应头:</label>
            <div class="col-sm-9"><pre id="respHeader" style="white-space: pre-wrap;"  th:text="${apiLog.getResponseHeader()}"></pre></div>
            <div class="col-sm-1 "><a class="btn btn-success btn-xs" th:classappend="${#strings.isEmpty(apiLog.getResponseHeader())}?' hideCopy':''" href="javacript:void(0);" onclick="copy('respHeader')">复制</a></div>
        </div>
        <div class="">
            <label class="col-sm-2 mylabel">请求内容:</label>
            <div class="col-sm-9"><pre id="reqBody" style="white-space: pre-wrap;"  th:text="${apiLog.getRequestBody()}"></pre></div>
            <div class="col-sm-1 "><a class="btn btn-success btn-xs" th:classappend="${#strings.isEmpty(apiLog.getRequestBody())}?' hideCopy':''" href="javacript:void(0);" onclick="copy('reqBody')">复制</a></div>
        </div>
        <div class="">
            <label class="col-sm-2 mylabel">响应内容:</label>
            <div class="col-sm-9"><pre id="respBody" style="white-space: pre-wrap;" th:text="${apiLog.getResponseBody()}"></pre></div>
            <div class="col-sm-1 "><a class="btn btn-success btn-xs" th:classappend="${#strings.isEmpty(apiLog.getResponseBody())}?' hideCopy':''" href="javacript:void(0);" onclick="copy('respBody')">复制</a></div>
        </div>
        <!--<div class="">-->
            <!--<label class="col-sm-2 mylabel">httpCode:</label>-->
            <!--<div class="col-sm-8">-->
                <!--<select name="httpcode" class="form-control m-b">-->
                    <!--<option value="">所有</option>-->
                <!--</select>-->
                <!--<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>-->
            <!--</div>-->
        <!--</div>-->
        <div class="" th:classappend="${apiLog.getException()}!=null?'red'">
            <label class="col-sm-2 mylabel">异常信息:</label>
            <div class="col-sm-9"><pre id="exception" style="white-space: pre-wrap;" th:text="${apiLog.getException()}"></pre></div>
            <div class="col-sm-1 "><a class="btn btn-success btn-xs" th:classappend="${#strings.isEmpty(apiLog.getException())}?' hideCopy':''" href="javacript:void(0);" onclick="copy('exception')">复制</a></div>
        </div>
    </div>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: datetimepicker-js"/>
<script th:inline="javascript">
    var prefix = ctx + "apilog/apilog";
    function parseJson(obj){
        var str = obj.innerHTML
        try {
            str = JSON.parse(str);
            obj.innerHTML = JSON.stringify(str, null, 2);
        }catch (e) {
            str = str.split("&amp;").join("&#10;")
            obj.innerHTML = str;
        }
    }

    parseJson(document.getElementById("reqBody"))
    parseJson(document.getElementById("respBody"))

    function copy(id) {
        var obj = document.getElementById(id)
        if(obj.innerHTML == "")
            return;
        let transfer = document.createElement('textarea');
        document.body.appendChild(transfer);
        transfer.value = obj.innerHTML;
        // transfer.focus();
        transfer.select();
        if (document.execCommand('copy')) {
            document.execCommand('copy');
        }
        transfer.blur();
        document.body.removeChild(transfer);
        $.modal.msgSuccess("复制成功");
    }
</script>
</body>
</html>