112 lines
3.5 KiB
HTML
112 lines
3.5 KiB
HTML
|
<!DOCTYPE html>
|
|||
|
<html>
|
|||
|
<head>
|
|||
|
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
|
|||
|
<link rel="shortcut icon" href="#" />
|
|||
|
<link rel="stylesheet" type="text/css" href="{{pluResPath}}html/ledger/ledger.css" />
|
|||
|
<link rel="preload" href="https://unpkg.com/@antv/g2plot@latest/dist/g2plot.min.js" as="script" />
|
|||
|
<link rel="preload" href="{{resPath}}/font/tttgbnumber.ttf" as="font">
|
|||
|
<link rel="preload" href="{{pluResPath}}img/other/bg.webp" as="image">
|
|||
|
<link rel="preload" href="{{pluResPath}}img/other/chart.png" as="image">
|
|||
|
</head>
|
|||
|
|
|||
|
<body>
|
|||
|
<div class="container" id="container">
|
|||
|
<div class="title-box">
|
|||
|
<div class="info">
|
|||
|
<div class="uid">ID:{{uid}}</div>
|
|||
|
<div class="month">{{day}}札记</div>
|
|||
|
</div>
|
|||
|
<img class="genshin_logo" src="{{pluResPath}}img/other/原神.png" />
|
|||
|
</div>
|
|||
|
<div class="data-box">
|
|||
|
<div class="month">
|
|||
|
<div class="head">当月获取:</div>
|
|||
|
<div class="primogems">
|
|||
|
<div class="icon-ys"></div>
|
|||
|
<div class="text">原石:{{month_data.current_primogems}} | {{month_data.gacha}} 抽</div>
|
|||
|
</div>
|
|||
|
<div class="primogems">
|
|||
|
<div class="icon-mola"></div>
|
|||
|
<div class="text">摩拉:{{month_data.current_mora}}</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="day">
|
|||
|
<div class="head">上月获取:</div>
|
|||
|
<div class="primogems">
|
|||
|
<div class="icon-ys"></div>
|
|||
|
<div class="text">原石:{{month_data.last_primogems}} | {{month_data.last_gacha}} 抽</div>
|
|||
|
</div>
|
|||
|
<div class="primogems">
|
|||
|
<div class="icon-mola"></div>
|
|||
|
<div class="text">摩拉:{{month_data.last_mora}}</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="chart-box">
|
|||
|
<div class="head">原石收入组成:</div>
|
|||
|
<div class="chart-info">
|
|||
|
<div id="chartContainer"></div>
|
|||
|
<ul class="tooltip">
|
|||
|
{{each month_data.group_by val}}
|
|||
|
<li>
|
|||
|
<i style="background: {{val.color}}"></i>
|
|||
|
<span class="action">{{val.action}}</span> <em>{{val.percent}}%</em><span class="num">{{val.num}}</span>
|
|||
|
</li>
|
|||
|
{{/each}}
|
|||
|
</ul>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</body>
|
|||
|
|
|||
|
<script type="text/javascript" src="https://unpkg.com/@antv/g2plot@latest/dist/g2plot.min.js"></script>
|
|||
|
<script>
|
|||
|
const { Pie } = G2Plot;
|
|||
|
const data = JSON.parse(`{{@ group_by}}`);
|
|||
|
const piePlot = new Pie("chartContainer", {
|
|||
|
renderer: "svg",
|
|||
|
animation: false,
|
|||
|
data: data,
|
|||
|
appendPadding: 10,
|
|||
|
angleField: "num",
|
|||
|
colorField: "action",
|
|||
|
radius: 1,
|
|||
|
innerRadius: 0.7,
|
|||
|
color: JSON.parse(`{{@ color}}`),
|
|||
|
meta: {
|
|||
|
// num: {
|
|||
|
// formatter: (v) => `${v}`,
|
|||
|
// },
|
|||
|
},
|
|||
|
label: {
|
|||
|
type: "inner",
|
|||
|
offset: "-50%",
|
|||
|
autoRotate: false,
|
|||
|
style: {
|
|||
|
textAlign: "center",
|
|||
|
fontFamily: "tttgbnumber",
|
|||
|
},
|
|||
|
formatter: ({ percent }) => {
|
|||
|
percent = (percent * 100).toFixed(0);
|
|||
|
return percent > 2 ? `${percent}%` : "";
|
|||
|
},
|
|||
|
},
|
|||
|
statistic: {
|
|||
|
title: {
|
|||
|
offsetY: -18,
|
|||
|
content: "总计",
|
|||
|
},
|
|||
|
content: {
|
|||
|
offsetY: -10,
|
|||
|
style: {
|
|||
|
fontFamily: "tttgbnumber",
|
|||
|
},
|
|||
|
},
|
|||
|
},
|
|||
|
legend:false,
|
|||
|
});
|
|||
|
piePlot.render();
|
|||
|
</script>
|
|||
|
</html>
|