From 376e5abd39ba10827986d25956f412c0b50a87d7 Mon Sep 17 00:00:00 2001 From: qsc20001102 Date: Fri, 19 Dec 2025 13:18:40 +0800 Subject: [PATCH] 11 --- core/jx3_service.py | 83 ++------- data/api_config.json | 10 ++ templates/temp_test.html | 307 ++++++++++++++++++++++++++++----- templates/wujia.html | 363 +++++++++++++++++++++++++++++++++------ 4 files changed, 593 insertions(+), 170 deletions(-) diff --git a/core/jx3_service.py b/core/jx3_service.py index fb81dcf..fe16e45 100644 --- a/core/jx3_service.py +++ b/core/jx3_service.py @@ -372,79 +372,26 @@ class JX3Service: return_data = self._init_return_data() # 1. 查询魔盒获取外观名称 (jx3box_exterior) - params_search = {"keyword": Name} - search_data: Optional[Dict[str, Any]] = await self._base_request("jx3box_exterior", "GET", params=params_search) - - showName = "" - searchId = None - + + # 获取配置中的 Token + token = self._config.get("jx3api_token", "") + if token == "": + return_data["msg"] = "系统未配置API访问Token" + return return_data + # 2. 确定外观名称和 ID - - # 从 DB 查找名称和 ID - logger.info("尝试从数据库查询外观信息") - try: - sql = "SELECT showName, searchId FROM searchdata WHERE name LIKE ? OR showName LIKE ?" - sqldata = await self._db.fetch_one(sql, (f"%{Name}%", f"%{Name}%")) - if sqldata: - showName = sqldata["showName"] - searchId = sqldata["searchId"] - else: - raise ValueError("DB did not find data.") - except Exception as e: - logger.error(f"获取外观信息错误: {e}") - return_data["msg"] = "数据库未找到该外观信息,尝试从魔盒查询" - logger.info("尝试从魔盒查询外观信息") - params_search = {"keyword": Name} - search_data: Optional[Dict[str, Any]] = await self._base_request("jx3box_exterior", "GET", params=params_search) - # 从 API 获取名称 - showName = search_data["list"][0].get("name", "") - # 进一步从 DB 查找 ID - try: - sql = "SELECT searchId FROM searchdata WHERE showName=?" - sqldata = await self._db.fetch_one(sql, (showName,)) - searchId = sqldata["searchId"] if sqldata else None - except Exception as e: - logger.warning(f"从 DB 获取外观ID错误: {e}") # 警告而非错误,因为可能数据库同步失败 - if not showName or not searchId: - return_data["msg"] = "无法确定外观名称或ID" + params_search = {"name": Name,"token": token} + search_data: Optional[Dict[str, Any]] = await self._base_request("jx3_wujia", "GET", params=params_search) + + if not search_data: + return_data["msg"] = "未找到改外观" return return_data - - return_data["data"]["showName"] = showName - return_data["data"]["searchId"] = searchId - - # 3. 获取外观详细数据 (aijx3_GoodsDetail) - params_detail = {"goodsName": showName} - detail_data: Optional[Dict[str, Any]] = await self._base_request("aijx3_GoodsDetail", "POST", params=params_detail) - if not detail_data: - return_data["msg"] = "获取外观详细数据失败" - return return_data - - # 提取外观详细数据 - try: - imgs = detail_data.get("imgs", []) - return_data["data"].update({ - "goodsDesc": detail_data.get("goodsDesc", "无描述"), - "publishTime": detail_data.get("publishTime", "无价格"), - "priceNum": detail_data.get("priceNum", 0), - "goodsId": detail_data.get("goodsId", "无数据"), - "imgs": imgs[0] if imgs and isinstance(imgs, list) else "", - "goodsAlias": detail_data.get("goodsAlias", "无别名"), - }) - except Exception as e: - logger.error(f"提取外观详细数据失败: {e}") - return_data["msg"] = "提取外观详细数据失败" - return return_data + showName = search_data.get("name", "") + logger.info(showName) - # 4. 查询万宝楼数据(公示和在售) - wbl_data = await self._get_wbl_data(showName) - if wbl_data: - return_data["data"]["wblgs"] = wbl_data["wblgs"] - return_data["data"]["wblzs"] = wbl_data["wblzs"] - return_data["msg"] = "获取万宝楼数据完成" - else: - logger.warning("万宝楼数据获取失败") + return_data["data"] = search_data # 5. 加载模板 try: diff --git a/data/api_config.json b/data/api_config.json index a964f34..16abd63 100644 --- a/data/api_config.json +++ b/data/api_config.json @@ -206,5 +206,15 @@ "limit": "10", "token":"" } + }, + "jx3_wujia":{ + "url":"https://www.jx3api.com/data/trade/records", + "method":"GET", + "description":"此接口用于统计指定物品的黑市价格信息,包括成交、出售、收购等详细记录。", + "params":{ + "server": "梦江南", + "name": "秃盒", + "token":"" + } } } \ No newline at end of file diff --git a/templates/temp_test.html b/templates/temp_test.html index 19c55c1..e03726c 100644 --- a/templates/temp_test.html +++ b/templates/temp_test.html @@ -2,98 +2,313 @@ -王者荣耀 — 仇人列表 +{{ name }} - 万宝楼行情 +
-

