diff --git a/core/jx3_service.py b/core/jx3_service.py index bcb07bc..689706c 100644 --- a/core/jx3_service.py +++ b/core/jx3_service.py @@ -666,4 +666,54 @@ class JX3Service: return_data["data"]["list"] = data["data"] return_data["code"] = 200 - return return_data \ No newline at end of file + return return_data + + + async def zhanji(self, name: str, server:str, mode: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, "mode":mode, "token": token} + + # 2. 调用基础请求 + data: Optional[Dict[str, Any]] = await self._base_request( + "jx3_zhanji", "GET", params=params + ) + + if not data: + return_data["msg"] = "查询角色战绩失败" + return return_data + logger.info("战绩获取完成") + + # 角色名片获取 + datamp = await self.jueshemingpian(server,name) + if datamp["code"] == 200: + data["showAvatar"] = datamp['data']['showAvatar'] + logger.info("名片获取完成") + else: + data["showAvatar"] = "" + logger.info("名片获取失败") + + # 3. 处理返回数据 (直接提取图片 URL) + + + # 4. 加载模板 + try: + return_data["temp"] = load_template("zhanji.html") + except FileNotFoundError as e: + logger.error(f"加载模板失败: {e}") + return_data["msg"] = "系统错误:模板文件不存在" + return return_data + + + return_data["data"] = data + return_data["code"] = 200 + + return return_data diff --git a/data/api_config.json b/data/api_config.json index 16abd63..a258fc1 100644 --- a/data/api_config.json +++ b/data/api_config.json @@ -216,5 +216,17 @@ "name": "秃盒", "token":"" } + }, + "jx3_zhanji":{ + "url":"https://www.jx3api.com/data/arena/recent", + "method":"GET", + "description":"此接口用于查询角色近期的名剑战绩记录,包括角色基本信息、战绩详情以及比赛趋势。", + "params":{ + "server": "梦江南", + "name": "飞翔大野猪", + "mode": "33", + "ticket": "a7fd656a52d747d7830cfa6d686e6030:qsc20001102:kingsoft::sVpKi7nFKzFlbTwtBMTg2w==", + "token":"" + } } } \ No newline at end of file diff --git a/main.py b/main.py index 9b94831..2cd67ea 100644 --- a/main.py +++ b/main.py @@ -372,6 +372,22 @@ class Jx3ApiPlugin(Star): yield event.plain_result("猪脑过载,请稍后再试") + @jx3.command("战绩") + async def jx3_zhanji(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = None, mode:str = "33"): + """剑三 战绩 角色 服务器 类型""" + try: + data= await self.jx3fun.zhanji(name,await self.serverdefault(server),mode) + 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/temp_test.html b/templates/temp_test.html index 4c4a416..efcf5d6 100644 --- a/templates/temp_test.html +++ b/templates/temp_test.html @@ -1,30 +1,249 @@ -
服务器: {{ server }}
+ + + + +