mirror of
https://github.com/Lost-MSth/Arcaea-server.git
synced 2026-02-09 01:07:27 +08:00
Update to v1.4
This commit is contained in:
81
latest version/templates/web/allplayer.html
Normal file
81
latest version/templates/web/allplayer.html
Normal file
@@ -0,0 +1,81 @@
|
||||
{% extends 'base.html' %}
|
||||
{% block header %}
|
||||
<h1>{% block title %}All players{% endblock %}</h1>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% if posts %}
|
||||
{% for user in posts %}
|
||||
|
||||
<div id="user-info">
|
||||
<div class="name">{{user['name']}}
|
||||
<span class="rank">UID: {{user['user_id']}}</span>
|
||||
<span class="rank">User code: {{user['user_code']}}</span>
|
||||
</div>
|
||||
<div class="join-date">注册于 Registered in: {{user['join_date']}}</div>
|
||||
<div class="ptt">PTT: {{user['rating_ptt']//100 ~ '.' ~ user['rating_ptt']%100}}</div>
|
||||
<div>
|
||||
<div>Recent plays: </div>
|
||||
<div>
|
||||
<div class="score-item">
|
||||
<span class="song-title">
|
||||
{{user['song_id']}}
|
||||
</span>
|
||||
{% if user['difficulty'] == 0 %}
|
||||
<span class="difficulty_pst">PST</span>
|
||||
{% elif user['difficulty'] == 1 %}
|
||||
<span class="difficulty_prs">PRS</span>
|
||||
{% elif user['difficulty'] == 2 %}
|
||||
<span class="difficulty_ftr">FTR</span>
|
||||
{% else %}
|
||||
<span class="difficulty_byd">BYD</span>
|
||||
{% endif %}
|
||||
|
||||
<div class="song-detail">
|
||||
<br />
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>PURE: </td>
|
||||
<td>{{user['perfect_count']}}</td>
|
||||
<td> {{'(' ~ user['shiny_perfect_count'] ~ ')'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>FAR: </td>
|
||||
<td>{{user['near_count']}}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>LOST: </td>
|
||||
<td>{{user['miss_count']}}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="song-score">{{user['score']}}</div>
|
||||
<div class="song-clear-type">
|
||||
{% if user['clear_type'] == 3 %}Pure Memory
|
||||
{% elif user['clear_type'] == 2 %}Full Recall
|
||||
{% elif user['clear_type'] == 5 %}Hard Clear
|
||||
{% elif user['clear_type'] == 1 %}Normal Clear
|
||||
{% elif user['clear_type'] == 4 %}Easy Clear
|
||||
{% else%}Track Lost
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="song-rating">成绩评价 Rating: {{user['rating']}}</div>
|
||||
<div class="song-clear-date">日期 Date:
|
||||
{{user['time_played']}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% if not loop.last %}
|
||||
<hr />
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
48
latest version/templates/web/allsong.html
Normal file
48
latest version/templates/web/allsong.html
Normal file
@@ -0,0 +1,48 @@
|
||||
{% extends 'base.html' %}
|
||||
{% block header %}
|
||||
<h1>{% block title %}All songs{% endblock %}</h1>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% if posts %}<br />
|
||||
{% for song in posts %}
|
||||
|
||||
<div class="score-item">
|
||||
<span>Sid: </span>
|
||||
<span class="song-title">{{song['song_id']}}</span>
|
||||
<br />
|
||||
<span>Name_en: </span>
|
||||
<span class="song-title">{{song['name_en']}}</span>
|
||||
<br />
|
||||
<div>铺面定数 Chart const: </div>
|
||||
{% if song['rating_pst'] %}
|
||||
<span class="difficulty_pst">PST</span>
|
||||
<span class="song-rating">{{song['rating_pst']}}</span>
|
||||
{% endif %}
|
||||
<br />
|
||||
{% if song['rating_prs'] %}
|
||||
<span class="difficulty_prs">PRS</span>
|
||||
<span class="song-rating">{{song['rating_prs']}}</span>
|
||||
{% endif %}
|
||||
<br />
|
||||
{% if song['rating_ftr'] %}
|
||||
<span class="difficulty_ftr">FTR</span>
|
||||
<span class="song-rating">{{song['rating_ftr']}}</span>
|
||||
{% endif %}
|
||||
<br />
|
||||
{% if song['rating_byn'] %}
|
||||
<span class="difficulty_byd">BYD</span>
|
||||
<span class="song-rating">{{song['rating_byn']}}</span>
|
||||
{% endif %}
|
||||
|
||||
|
||||
</div>
|
||||
{% if not loop.last %}
|
||||
<br />
|
||||
<hr />
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
35
latest version/templates/web/changesong.html
Normal file
35
latest version/templates/web/changesong.html
Normal file
@@ -0,0 +1,35 @@
|
||||
{% extends 'base.html' %}
|
||||
{% block header %}
|
||||
<h1>{% block title %}Change the songs{% endblock %}</h1>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<form action="/web/changesong/addsong" method="post">
|
||||
<div class="title">Add the song</div>
|
||||
<label for="sid">SID of the song</label>
|
||||
<input name="sid" id="sid" required>
|
||||
<label for="name_en">English name of the song(Not important but neccessary)</label>
|
||||
<input name="name_en" id="name_en" required>
|
||||
|
||||
<label for="rating_pst">Past chart const</label>
|
||||
<input name="rating_pst" id="rating_pst" required>
|
||||
<label for="rating_prs">Present chart const</label>
|
||||
<input name="rating_prs" id="rating_prs" required>
|
||||
<label for="rating_ftr">Future chart const</label>
|
||||
<input name="rating_ftr" id="rating_ftr" required>
|
||||
<label for="rating_byd">Beyond chart const</label>
|
||||
<input name="rating_byd" id="rating_byd" required>
|
||||
<div class="content">如果没有某个铺面,应该填入-1。</div>
|
||||
<div class="content">If there is no some chart, fill in -1 please.</div>
|
||||
<input type="submit" value="Add">
|
||||
</form>
|
||||
<br />
|
||||
<hr />
|
||||
<form action="/web/changesong/deletesong" method="post">
|
||||
<div class="title">Delete the song</div>
|
||||
<label for="sid">SID of the song</label>
|
||||
<input name="sid" id="sid" required>
|
||||
|
||||
<input type="submit" value="Delete">
|
||||
</form>
|
||||
{% endblock %}
|
||||
24
latest version/templates/web/index.html
Normal file
24
latest version/templates/web/index.html
Normal file
@@ -0,0 +1,24 @@
|
||||
{% extends 'base.html' %}
|
||||
{% block header %}
|
||||
<h1>{% block title %}Index{% endblock %}</h1>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>说明 Statement</h1>
|
||||
<p>这是Arcaea Server的后台管理协助系统,可以进行一些简单的操作</br>
|
||||
This is the background management assistance system of Arcaea Server, which can be used to do some simple
|
||||
operations.
|
||||
</p>
|
||||
<h1>游戏方面 Game</h1>
|
||||
<a href="{{ url_for('index.single_player_score') }}">单个玩家成绩查询 Single player score</a></br></br>
|
||||
<a href="{{ url_for('index.single_player_ptt') }}">单个玩家PTT详情查询 Single player ptt</a></br></br>
|
||||
<a href="{{ url_for('index.all_player') }}">所有玩家信息查询 All players</a></br></br>
|
||||
<a href="{{ url_for('index.all_song') }}">铺面信息查询 All songs</a></br></br>
|
||||
<a href="{{ url_for('index.single_chart_top') }}">单个铺面排行榜查询 Single song chart tops</a>
|
||||
<hr>
|
||||
<h1>系统方面 System</h1>
|
||||
<a href="{{ url_for('index.update_database') }}">数据库更新 Update databases</a></br></br>
|
||||
<a href="{{ url_for('index.change_song') }}">歌曲修改 Change the songs</a>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
14
latest version/templates/web/login.html
Normal file
14
latest version/templates/web/login.html
Normal file
@@ -0,0 +1,14 @@
|
||||
{% extends 'base.html' %}
|
||||
{% block header %}
|
||||
<h1>{% block title %}Log In{% endblock %}</h1>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<form method="post">
|
||||
<label for="username">Username</label>
|
||||
<input name="username" id="username" required>
|
||||
<label for="password">Password</label>
|
||||
<input type="password" name="password" id="password" required>
|
||||
<input type="submit" value="Log In">
|
||||
</form>
|
||||
{% endblock %}
|
||||
108
latest version/templates/web/singlecharttop.html
Normal file
108
latest version/templates/web/singlecharttop.html
Normal file
@@ -0,0 +1,108 @@
|
||||
{% extends 'base.html' %}
|
||||
{% block header %}
|
||||
<h1>{% block title %}Single chart top{% endblock %}</h1>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<form method="post">
|
||||
<label for="sid">SID of the song</label>
|
||||
<span>模糊查询,只返回第一个</span>
|
||||
<span>Fuzzy query,and only return the first one.</span>
|
||||
<input name="sid" id="sid">
|
||||
<label for="difficulty">Difficulty</label>
|
||||
<select name='difficulty' id='difficulty'>
|
||||
<option value="0" selected>Past</option>
|
||||
<option value="1">Present</option>
|
||||
<option value="2">Future</option>
|
||||
<option value="3">Beyond</option>
|
||||
</select>
|
||||
<br />
|
||||
<input type="submit" value="Find">
|
||||
</br>
|
||||
</br>
|
||||
</br>
|
||||
{% if song_id %}
|
||||
<div>
|
||||
<span class="song-title">
|
||||
{{song_id}}
|
||||
</span>
|
||||
|
||||
{% if difficulty == 0 %}
|
||||
<span class="difficulty_pst">PST</span>
|
||||
{% elif difficulty == 1 %}
|
||||
<span class="difficulty_prs">PRS</span>
|
||||
{% elif difficulty == 2 %}
|
||||
<span class="difficulty_ftr">FTR</span>
|
||||
{% else %}
|
||||
<span class="difficulty_byd">BYD</span>
|
||||
|
||||
{% endif %}
|
||||
<br />
|
||||
<div class="song-title">
|
||||
{{song_name_en}}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<br />
|
||||
<hr />
|
||||
{% for post in posts %}
|
||||
<div class="score-item">
|
||||
<div>
|
||||
<span class='rank_big'>{{'#' ~ post['rank']}}</span>
|
||||
<span class="name">
|
||||
{{post['name']}}
|
||||
</span>
|
||||
<span class="rank">UID: {{post['user_id']}}</span>
|
||||
</div>
|
||||
|
||||
<div class="song-detail">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>PURE: </td>
|
||||
<td>{{post['perfect_count']}}</td>
|
||||
<td> {{'(' ~ post['shiny_perfect_count'] ~ ')'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>FAR: </td>
|
||||
<td>{{post['near_count']}}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>LOST: </td>
|
||||
<td>{{post['miss_count']}}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="song-score">{{post['score']}}</div>
|
||||
<div class="song-clear-type">
|
||||
{% if post['clear_type'] == 3 %}Pure Memory
|
||||
{% elif post['clear_type'] == 2 %}Full Recall
|
||||
{% elif post['clear_type'] == 5 %}Hard Clear
|
||||
{% elif post['clear_type'] == 1 %}Normal Clear
|
||||
{% elif post['clear_type'] == 4 %}Easy Clear
|
||||
{% else%}Track Lost
|
||||
{% endif %}
|
||||
<span class="song-clear-type" style="margin-left: 1.875em;">
|
||||
{% if post['best_clear_type'] == 3 %}(Pure Memory)
|
||||
{% elif post['best_clear_type'] == 2 %}(Full Recall)
|
||||
{% elif post['best_clear_type'] == 5 %}(Hard Clear)
|
||||
{% elif post['best_clear_type'] == 1 %}(Normal Clear)
|
||||
{% elif post['best_clear_type'] == 4 %}(Easy Clear)
|
||||
{% else%}(Track Lost)
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
<div class="song-clear-date">日期 Date:
|
||||
{{post['time_played']}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if not loop.last %}
|
||||
</br>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</form>
|
||||
{% endblock %}
|
||||
85
latest version/templates/web/singleplayer.html
Normal file
85
latest version/templates/web/singleplayer.html
Normal file
@@ -0,0 +1,85 @@
|
||||
{% extends 'base.html' %}
|
||||
{% block header %}
|
||||
<h1>{% block title %}Single player score{% endblock %}</h1>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<form method="post">
|
||||
<label for="name">Arcaea Username</label>
|
||||
<input name="name" id="name">
|
||||
or<br />
|
||||
<label for="user_code">Arcaea User Code</label>
|
||||
<input name="user_code" id="user_code">
|
||||
<input type="submit" value="Find">
|
||||
</br>
|
||||
</br>
|
||||
</br>
|
||||
{% for post in posts %}
|
||||
<div class="score-item">
|
||||
<span class="song-title">
|
||||
{{post['song_id']}}
|
||||
</span>
|
||||
{% if post['difficulty'] == 0 %}
|
||||
<span class="difficulty_pst">PST</span>
|
||||
{% elif post['difficulty'] == 1 %}
|
||||
<span class="difficulty_prs">PRS</span>
|
||||
{% elif post['difficulty'] == 2 %}
|
||||
<span class="difficulty_ftr">FTR</span>
|
||||
{% else %}
|
||||
<span class="difficulty_byd">BYD</span>
|
||||
{% endif %}
|
||||
<span class='rank'>{{'#' ~ post['rank']}}</span>
|
||||
|
||||
<div class="song-detail">
|
||||
</br>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>PURE: </td>
|
||||
<td>{{post['perfect_count']}}</td>
|
||||
<td> {{'(' ~ post['shiny_perfect_count'] ~ ')'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>FAR: </td>
|
||||
<td>{{post['near_count']}}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>LOST: </td>
|
||||
<td>{{post['miss_count']}}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="song-score">{{post['score']}}</div>
|
||||
<div class="song-clear-type">
|
||||
{% if post['clear_type'] == 3 %}Pure Memory
|
||||
{% elif post['clear_type'] == 2 %}Full Recall
|
||||
{% elif post['clear_type'] == 5 %}Hard Clear
|
||||
{% elif post['clear_type'] == 1 %}Normal Clear
|
||||
{% elif post['clear_type'] == 4 %}Easy Clear
|
||||
{% else%}Track Lost
|
||||
{% endif %}
|
||||
<span class="song-clear-type" style="margin-left: 1.875em;">
|
||||
{% if post['best_clear_type'] == 3 %}(Pure Memory)
|
||||
{% elif post['best_clear_type'] == 2 %}(Full Recall)
|
||||
{% elif post['best_clear_type'] == 5 %}(Hard Clear)
|
||||
{% elif post['best_clear_type'] == 1 %}(Normal Clear)
|
||||
{% elif post['best_clear_type'] == 4 %}(Easy Clear)
|
||||
{% else%}(Track Lost)
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
<div class="song-rating">成绩评价 Rating: {{post['rating']}}</div>
|
||||
<div class="song-clear-date">日期 Date:
|
||||
{{post['time_played']}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if not loop.last %}
|
||||
</br>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</form>
|
||||
{% endblock %}
|
||||
191
latest version/templates/web/singleplayerptt.html
Normal file
191
latest version/templates/web/singleplayerptt.html
Normal file
@@ -0,0 +1,191 @@
|
||||
{% extends 'base.html' %}
|
||||
{% block header %}
|
||||
<h1>{% block title %}Single player ptt{% endblock %}</h1>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<form method="post">
|
||||
<label for="name">Arcaea Username</label>
|
||||
<input name="name" id="name">
|
||||
or<br />
|
||||
<label for="user_code">Arcaea User Code</label>
|
||||
<input name="user_code" id="user_code">
|
||||
<input type="submit" value="Find">
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
{% if user %}
|
||||
<hr />
|
||||
|
||||
<div id="user-info">
|
||||
<div class="title">玩家信息 Player information</div>
|
||||
<div class="name">{{user['name']}}
|
||||
<span class="rank">UID: {{user['user_id']}}</span>
|
||||
<span class="rank">User code: {{user['user_code']}}</span>
|
||||
</div>
|
||||
<div class="join-date">注册于 Registered in: {{user['join_date']}}</div>
|
||||
<div class="ptt">PTT: {{user['rating_ptt']//100 ~ '.' ~ user['rating_ptt']%100}}</div>
|
||||
<div class="ptt">Best 30 PTT: {{bestptt}}</div>
|
||||
<div class="ptt">Recent 10 PTT: {{recentptt}}</div>
|
||||
<div>
|
||||
<div>Recent plays: </div>
|
||||
<div>
|
||||
<div class="score-item">
|
||||
<span class="song-title">
|
||||
{{user['song_id']}}
|
||||
</span>
|
||||
{% if user['difficulty'] == 0 %}
|
||||
<span class="difficulty_pst">PST</span>
|
||||
{% elif user['difficulty'] == 1 %}
|
||||
<span class="difficulty_prs">PRS</span>
|
||||
{% elif user['difficulty'] == 2 %}
|
||||
<span class="difficulty_ftr">FTR</span>
|
||||
{% else %}
|
||||
<span class="difficulty_byd">BYD</span>
|
||||
{% endif %}
|
||||
|
||||
<div class="song-detail">
|
||||
<br />
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>PURE: </td>
|
||||
<td>{{user['perfect_count']}}</td>
|
||||
<td> {{'(' ~ user['shiny_perfect_count'] ~ ')'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>FAR: </td>
|
||||
<td>{{user['near_count']}}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>LOST: </td>
|
||||
<td>{{user['miss_count']}}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="song-score">{{user['score']}}</div>
|
||||
<div class="song-clear-type">
|
||||
{% if user['clear_type'] == 3 %}Pure Memory
|
||||
{% elif user['clear_type'] == 2 %}Full Recall
|
||||
{% elif user['clear_type'] == 5 %}Hard Clear
|
||||
{% elif user['clear_type'] == 1 %}Normal Clear
|
||||
{% elif user['clear_type'] == 4 %}Easy Clear
|
||||
{% else%}Track Lost
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="song-rating">成绩评价 Rating: {{user['rating']}}</div>
|
||||
<div class="song-clear-date">日期 Date:
|
||||
{{user['time_played']}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
{% if posts %}
|
||||
<div class="title">Best 30</div>
|
||||
{% endif %}
|
||||
{% for post in posts %}
|
||||
<div class="score-item">
|
||||
<span class="song-title">
|
||||
{{post['song_id']}}
|
||||
</span>
|
||||
{% if post['difficulty'] == 0 %}
|
||||
<span class="difficulty_pst">PST</span>
|
||||
{% elif post['difficulty'] == 1 %}
|
||||
<span class="difficulty_prs">PRS</span>
|
||||
{% elif post['difficulty'] == 2 %}
|
||||
<span class="difficulty_ftr">FTR</span>
|
||||
{% else %}
|
||||
<span class="difficulty_byd">BYD</span>
|
||||
{% endif %}
|
||||
<span class='rank'>{{'#' ~ post['rank']}}</span>
|
||||
|
||||
<div class="song-detail">
|
||||
<br />
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>PURE: </td>
|
||||
<td>{{post['perfect_count']}}</td>
|
||||
<td> {{'(' ~ post['shiny_perfect_count'] ~ ')'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>FAR: </td>
|
||||
<td>{{post['near_count']}}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>LOST: </td>
|
||||
<td>{{post['miss_count']}}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="song-score">{{post['score']}}</div>
|
||||
<div class="song-clear-type">
|
||||
{% if post['clear_type'] == 3 %}Pure Memory
|
||||
{% elif post['clear_type'] == 2 %}Full Recall
|
||||
{% elif post['clear_type'] == 5 %}Hard Clear
|
||||
{% elif post['clear_type'] == 1 %}Normal Clear
|
||||
{% elif post['clear_type'] == 4 %}Easy Clear
|
||||
{% else%}Track Lost
|
||||
{% endif %}
|
||||
<span class="song-clear-type" style="margin-left: 1.875em;">
|
||||
{% if post['best_clear_type'] == 3 %}(Pure Memory)
|
||||
{% elif post['best_clear_type'] == 2 %}(Full Recall)
|
||||
{% elif post['best_clear_type'] == 5 %}(Hard Clear)
|
||||
{% elif post['best_clear_type'] == 1 %}(Normal Clear)
|
||||
{% elif post['best_clear_type'] == 4 %}(Easy Clear)
|
||||
{% else%}(Track Lost)
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
<div class="song-rating">成绩评价 Rating: {{post['rating']}}</div>
|
||||
<div class="song-clear-date">日期 Date:
|
||||
{{post['time_played']}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if not loop.last %}
|
||||
<br />
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
<hr />
|
||||
|
||||
{% if recent %}
|
||||
<div class="title">Recent 30</div>
|
||||
{% for i in recent %}
|
||||
|
||||
{% if i %}
|
||||
<div class="score-item">
|
||||
<span class="song-title">
|
||||
{{i['song_id']}}
|
||||
</span>
|
||||
{% if i['difficulty'] == 0 %}
|
||||
<span class="difficulty_pst">PST</span>
|
||||
{% elif i['difficulty'] == 1 %}
|
||||
<span class="difficulty_prs">PRS</span>
|
||||
{% elif i['difficulty'] == 2 %}
|
||||
<span class="difficulty_ftr">FTR</span>
|
||||
{% else %}
|
||||
<span class="difficulty_byd">BYD</span>
|
||||
{% endif %}
|
||||
<span class='rank'>{{loop.index}}</span>
|
||||
<div class="song-rating">成绩评价 Rating: {{i['rating']}}</div>
|
||||
</div>
|
||||
|
||||
{% if not loop.last %}
|
||||
<br />
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</form>
|
||||
{% endblock %}
|
||||
21
latest version/templates/web/updatedatabase.html
Normal file
21
latest version/templates/web/updatedatabase.html
Normal file
@@ -0,0 +1,21 @@
|
||||
{% extends 'base.html' %}
|
||||
{% block header %}
|
||||
<h1>{% block title %}Update databases{% endblock %}</h1>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<form method="post" enctype="multipart/form-data">
|
||||
<label for="name">Old database</label>
|
||||
<input type="file" name="file">
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
<div class="content">
|
||||
这里可以将旧版本的数据库同步到新版本的数据库,并刷新用户拥有的角色列表。<br />
|
||||
可上传文件: arcaea_database.db和arcsong.db<br />
|
||||
新数据库不存在的数据会被添加,存在的数据将不会被改变。<br /><br />
|
||||
Here you can synchronize the old version of the database to the new version of the database and refresh the list of
|
||||
characters owned by players.<br />
|
||||
Uploadable files: arcaea_database.db & arcsong.db<br />
|
||||
Data that does not exist in the new database will be added and the existing data will not be changed.
|
||||
</div>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user