王者荣耀 — 仇人列表

- - - - - - - - - - - - +

{{ name }} ({{ alias }})

- - {% for m in lists %} - - - - - - - - - - {% endfor %} - -
ID名称英雄分路记录者时间描述
{{ m.id }}{{ m.name }}{{ m.hero }}{{ m.fenglu }}{{ m.user }}{{ m.time }}{{ m.text }}
+ {{ name }} + +

{{ desc }}

+ +
+ 发布时间:{{ date }} + 参考价格:{{ cost }} 元 +
+ +
+ + +
+
万宝楼公示
+ + + + + + + + + + + {% for item in list[3] %} + + + + + + + {% endfor %} + +
时间服务器价格状态
{{ item.date }}{{ item.server }}{{ item.value }} 公示
+
+ + +
+
万宝楼在售
+ + + + + + + + + + + {% for item in list[4] %} + + + + + + + {% endfor %} + +
时间服务器价格状态
{{ item.date }}{{ item.server }}{{ item.value }} 在售
+
+ + +
+
查询区服
+ + + + + + + + + + + {% for item in list[5] %} + + + + + + + {% endfor %} + +
时间服务器价格状态
{{ item.date }}{{ item.server }}{{ item.value }} + {% if item.source == 1 %}出售 + {% elif item.source == 2 %}收购 + {% elif item.source == 3 %}想出 + {% elif item.source == 4 %}想收 + {% elif item.source == 5 %}成交 + {% elif item.source == 6 %}正出 + {% else %}未知 + {% endif %} +
+
+ + +
+
电信区
+ + + + + + + + + + + {% for item in list[0] %} + + + + + + + {% endfor %} + +
时间服务器价格状态
{{ item.date }}{{ item.server }}{{ item.value }} + {% if item.source == 1 %}出售 + {% elif item.source == 2 %}收购 + {% elif item.source == 3 %}想出 + {% elif item.source == 4 %}想收 + {% elif item.source == 5 %}成交 + {% elif item.source == 6 %}正出 + {% else %}未知 + {% endif %} +
+
+ + +
+
双线区
+ + + + + + + + + + + {% for item in list[1] %} + + + + + + + {% endfor %} + +
时间服务器价格状态
{{ item.date }}{{ item.server }}{{ item.value }} + {% if item.source == 1 %}出售 + {% elif item.source == 2 %}收购 + {% elif item.source == 3 %}想出 + {% elif item.source == 4 %}想收 + {% elif item.source == 5 %}成交 + {% elif item.source == 6 %}正出 + {% else %}未知 + {% endif %} +
+
+ + +
+
无界区
+ + + + + + + + + + + {% for item in list[2] %} + + + + + + + {% endfor %} + +
时间服务器价格状态
{{ item.date }}{{ item.server }}{{ item.value }} + {% if item.source == 1 %}出售 + {% elif item.source == 2 %}收购 + {% elif item.source == 3 %}想出 + {% elif item.source == 4 %}想收 + {% elif item.source == 5 %}成交 + {% elif item.source == 6 %}正出 + {% else %}未知 + {% endif %} +
+
+ +
diff --git a/templates/wujia.html b/templates/wujia.html index 07f7689..e03726c 100644 --- a/templates/wujia.html +++ b/templates/wujia.html @@ -1,65 +1,316 @@ -
+ + + + +{{ name }} - 万宝楼行情 - -

