Files
2026-08-18 19:05:24 +08:00

92 lines
5.3 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>RefundService</title>
<style>:root{--bg:#f5f6f8;--card:#fff;--text:#1f2937;--muted:#6b7280;--border:#e5e7eb;--primary:#2563eb;--green:#22c55e;--red:#ef4444;--yellow:#eab308}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,'Segoe UI','Microsoft YaHei',sans-serif;background:var(--bg);color:var(--text);padding:24px;max-width:1200px;margin:0 auto;line-height:1.5}
.nav{display:flex;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:10px 14px;margin-bottom:16px}
.nav a{color:var(--muted);text-decoration:none;padding:4px 10px;border-radius:6px;font-size:13px}
.nav a:hover{background:#f0f4ff;color:var(--primary)}
.nav a.active{background:var(--primary);color:#fff}
.page-header{margin-bottom:20px}
.page-header h1{font-size:22px;margin-bottom:8px}
.meta{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:13px}
.meta .badge{font-weight:600;padding:2px 8px;border-radius:20px;font-size:12px}
.badge.ok{background:#dcfce7;color:#15803d}
.badge.bad{background:#fee2e2;color:#b91c1c}
.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px;margin-bottom:16px}
.card h2{font-size:16px;margin-bottom:12px}
.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;padding:16px}
.summary-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px;text-align:center}
.summary-card .num{font-size:36px;font-weight:700}
.summary-card .label{font-size:14px;color:var(--muted);margin:6px 0}
.summary-card .sub{font-size:12px;color:var(--muted)}
.num.ok{color:var(--green)}.num.warn{color:var(--yellow)}.num.bad{color:var(--red)}
table.grid{width:100%;border-collapse:collapse;font-size:13px}
table.grid th,table.grid td{border-bottom:1px solid var(--border);padding:8px 10px;text-align:left}
table.grid th{background:#f9fafb;color:var(--muted);font-weight:600}
table.grid tr:hover td{background:#fafbff}
.mono{font-family:Consolas,'Courier New',monospace;font-size:12px}
.link{color:var(--primary);text-decoration:none}
.link:hover{text-decoration:underline}
.check-list{list-style:none}
.check-list li{padding:6px 0;font-size:14px}
.check-list li.ok{color:var(--green)}
.check-list li.bad{color:var(--red)}
.bar-wrap{position:relative;min-width:120px;background:#f3f4f6;border-radius:4px;height:18px;overflow:hidden}
.bar{height:100%;border-radius:4px}
.bar-txt{position:absolute;top:0;right:6px;font-size:11px;color:#374151;line-height:18px;font-weight:600}
.legend{float:right;font-size:12px;color:var(--muted);font-weight:400}
.lg{display:inline-block;padding:2px 8px;border-radius:4px;margin-left:8px}
.lg.covered{background:#dcfce7;color:#15803d}
.lg.partial{background:#fef9c3;color:#a16207}
.lg.missed{background:#fee2e2;color:#b91c1c}
pre.code{font-family:Consolas,'Courier New',monospace;font-size:12px;line-height:1.55;overflow-x:auto;background:#0f172a;color:#e2e8f0;border-radius:8px;padding:14px}
.code .cl{display:block;padding:0 8px;border-radius:3px;border-left:3px solid transparent}
.code .cl.covered{background:rgba(34,197,94,.12);border-left-color:#22c55e}
.code .cl.partial{background:rgba(234,179,8,.12);border-left-color:#eab308}
.code .cl.missed{background:rgba(239,68,68,.18);border-left-color:#ef4444}
.code .ln{color:#64748b;user-select:none}
.code .mark{color:#94a3b8;user-select:none;width:14px;display:inline-block}
.code .cl.missed .mark{color:#ef4444}
.code .cl.covered .mark{color:#22c55e}
.note{color:var(--muted);font-size:13px;padding:8px 0}
.footer{text-align:center;color:var(--muted);font-size:12px;padding:16px 0}
</style>
</head>
<body>
<nav class="nav">
<a class="active" href="index.html">总览</a>
<a class="" href="by-author.html">提交人维度</a>
<a href="summary.json" target="_blank">summary.json</a>
</nav>
<header class="page-header">
<h1>RefundService</h1>
<div class="meta">
<span>类:com/bestpay/pay/refund/RefundService</span>
<span>行覆盖率:50.00%</span>
<span>方法覆盖率:42.86%</span>
<span>行覆盖 30 / 60</span>
</div>
</header>
<section class="card">
<h2>方法级覆盖</h2>
<table class="grid">
<thead><tr><th>方法</th><th>行范围</th><th>指令覆盖</th><th>覆盖率</th></tr></thead>
<tbody>
<tr><td>applyRefund</td><td class="mono">5 - 10</td><td>6 / 8</td><td><div class="bar-wrap"><div class="bar" style="width:75.00%;background:#eab308"></div><span class="bar-txt">75.00%</span></div></td></tr>
<tr><td>auditRefund</td><td class="mono">12 - 17</td><td>6 / 8</td><td><div class="bar-wrap"><div class="bar" style="width:75.00%;background:#eab308"></div><span class="bar-txt">75.00%</span></div></td></tr>
</tbody>
</table>
</section>
<section class="card">
<h2>行级覆盖标注 <span class="legend"><span class="lg covered">已覆盖</span><span class="lg partial">部分</span><span class="lg missed">未覆盖</span></span></h2>
<pre class="code"><div class="note">源码文件未找到:.\src\main\java\com\bestpay\pay\refund\RefundService.java</div></pre>
</section>
<footer class="footer">由 coverage-report-plugin 生成</footer>
</body>
</html>