11
This commit is contained in:
+31
-3
@@ -13,6 +13,9 @@ class JX3Function:
|
|||||||
self.__api_config = api_config
|
self.__api_config = api_config
|
||||||
|
|
||||||
async def richang(self,server: str = "眉间雪",num: int = 0):
|
async def richang(self,server: str = "眉间雪",num: int = 0):
|
||||||
|
"""
|
||||||
|
日常活动
|
||||||
|
"""
|
||||||
return_data = {
|
return_data = {
|
||||||
"code": 0,
|
"code": 0,
|
||||||
"msg": "功能函数未执行",
|
"msg": "功能函数未执行",
|
||||||
@@ -47,6 +50,9 @@ class JX3Function:
|
|||||||
|
|
||||||
|
|
||||||
async def shapan(self,server: str = "梦江南"):
|
async def shapan(self,server: str = "梦江南"):
|
||||||
|
"""
|
||||||
|
区服沙盘
|
||||||
|
"""
|
||||||
return_data = {
|
return_data = {
|
||||||
"code": 0,
|
"code": 0,
|
||||||
"msg": "功能函数未执行",
|
"msg": "功能函数未执行",
|
||||||
@@ -102,6 +108,9 @@ class JX3Function:
|
|||||||
return return_data
|
return return_data
|
||||||
|
|
||||||
async def shaohua(self):
|
async def shaohua(self):
|
||||||
|
"""
|
||||||
|
骚话
|
||||||
|
"""
|
||||||
return_data = {
|
return_data = {
|
||||||
"code": 0,
|
"code": 0,
|
||||||
"msg": "功能函数未执行",
|
"msg": "功能函数未执行",
|
||||||
@@ -125,6 +134,9 @@ class JX3Function:
|
|||||||
|
|
||||||
|
|
||||||
async def jigai(self):
|
async def jigai(self):
|
||||||
|
"""
|
||||||
|
技改记录
|
||||||
|
"""
|
||||||
return_data = {
|
return_data = {
|
||||||
"code": 0,
|
"code": 0,
|
||||||
"msg": "功能函数未执行",
|
"msg": "功能函数未执行",
|
||||||
@@ -153,6 +165,9 @@ class JX3Function:
|
|||||||
|
|
||||||
|
|
||||||
async def jinjia(self, server: str = "眉间雪"):
|
async def jinjia(self, server: str = "眉间雪"):
|
||||||
|
"""
|
||||||
|
区服金价
|
||||||
|
"""
|
||||||
return_data = {
|
return_data = {
|
||||||
"code": 0,
|
"code": 0,
|
||||||
"msg": "功能函数未执行",
|
"msg": "功能函数未执行",
|
||||||
@@ -167,7 +182,8 @@ class JX3Function:
|
|||||||
if not data:
|
if not data:
|
||||||
return_data["msg"] = "获取接口信息失败"
|
return_data["msg"] = "获取接口信息失败"
|
||||||
return return_data
|
return return_data
|
||||||
#data = data[:7]
|
chart_data = data
|
||||||
|
data = data[:15]
|
||||||
# 加载模板
|
# 加载模板
|
||||||
try:
|
try:
|
||||||
return_data["temp"] = load_template("jinjia.html")
|
return_data["temp"] = load_template("jinjia.html")
|
||||||
@@ -175,9 +191,9 @@ class JX3Function:
|
|||||||
logger.error(f"加载模板失败: {e}")
|
logger.error(f"加载模板失败: {e}")
|
||||||
return_data["msg"] = "系统错误:模板文件不存在"
|
return_data["msg"] = "系统错误:模板文件不存在"
|
||||||
return return_data
|
return return_data
|
||||||
|
# 生成折线图
|
||||||
try:
|
try:
|
||||||
chart_base64 = plot_line_chart_base64(data, "date", "priceWanbaolou", "万宝楼金价走势",True)
|
chart_base64 = plot_line_chart_base64(chart_data, "date", "priceWanbaolou", "万宝楼金价走势",True)
|
||||||
logger.info(f"生成折线图成功: {chart_base64}")
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"生成折线图失败: {e}")
|
logger.error(f"生成折线图失败: {e}")
|
||||||
return_data["msg"] = "系统错误:生成折线图失败"
|
return_data["msg"] = "系统错误:生成折线图失败"
|
||||||
@@ -200,6 +216,9 @@ class JX3Function:
|
|||||||
|
|
||||||
|
|
||||||
async def qiyu(self, adventureName: str = "阴阳两界", serverName: str = "眉间雪"):
|
async def qiyu(self, adventureName: str = "阴阳两界", serverName: str = "眉间雪"):
|
||||||
|
"""
|
||||||
|
区服奇遇
|
||||||
|
"""
|
||||||
return_data = {
|
return_data = {
|
||||||
"code": 0,
|
"code": 0,
|
||||||
"msg": "功能函数未执行",
|
"msg": "功能函数未执行",
|
||||||
@@ -243,6 +262,9 @@ class JX3Function:
|
|||||||
|
|
||||||
|
|
||||||
async def SearchData(self):
|
async def SearchData(self):
|
||||||
|
"""
|
||||||
|
外观数据插入数据库
|
||||||
|
"""
|
||||||
return_data = {
|
return_data = {
|
||||||
"code": 0,
|
"code": 0,
|
||||||
"msg": "功能函数未执行",
|
"msg": "功能函数未执行",
|
||||||
@@ -293,6 +315,9 @@ class JX3Function:
|
|||||||
|
|
||||||
|
|
||||||
async def wujia(self,Name: str = "秃盒"):
|
async def wujia(self,Name: str = "秃盒"):
|
||||||
|
"""
|
||||||
|
物价查询
|
||||||
|
"""
|
||||||
return_data = {
|
return_data = {
|
||||||
"code": 0,
|
"code": 0,
|
||||||
"msg": "功能函数未执行",
|
"msg": "功能函数未执行",
|
||||||
@@ -435,6 +460,9 @@ class JX3Function:
|
|||||||
|
|
||||||
|
|
||||||
async def jiaoyihang(self,Name: str = "守缺式",server: str = "梦江南"):
|
async def jiaoyihang(self,Name: str = "守缺式",server: str = "梦江南"):
|
||||||
|
"""
|
||||||
|
区服交易行
|
||||||
|
"""
|
||||||
return_data = {
|
return_data = {
|
||||||
"code": 0,
|
"code": 0,
|
||||||
"msg": "功能函数未执行",
|
"msg": "功能函数未执行",
|
||||||
|
|||||||
+28
-188
@@ -1,190 +1,30 @@
|
|||||||
<!DOCTYPE html>
|
<div style="width: 1220px; margin: 0 auto;">
|
||||||
<html>
|
<h1 style="text-align: center;">剑网3交易行价格查询</h1>
|
||||||
<head>
|
<p style="text-align: center;">服务器: {{ server }}</p>
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>剑网3交易行价格查询</title>
|
|
||||||
<style>
|
|
||||||
* {
|
|
||||||
box-sizing: border-box;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
font-family: 'Microsoft YaHei', sans-serif;
|
|
||||||
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
|
||||||
padding: 20px;
|
|
||||||
min-height: 100vh;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
.container {
|
|
||||||
width: 1280px;
|
|
||||||
background-color: white;
|
|
||||||
border-radius: 12px;
|
|
||||||
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
.header {
|
|
||||||
background: linear-gradient(135deg, #4a90e2 0%, #2a5298 100%);
|
|
||||||
color: white;
|
|
||||||
padding: 25px 30px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.header h1 {
|
|
||||||
font-size: 32px;
|
|
||||||
margin-bottom: 8px;
|
|
||||||
font-weight: 600;
|
|
||||||
letter-spacing: 1px;
|
|
||||||
}
|
|
||||||
.server-info {
|
|
||||||
font-size: 18px;
|
|
||||||
opacity: 0.9;
|
|
||||||
}
|
|
||||||
.summary {
|
|
||||||
background-color: #f8f9fa;
|
|
||||||
padding: 15px 30px;
|
|
||||||
font-size: 16px;
|
|
||||||
color: #495057;
|
|
||||||
border-bottom: 1px solid #e9ecef;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
.items-count {
|
|
||||||
font-weight: 600;
|
|
||||||
color: #4a90e2;
|
|
||||||
}
|
|
||||||
.item-icon {
|
|
||||||
width: 20px;
|
|
||||||
height: 20px;
|
|
||||||
margin-right: 8px;
|
|
||||||
vertical-align: middle;
|
|
||||||
border-radius: 4px; /* 图标圆角,看起来更舒服 */
|
|
||||||
}
|
|
||||||
.update-time {
|
|
||||||
color: #6c757d;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
.table-container {
|
|
||||||
padding: 0 30px 30px 30px;
|
|
||||||
overflow-x: auto;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
table {
|
|
||||||
width: 100%;
|
|
||||||
border-collapse: collapse;
|
|
||||||
margin-top: 20px;
|
|
||||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
|
|
||||||
border-radius: 8px;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
th {
|
|
||||||
background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
|
|
||||||
color: white;
|
|
||||||
padding: 16px 20px;
|
|
||||||
text-align: left;
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 20px;
|
|
||||||
position: sticky;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
th:first-child {
|
|
||||||
border-top-left-radius: 8px;
|
|
||||||
}
|
|
||||||
th:last-child {
|
|
||||||
border-top-right-radius: 8px;
|
|
||||||
}
|
|
||||||
td {
|
|
||||||
padding: 14px 20px;
|
|
||||||
border-bottom: 1px solid #e9ecef;
|
|
||||||
font-size: 18px;
|
|
||||||
color: #495057;
|
|
||||||
}
|
|
||||||
tr:nth-child(even) {
|
|
||||||
background-color: #f8f9fa;
|
|
||||||
}
|
|
||||||
tr:hover {
|
|
||||||
background-color: #e9f7fe;
|
|
||||||
transition: background-color 0.2s;
|
|
||||||
}
|
|
||||||
.item-name {
|
|
||||||
font-weight: 500;
|
|
||||||
color: #2c3e50;
|
|
||||||
max-width: 500px;
|
|
||||||
}
|
|
||||||
.price {
|
|
||||||
text-align: right;
|
|
||||||
color: #e74c3c;
|
|
||||||
font-weight: 600;
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
.sample {
|
|
||||||
text-align: center;
|
|
||||||
color: #6c757d;
|
|
||||||
}
|
|
||||||
.footer {
|
|
||||||
background-color: #343a40;
|
|
||||||
color: #f8f9fa;
|
|
||||||
padding: 15px 30px;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
.highlight {
|
|
||||||
background-color: #fff3cd;
|
|
||||||
}
|
|
||||||
@media (max-width: 1320px) {
|
|
||||||
body {
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
.container {
|
|
||||||
width: 100%;
|
|
||||||
max-width: 1280px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="container">
|
|
||||||
<div class="header">
|
|
||||||
<h1>剑网3交易行价格查询</h1>
|
|
||||||
<div class="server-info">服务器: {{ server }}</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="summary">
|
<div style="overflow-x: auto; overflow-y: hidden;">
|
||||||
<div class="items-count">共找到 <strong>{{ items|length }}</strong> 件物品</div>
|
<table style="width: 100%; border-collapse: collapse; margin: 0 auto;">
|
||||||
<div class="update-time">数据查询时间: {{ update_time }}</div>
|
<thead>
|
||||||
</div>
|
<tr style="height: 50px; text-align: center;">
|
||||||
|
<th style="border:1px solid #000; padding:4px;">物品名称</th>
|
||||||
<div class="table-container">
|
<th style="border:1px solid #000; padding:4px;">最低价</th>
|
||||||
<table>
|
<th style="border:1px solid #000; padding:4px;">总数量</th>
|
||||||
<thead>
|
<th style="border:1px solid #000; padding:4px;">数据更新时间</th>
|
||||||
<tr>
|
</tr>
|
||||||
<th style="width: 40%; text-align: center">物品名称</th>
|
</thead>
|
||||||
<th style="width: 25%; text-align: center;">最低价</th>
|
<tbody>
|
||||||
<th style="width: 15%; text-align: center;">总数量</th>
|
{% for item in items %}
|
||||||
<th style="width: 20%; text-align: center;">数据更新时间</th>
|
<tr style="height: 45px; text-align: center;">
|
||||||
</tr>
|
<td style="border:1px solid #000; padding:4px; text-align: left;">
|
||||||
</thead>
|
<img src="{{ item.IconID }}" alt="icon" style="width:20px; height:20px; vertical-align:middle; border-radius:4px; margin-right:6px;">
|
||||||
<tbody>
|
{{ item.Name }}
|
||||||
{% for item in items %}
|
</td>
|
||||||
<tr>
|
<td style="border:1px solid #000; padding:4px;">{{ item.AvgPrice }}</td>
|
||||||
<td class="item-name">
|
<td style="border:1px solid #000; padding:4px;">{{ item.SampleSize }}</td>
|
||||||
<img src="{{ item.IconID }}" alt="icon" class="item-icon">
|
<td style="border:1px solid #000; padding:4px;">{{ item.Date }}</td>
|
||||||
{{ item.Name }}
|
</tr>
|
||||||
</td>
|
{% endfor %}
|
||||||
<td class="AvgPrice">{{ item.AvgPrice }}</td>
|
</tbody>
|
||||||
<td class="SampleSize">{{ item.SampleSize }}</td>
|
</table>
|
||||||
<td class="Date">{{ item.Date }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="footer">
|
|
||||||
© 2025 剑网3交易行查询系统 | 数据仅供参考,以游戏内实际价格为准
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</div>
|
||||||
</html>
|
|
||||||
|
|||||||
+20
-17
@@ -1,30 +1,33 @@
|
|||||||
<div style="width: 320px; margin: 0 auto;">
|
<div style="width: 1220px; margin: 0 auto;">
|
||||||
<h1 style="text-align: center" id="剑网三金价">剑网三金价</h1>
|
<h1 style="text-align: center" id="剑网三金价">剑网三金价</h1>
|
||||||
<p style="text-align: center">服务器:梦江南</p>
|
|
||||||
|
|
||||||
<div style="overflow-x: auto; overflow-y: hidden;">
|
<div style="overflow-x: auto; overflow-y: hidden;">
|
||||||
<table style="width: 300px; border-collapse: collapse; margin: 0 auto;">
|
<table style="width: 100%; border-collapse: collapse; margin: 0 auto;">
|
||||||
<colgroup>
|
|
||||||
<col style="width: 100px">
|
|
||||||
<col style="width: 100px">
|
|
||||||
<col style="width: 100px">
|
|
||||||
</colgroup>
|
|
||||||
<thead>
|
<thead>
|
||||||
<tr style="height: 60px; text-align: center;">
|
<tr style="height: 60px; text-align: center;">
|
||||||
<th>时间</th>
|
<th style="border:1px solid #000; padding:2px;">时间</th>
|
||||||
<th>万宝楼</th>
|
{% for item in items %}
|
||||||
<th>贴吧</th>
|
<th style="border:1px solid #000; padding:2px;">{{ item.date }}</th>
|
||||||
|
{% endfor %}
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for item in items %}
|
<tr style="height: 50px; text-align: center;">
|
||||||
<tr style="text-align: center; height: 50px;">
|
<td style="border:1px solid #000; padding:2px;">万宝楼</td>
|
||||||
<td>{{ item.date }}</td>
|
{% for item in items %}
|
||||||
<td>{{ item.priceWanbaolou }}</td>
|
<td style="border:1px solid #000; padding:2px;">{{ item.priceWanbaolou }}</td>
|
||||||
<td>{{ item.priceTieba }}</td>
|
{% endfor %}
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr style="height: 50px; text-align: center;">
|
||||||
|
<td style="border:1px solid #000; padding:2px;">贴吧</td>
|
||||||
|
{% for item in items %}
|
||||||
|
<td style="border:1px solid #000; padding:2px;">{{ item.priceTieba }}</td>
|
||||||
|
{% endfor %}
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+32
-178
@@ -1,180 +1,34 @@
|
|||||||
<!DOCTYPE html>
|
<div style="width: 800px; margin: 0 auto;">
|
||||||
<html>
|
<h1 style="text-align: center;" id="剑网三奇遇查询">剑网3奇遇查询</h1>
|
||||||
<head>
|
<p style="text-align: center;">奇遇名称:{{ qiyuname }} 服务器:{{ server }}</p>
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>剑网3奇遇查询</title>
|
|
||||||
<style>
|
|
||||||
* {
|
|
||||||
box-sizing: border-box;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
font-family: 'Microsoft YaHei', sans-serif;
|
|
||||||
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
|
||||||
padding: 20px;
|
|
||||||
min-height: 100vh;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
.container {
|
|
||||||
width: 1280px;
|
|
||||||
background-color: white;
|
|
||||||
border-radius: 12px;
|
|
||||||
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
.header {
|
|
||||||
background: linear-gradient(135deg, #4a90e2 0%, #2a5298 100%);
|
|
||||||
color: white;
|
|
||||||
padding: 25px 30px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.header h1 {
|
|
||||||
font-size: 32px;
|
|
||||||
margin-bottom: 8px;
|
|
||||||
font-weight: 600;
|
|
||||||
letter-spacing: 1px;
|
|
||||||
}
|
|
||||||
.server-info {
|
|
||||||
font-size: 18px;
|
|
||||||
opacity: 0.9;
|
|
||||||
}
|
|
||||||
.summary {
|
|
||||||
background-color: #f8f9fa;
|
|
||||||
padding: 15px 30px;
|
|
||||||
font-size: 16px;
|
|
||||||
color: #495057;
|
|
||||||
border-bottom: 1px solid #e9ecef;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
.items-count {
|
|
||||||
font-weight: 600;
|
|
||||||
color: #4a90e2;
|
|
||||||
}
|
|
||||||
.update-time {
|
|
||||||
color: #6c757d;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
.table-container {
|
|
||||||
padding: 0 30px 30px 30px;
|
|
||||||
overflow-x: auto;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
table {
|
|
||||||
width: 100%;
|
|
||||||
border-collapse: collapse;
|
|
||||||
margin-top: 20px;
|
|
||||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
|
|
||||||
border-radius: 8px;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
th {
|
|
||||||
background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
|
|
||||||
color: white;
|
|
||||||
padding: 16px 20px;
|
|
||||||
text-align: left;
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 20px;
|
|
||||||
position: sticky;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
th:first-child {
|
|
||||||
border-top-left-radius: 8px;
|
|
||||||
}
|
|
||||||
th:last-child {
|
|
||||||
border-top-right-radius: 8px;
|
|
||||||
}
|
|
||||||
td {
|
|
||||||
padding: 14px 20px;
|
|
||||||
border-bottom: 1px solid #e9ecef;
|
|
||||||
font-size: 18px;
|
|
||||||
color: #495057;
|
|
||||||
}
|
|
||||||
tr:nth-child(even) {
|
|
||||||
background-color: #f8f9fa;
|
|
||||||
}
|
|
||||||
tr:hover {
|
|
||||||
background-color: #e9f7fe;
|
|
||||||
transition: background-color 0.2s;
|
|
||||||
}
|
|
||||||
.item-name {
|
|
||||||
font-weight: 500;
|
|
||||||
color: #2c3e50;
|
|
||||||
max-width: 500px;
|
|
||||||
}
|
|
||||||
.price {
|
|
||||||
text-align: right;
|
|
||||||
color: #e74c3c;
|
|
||||||
font-weight: 600;
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
.sample {
|
|
||||||
text-align: center;
|
|
||||||
color: #6c757d;
|
|
||||||
}
|
|
||||||
.footer {
|
|
||||||
background-color: #343a40;
|
|
||||||
color: #f8f9fa;
|
|
||||||
padding: 15px 30px;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
.highlight {
|
|
||||||
background-color: #fff3cd;
|
|
||||||
}
|
|
||||||
@media (max-width: 1320px) {
|
|
||||||
body {
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
.container {
|
|
||||||
width: 100%;
|
|
||||||
max-width: 1280px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="container">
|
|
||||||
<div class="header">
|
|
||||||
<h1>剑网3奇遇查询</h1>
|
|
||||||
<div class="server-info">奇遇名称:{{ qiyuname }} 服务器: {{ server }}</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="summary">
|
<div style="overflow-x: auto; overflow-y: hidden;">
|
||||||
<div class="items-count">共找到 <strong>{{ items|length }}</strong> 条记录</div>
|
<table style="width: 100%; border-collapse: collapse; margin: 0 auto;">
|
||||||
<div class="update-time">数据更新时间: {{ update_time }}</div>
|
<thead>
|
||||||
</div>
|
<tr style="height: 50px; text-align: center;">
|
||||||
|
<th style="border:1px solid #000; padding:4px;">奇遇名称</th>
|
||||||
<div class="table-container">
|
<th style="border:1px solid #000; padding:4px;">服务器</th>
|
||||||
<table>
|
<th style="border:1px solid #000; padding:4px;">角色名称</th>
|
||||||
<thead>
|
<th style="border:1px solid #000; padding:4px;">触发时间</th>
|
||||||
<tr>
|
</tr>
|
||||||
<th style="width: 20%; text-align: center;">奇遇名称</th>
|
</thead>
|
||||||
<th style="width: 20%; text-align: center;">服务器</th>
|
<tbody>
|
||||||
<th style="width: 25%; text-align: center;">角色名称</th>
|
{% for item in items %}
|
||||||
<th style="width: 35%; text-align: center;">触发时间</th>
|
<tr style="height: 45px; text-align: center;">
|
||||||
</tr>
|
<td style="border:1px solid #000; padding:4px;">{{ item.adventureName }}</td>
|
||||||
</thead>
|
<td style="border:1px solid #000; padding:4px;">{{ server }}</td>
|
||||||
<tbody>
|
<td style="border:1px solid #000; padding:4px;">{{ item.gameName }}</td>
|
||||||
{% for item in items %}
|
<td style="border:1px solid #000; padding:4px;">{{ item.time }}</td>
|
||||||
<tr>
|
</tr>
|
||||||
<td class="adventureName">{{ item.adventureName }}</td>
|
{% endfor %}
|
||||||
<td class="server">{{ server }}</td>
|
</tbody>
|
||||||
<td class="gameName">{{ item.gameName }}</td>
|
</table>
|
||||||
<td class="time">{{ item.time }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="footer">
|
|
||||||
© 2025 剑网3奇遇查询系统 | 数据仅供参考,以游戏内实际价格为准
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</body>
|
|
||||||
</html>
|
<!-- 可在这里插入 Base64 图片 -->
|
||||||
|
<div style="text-align: center; margin-top: 20px;">
|
||||||
|
<img src="data:image/png;base64, {{ your_base64_string }}"
|
||||||
|
alt="奇遇趋势图"
|
||||||
|
style="max-width: 100%; height: auto;" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|||||||
+27
-62
@@ -1,65 +1,30 @@
|
|||||||
<div style="max-width: 800px; margin: 0 auto; font-family: 'Microsoft YaHei', sans-serif; color: #000; text-align: center;">
|
<div style="width: 1220px; margin: 0 auto;">
|
||||||
|
<h1 style="text-align: center;">剑网3交易行价格查询</h1>
|
||||||
<!-- 商品基本信息 -->
|
<p style="text-align: center;">服务器: {{ server }}</p>
|
||||||
<h1 style="margin-bottom: 5px;">{{ showName }} ({{ goodsAlias }})</h1>
|
|
||||||
<img src="{{ imgs }}" alt="{{ showName }}" style="width: 100%; max-width: 600px; margin-bottom: 8px;">
|
|
||||||
<p style="margin: 4px 0;">{{ goodsDesc }}</p>
|
|
||||||
<p style="margin: 4px 0;"><strong>发布时间:</strong> {{ publishTime.split('T')[0] if publishTime else '未知' }}</p>
|
|
||||||
<p style="margin: 4px 0;"><strong>参考价格:</strong> {{ priceNum }} 元</p>
|
|
||||||
|
|
||||||
<!-- 双列表格 -->
|
|
||||||
<div style="display: flex; gap: 10px; margin-top: 15px; flex-wrap: wrap; justify-content: center;">
|
|
||||||
|
|
||||||
<!-- 万宝楼公示 -->
|
|
||||||
<div style="flex: 1; min-width: 300px; border:1px solid #000; overflow:hidden;">
|
|
||||||
<div style="padding:4px; font-weight:bold; text-align:center;">万宝楼公示</div>
|
|
||||||
<div style="overflow-x:auto;">
|
|
||||||
<table style="width:100%; border-collapse:collapse; margin:0 auto; text-align:center; font-size:0.9em;">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th style="border:1px solid #000; padding:2px;">剩余时间</th>
|
|
||||||
<th style="border:1px solid #000; padding:2px;">服务器</th>
|
|
||||||
<th style="border:1px solid #000; padding:2px;">价格</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{% for item in wblgs %}
|
|
||||||
<tr>
|
|
||||||
<td style="border:1px solid #000; padding:2px;">{{ item.replyTime }}</td>
|
|
||||||
<td style="border:1px solid #000; padding:2px;">{{ item.belongQf2 }}</td>
|
|
||||||
<td style="border:1px solid #000; padding:2px;">{{ item.priceNum }}元</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- 万宝楼在售 -->
|
|
||||||
<div style="flex: 1; min-width: 300px; border:1px solid #000; overflow:hidden;">
|
|
||||||
<div style="padding:4px; font-weight:bold; text-align:center;">万宝楼在售</div>
|
|
||||||
<div style="overflow-x:auto;">
|
|
||||||
<table style="width:100%; border-collapse:collapse; margin:0 auto; text-align:center; font-size:0.9em;">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th style="border:1px solid #000; padding:2px;">剩余时间</th>
|
|
||||||
<th style="border:1px solid #000; padding:2px;">服务器</th>
|
|
||||||
<th style="border:1px solid #000; padding:2px;">价格</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{% for item in wblzs %}
|
|
||||||
<tr>
|
|
||||||
<td style="border:1px solid #000; padding:2px;">{{ item.replyTime }}</td>
|
|
||||||
<td style="border:1px solid #000; padding:2px;">{{ item.belongQf2 }}</td>
|
|
||||||
<td style="border:1px solid #000; padding:2px;">{{ item.priceNum }}元</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<div style="overflow-x: auto; overflow-y: hidden;">
|
||||||
|
<table style="width: 100%; border-collapse: collapse; margin: 0 auto;">
|
||||||
|
<thead>
|
||||||
|
<tr style="height: 50px; text-align: center;">
|
||||||
|
<th style="border:1px solid #000; padding:4px;">物品名称</th>
|
||||||
|
<th style="border:1px solid #000; padding:4px;">最低价</th>
|
||||||
|
<th style="border:1px solid #000; padding:4px;">总数量</th>
|
||||||
|
<th style="border:1px solid #000; padding:4px;">数据更新时间</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for item in items %}
|
||||||
|
<tr style="height: 45px; text-align: center;">
|
||||||
|
<td style="border:1px solid #000; padding:4px; text-align: left;">
|
||||||
|
<img src="{{ item.IconID }}" alt="icon" style="width:20px; height:20px; vertical-align:middle; border-radius:4px; margin-right:6px;">
|
||||||
|
{{ item.Name }}
|
||||||
|
</td>
|
||||||
|
<td style="border:1px solid #000; padding:4px;">{{ item.AvgPrice }}</td>
|
||||||
|
<td style="border:1px solid #000; padding:4px;">{{ item.SampleSize }}</td>
|
||||||
|
<td style="border:1px solid #000; padding:4px;">{{ item.Date }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user