{{ showName }} ({{ goodsAlias }})

- {{ showName }} -

{{ goodsDesc }}

-

发布时间: {{ publishTime.split('T')[0] if publishTime else '未知' }}

-

参考价格: {{ priceNum }} 元

+ + + + + +
+ +

{{ name }} ({{ alias }})

+ + {{ name }} + +

{{ desc }}

+ +
+ 发布时间:{{ date }} + 参考价格:{{ cost }} 元 +
+ +
+ + +
+
万宝楼公示
+ + + + + + + + + + + {% for item in list[3] %} + + + + + + + {% endfor %} + +
时间服务器价格状态
{{ item.date }}{{ item.server }}{{ item.value }} 公示
- -
-
万宝楼在售
-
- - - - - - - - - - {% for item in wblzs %} - - - - - - {% endfor %} - -
剩余时间服务器价格
{{ item.replyTime }}{{ item.belongQf2 }}{{ item.priceNum }}元
-
+ +
+
万宝楼在售
+ + + + + + + + + + + {% for item in list[4] %} + + + + + + + {% endfor %} + +
时间服务器价格状态
{{ item.date }}{{ item.server }}{{ item.value }} 在售
+
+ + +
+
查询区服
+ + + + + + + + + + + {% for item in list[5] %} + + + + + + + {% endfor %} + +
时间服务器价格状态
{{ item.date }}{{ item.server }}{{ item.value }} + {% if item.source == 1 %}出售 + {% elif item.source == 2 %}收购 + {% elif item.source == 3 %}想出 + {% elif item.source == 4 %}想收 + {% elif item.source == 5 %}成交 + {% elif item.source == 6 %}正出 + {% else %}未知 + {% endif %} +
+
+ + +
+
电信区
+ + + + + + + + + + + {% for item in list[0] %} + + + + + + + {% endfor %} + +
时间服务器价格状态
{{ item.date }}{{ item.server }}{{ item.value }} + {% if item.source == 1 %}出售 + {% elif item.source == 2 %}收购 + {% elif item.source == 3 %}想出 + {% elif item.source == 4 %}想收 + {% elif item.source == 5 %}成交 + {% elif item.source == 6 %}正出 + {% else %}未知 + {% endif %} +
+
+ + +
+
双线区
+ + + + + + + + + + + {% for item in list[1] %} + + + + + + + {% endfor %} + +
时间服务器价格状态
{{ item.date }}{{ item.server }}{{ item.value }} + {% if item.source == 1 %}出售 + {% elif item.source == 2 %}收购 + {% elif item.source == 3 %}想出 + {% elif item.source == 4 %}想收 + {% elif item.source == 5 %}成交 + {% elif item.source == 6 %}正出 + {% else %}未知 + {% endif %} +
+
+ + +
+
无界区
+ + + + + + + + + + + {% for item in list[2] %} + + + + + + + {% endfor %} + +
时间服务器价格状态
{{ item.date }}{{ item.server }}{{ item.value }} + {% if item.source == 1 %}出售 + {% elif item.source == 2 %}收购 + {% elif item.source == 3 %}想出 + {% elif item.source == 4 %}想收 + {% elif item.source == 5 %}成交 + {% elif item.source == 6 %}正出 + {% else %}未知 + {% endif %} +
- +
+ + +