From 5e669f0afd53b0b55566c1965010acf09868f292 Mon Sep 17 00:00:00 2001 From: UCPr <2032385471@qq.com> Date: Fri, 15 Aug 2025 14:01:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=E5=9B=BE=E8=87=AA=E5=8A=A8=E8=AF=86=E5=88=AB=E7=AE=80=E7=A7=B0?= =?UTF-8?q?=E3=80=81=E5=85=A8=E7=A7=B0=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- model/avatar.js | 15 +++++++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index ff884d2..46d0e64 100644 --- a/README.md +++ b/README.md @@ -58,9 +58,9 @@ git clone --depth=1 https://gitee.com/bietiaop/ZZZ-Plugin.git ./plugins/ZZZ-Plug ## 自定义面板图 -将你下载的面板图放在`zzz插件目录/resources/images/panel/[角色名简称]/`文件夹下。若文件夹不存在请自行创建。 +将你下载的面板图放在`zzz插件目录/resources/images/panel/[角色名称]/`文件夹下。若文件夹不存在请自行创建。 -**角色名简称**请参考官方wiki中代理人名称:[米游社·绝区零 绳网情报站](https://baike.mihoyo.com/zzz/wiki/channel/map/2/43) +**角色名称**可以是[米游社绳网情报站](https://baike.mihoyo.com/zzz/wiki/channel/map/2/43)中显示的代理人`简称`或`全称`,也可以是[插件数据PartnerId2Data](resources\map\PartnerId2Data.json)中的`name`或`full_name`。四个路径依序检测,取第一个存在的路径中的面板图 若要查看或者批量删除自定义面板图,请发送指令 `%帮助` 进行查看如何使用相关指令。 diff --git a/model/avatar.js b/model/avatar.js index 83da4ba..9e39d04 100644 --- a/model/avatar.js +++ b/model/avatar.js @@ -1,4 +1,4 @@ -import { element } from '../lib/convert.js'; +import { char, element } from '../lib/convert.js'; import { getRoleImage, getSmallSquareAvatar, @@ -507,12 +507,15 @@ export class ZZZAvatarInfo { * @returns {Promise} */ async get_detail_assets() { - const custom_panel_images = path.join( - imageResourcesPath, - `panel/${this.name_mi18n}` - ); + const paths = Array.from(new Set([ + this.name_mi18n, + this.full_name_mi18n, + char.IDToCharName(this.id, false), + char.IDToCharName(this.id, true) + ].filter(Boolean))).map(p => path.join(imageResourcesPath, 'panel', p)); let role_icon = ''; - if (fs.existsSync(custom_panel_images)) { + const custom_panel_images = paths.find(p => fs.existsSync(p)); + if (custom_panel_images) { const panel_images = fs .readdirSync(custom_panel_images) .map(file => path.join(custom_panel_images, file));