From 02982f7a62ffdf7549b21a76003718ea19f69099 Mon Sep 17 00:00:00 2001 From: qsc20001102 Date: Wed, 24 Dec 2025 13:07:14 +0800 Subject: [PATCH] 111 --- core/jx3_service.py | 40 ++++++++++++ data/api_config.json | 11 ++++ main.py | 16 +++++ templates/zhengyingpaimai.html | 114 +++++++++++++++++++++++++++++++++ 4 files changed, 181 insertions(+) create mode 100644 templates/zhengyingpaimai.html diff --git a/core/jx3_service.py b/core/jx3_service.py index 55789fd..841c379 100644 --- a/core/jx3_service.py +++ b/core/jx3_service.py @@ -813,3 +813,43 @@ class JX3Service: return_data["code"] = 200 return return_data + + + async def zhengyingpaimai(self, server: str, name: str) -> Dict[str, Any]: + """阵营拍卖""" + return_data = self._init_return_data() + + # 获取配置中的 Token + token = self._config.get("jx3api_token", "") + if token == "": + return_data["msg"] = "系统未配置API访问Token" + return return_data + + # 1. 构造请求参数 + params = {"server": server, "name": name, "token": token} + + # 2. 调用基础请求 + data: Optional[Dict[str, Any]] = await self._base_request( + "jx3_zhengyingpaimai", "GET", params=params + ) + + if not data: + return_data["msg"] = "获取接口信息失败" + return return_data + + # 3. 处理返回数据 + for item in data: + item["time"] = datetime.fromtimestamp(item["time"]).strftime("%Y-%m-%d %H:%M:%S") + + # 4. 加载模板 + try: + return_data["temp"] = load_template("zhengyingpaimai.html") + except FileNotFoundError as e: + logger.error(f"加载模板失败: {e}") + return_data["msg"] = "系统错误:模板文件不存在" + return return_data + + return_data["data"]["list"] = data + return_data["code"] = 200 + + return return_data \ No newline at end of file diff --git a/data/api_config.json b/data/api_config.json index ce47beb..c50e65b 100644 --- a/data/api_config.json +++ b/data/api_config.json @@ -254,5 +254,16 @@ "params":{ "limit": 1 } + }, + "jx3_zhengyingpaimai":{ + "url":"https://www.jx3api.com/data/auction/records", + "method":"GET", + "description":"此接口用于查询阵营拍卖的记录,包括拍卖的物品名称、金额以及相关信息。支持通过区服名称和物品名称进行精确或模糊查询。", + "params":{ + "server": "梦江南", + "name": "玄晶", + "limit": 20, + "token": "" + } } } \ No newline at end of file diff --git a/main.py b/main.py index 2f6f71d..dfc3375 100644 --- a/main.py +++ b/main.py @@ -426,6 +426,22 @@ class Jx3ApiPlugin(Star): yield event.plain_result("猪脑过载,请稍后再试") + @jx3.command("阵营拍卖") + async def jx3_zhengyingpaimai(self, event: AstrMessageEvent,name: str = "玄晶", server: str = None): + """剑三 阵营拍卖 物品名称 服务器""" + try: + data= await self.jx3fun.zhengyingpaimai(await self.serverdefault(server), name) + if data["code"] == 200: + url = await self.html_render(data["temp"], data["data"], options={}) + yield event.image_result(url) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + async def terminate(self): """可选择实现异步的插件销毁方法,当插件被卸载/停用时会调用。""" # 关闭数据库连接 diff --git a/templates/zhengyingpaimai.html b/templates/zhengyingpaimai.html new file mode 100644 index 0000000..ec9b9e3 --- /dev/null +++ b/templates/zhengyingpaimai.html @@ -0,0 +1,114 @@ + + + + +阵营拍卖 + + + + + +
+

阵营拍卖

+ + + + + + + + + + + + + + + {% for m in list %} + + + + + + + + + {% endfor %} + +
服务器物品名称拍得者所属阵营拍卖价格拍卖时间
{{ m.server }}{{ m.name }}{{ m.role_name }}{{ m.camp_name }}{{ m.amount }}{{ m.time }}
+ +
+ + +