From 3d327d687d198ce93235282474731eea4b672079 Mon Sep 17 00:00:00 2001 From: Kokomi <102026640+yoimiya-kokomi@users.noreply.github.com> Date: Fri, 10 Mar 2023 04:34:25 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E5=90=88Miao-Yunzai=EF=BC=8C=E5=AF=B9?= =?UTF-8?q?=E4=B8=80=E4=BA=9Bcomponents=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 73 ++++++++++------------ components/Data.js | 2 + components/Version.js | 102 ++++++++++++++++--------------- components/common/Render.js | 9 ++- resources/help/version-info.html | 4 +- 5 files changed, 97 insertions(+), 93 deletions(-) diff --git a/README.md b/README.md index f1d730a2..1d518e2e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Miao-Plugin 说明 -Miao-Plugin 是一个 Yunzai-Bot 的升级插件,提供包括角色查询等升级功能。 +`miao-plugin`是一个`Yunzai-Bot`的升级插件,提供包括角色面板、角色查询等角色相关功能。 具体功能可在安装插件后 通过 `#喵喵帮助` 进行查看。如需进行设置则可通过 `#喵喵设置` 命令进行管理。 @@ -8,9 +8,11 @@ Miao-Plugin 是一个 Yunzai-Bot 的升级插件,提供包括角色查询等 ## 安装与更新 +### 使用Git安装(推荐) + 请将 miao-plugin 放置在 Yunzai-Bot 的 plugins 目录下,重启 Yunzai-Bot 后即可使用。 -推荐使用 git 进行安装,以方便后续升级。在 Yunzai-Bot 根目录夹打开终端,运行下述指令之一 +请使用 git 进行安装,以方便后续升级。在 Yunzai-Bot 根目录夹打开终端,运行下述指令之一 ``` // 使用gitee @@ -24,38 +26,22 @@ pnpm install -P 进行安装。安装完毕后,管理员只需发送 `#喵喵更新` 即可自动更新 miao-plugin。 -如果是手工下载的 zip 压缩包,请将解压后的 miao-plugin 文件夹(请删除压缩自带的-master后缀)放置在 Yunzai-Bot 目录下的 plugins 文件夹内。 +### 手工下载安装(不推荐) + +手工下载安装包,解压后将`miao-plugin-master`更名为`miao-plugin`,然后放置在Yunzai的plugins目录内 + +虽然此方式能够使用,但无法使用`#喵喵更新`进行更新,不利于后续升级,故不推荐使用 --- ## Yunzai版本与支持 -### V3-Yunzai +`miao-plugin` 支持V3 / V2 版本的Yunzai-Bot -目前 V3-Yunzai 已基本重构完毕,具体可参见 [Yunzai-V3](https://github.com/Le-niao/Yunzai-Bot) ,miao-plugin 已经支持V3版本 Yunzai,可直接使用。 - -推荐直接使用 V3-Yunzai 搭配 miao-plugin 使用。(不能做V2钉子户——喵佬) - -[issue#13](https://github.com/yoimiya-kokomi/miao-plugin/issues/74) : 如启动时报 Cannot find package 'image-size' -的错误,直接在yunzai根目录下`pnpm install -P` 或使用cnpm、npm等包管理工具安装image-size库即可 - -### V2-Yunzai - -miao-plugin仍支持使用V2版Yunzai安装miao-plugin。 由于官方Yunzai已经停止更新,可使用喵喵版V2-Yunzai - -在Yunzai根目录夹打开终端,运行 - -``` -// 使用gitee -git remote set-url origin https://gitee.com/yoimiya-kokomi/Yunzai-Bot - -// 使用github -git remote set-url origin https://github.com/yoimiya-kokomi/Yunzai-Bot -``` - -即可切换Yunzai远程仓库地址,运行git pull拉取更新即可使用喵喵版V2-Yunzai(版本>2.2.0) - -V2-Yunzai在较长一段时间内会维持更新,进行一些Bugfix及更新卡池等信息 +* [Miao-Yunzai](https://github.com/yoimiya-kokomi/Miao-Yunzai) : 喵版Yunzai [Gitee](https://gitee.com/yoimiya-kokomi/Miao-Yunzai) + / [Github](https://github.com/yoimiya-kokomi/Miao-Yunzai) ,本体不含签到功能,功能迭代较多,与miao-plugin打通,只建议新部署/迁移 +* [Yunzai-V3](https://github.com/yoimiya-kokomi/Yunzai-Bot) :Yunzai V3 - 喵喵维护版,icqq版本,与原版Yunza功能基本一致,会保持卡池更新,功能相对稳定,可从原版Yunzai换源直接升级 +* [Yunzai-V3](https://gitee.com/Le-niao/Yunzai-Bot) :Yunzai V3 - 乐神原版,oicq版本,可能会遇到登录问题 --- @@ -70,9 +56,9 @@ V2-Yunzai在较长一段时间内会维持更新,进行一些Bugfix及更新 `#更新面板` 依赖于面板查询API,面板服务由 http://enka.network/ 提供。 > 查询功能经Enka官方授权([issue#63](https://github.com/yoimiya-kokomi/miao-plugin/issues/63#issuecomment-1199348789)),感谢Enka提供的面板查询服务 -> +> > 如果可以的话,也请在Patreon上支持Enka,或提供闲置的原神账户,具体可在[Enka官网](http://enka.network/) Discord联系 -> +> > [issue#63](https://github.com/yoimiya-kokomi/miao-plugin/issues/63#issuecomment-1199734496) > 可尝试使用`MiniGG-Api`面板服务 [@MiniGrayGay](https://github.com/MiniGrayGay)
@@ -96,22 +82,25 @@ V2-Yunzai在较长一段时间内会维持更新,进行一些Bugfix及更新 # 免责声明 -1. 功能仅限内部交流与小范围使用,请勿将Yunzai-Bot及Miao-Plugin用于以盈利为目的的场景 -2. 图片与其他素材均来自于网络,仅供交流学习使用,如有侵权请联系,会立即删除 +1. `miao-plugin`自身的UI与代码均开放,无需征得特殊同意,可任意使用。能备注来源最好,但不强求 +2. 以上声明但仅代表`miao-plugin`自身的范畴,请尊重Yunzai本体及其他插件作者的努力,勿将Yunzai及其他插件用于以盈利为目的的场景 +3. miao-plugin的图片与其他素材均来自于网络,仅供交流学习使用,如有侵权请联系,会立即删除 -# 其他 +# 资源 -* [官方Yunzai-Bot-V3](https://github.com/Le-niao/Yunzai-Bot) : [Gitee](https://gitee.com/Le-niao/Yunzai-Bot) - / [Github](https://github.com/Le-niao/Yunzai-Bot) -* [喵喵Yunzai-Bot-V2](https://github.com/Le-niao/Yunzai-Bot) : [Gitee](https://gitee.com/yoimiya-kokomi/Yunzai-Bot) - / [Github](https://github.com/yoimiya-kokomi/Yunzai-Bot) -* [喵喵插件 Miao-Plugin](https://github.com/yoimiya-kokomi/miao-plugin) : [Gitee](https://gitee.com/yoimiya-kokomi/miao-plugin) +* [Miao-Yunzai](https://github.com/yoimiya-kokomi/Miao-Yunzai) : 喵版Yunzai [Gitee](https://gitee.com/yoimiya-kokomi/Miao-Yunzai) + / [Github](https://github.com/yoimiya-kokomi/Miao-Yunzai) +* [Yunzai-V3](https://github.com/yoimiya-kokomi/Yunzai-Bot) :Yunzai V3 - 喵喵维护版(使用 icqq) +* [Yunzai-V3](https://gitee.com/Le-niao/Yunzai-Bot) :Yunzai V3 - 乐神原版(使用 oicq) +* [miao-plugin](https://github.com/yoimiya-kokomi/miao-plugin) : 喵喵插件 [Gitee](https://gitee.com/yoimiya-kokomi/miao-plugin) / [Github](https://github.com/yoimiya-kokomi/miao-plugin) -* [Enka](https://enka.network/): 感谢Enka提供的面板服务 -* [Snap.Genshin](https://www.snapgenshin.com/home/) : 感谢 DGP Studio - 开发的 [胡桃API](https://github.com/DGP-Studio/Snap.HutaoAPI) + +# 其他&感谢 + +* [Enka.Network](https://enka.network/): 感谢Enka提供的面板服务 +* [Snap.Genshin](https://www.snapgenshin.com/home/) : 感谢 DGP Studio 开发的 [胡桃API](https://github.com/DGP-Studio/Snap.HutaoAPI) * QQ群(暂时停止新加入,请见谅) * Yunzai-Bot 官方QQ群:213938015 * 喵喵Miao-Plugin QQ群:607710456 -* [爱发电](https://afdian.net/@kokomi) 欢迎老板打赏,喵~ +* [爱发电](https://afdian.net/@kokomi) :欢迎老板打赏,喵~ diff --git a/components/Data.js b/components/Data.js index 67387a15..17194119 100644 --- a/components/Data.js +++ b/components/Data.js @@ -17,6 +17,8 @@ const getRoot = (root = '') => { let Data = { + getRoot, + /* * 根据指定的path依次检查与创建目录 * */ diff --git a/components/Version.js b/components/Version.js index a2b25186..ea395dd5 100644 --- a/components/Version.js +++ b/components/Version.js @@ -1,13 +1,6 @@ import fs from 'fs' import lodash from 'lodash' - -const _path = process.cwd() -const _logPath = `${_path}/plugins/miao-plugin/CHANGELOG.md` - -let logs = {} -let changelogs = [] -let currentVersion -let versionCount = 4 +import { Data } from '#miao' let packageJson = JSON.parse(fs.readFileSync('package.json', 'utf8')) @@ -21,55 +14,67 @@ const getLine = function (line) { return line } -try { - if (fs.existsSync(_logPath)) { - logs = fs.readFileSync(_logPath, 'utf8') || '' - logs = logs.split('\n') +const readLogFile = function (root, versionCount = 4) { + root = Data.getRoot(root) + let logPath = `${root}/CHANGELOG.md` + let logs = {} + let changelogs = [] + let currentVersion - let temp = {} - let lastLine = {} - lodash.forEach(logs, (line) => { - if (versionCount <= -1) { - return false - } - let versionRet = /^#\s*([0-9a-zA-Z\\.~\s]+?)\s*$/.exec(line) - if (versionRet && versionRet[1]) { - let v = versionRet[1].trim() - if (!currentVersion) { - currentVersion = v - } else { - changelogs.push(temp) - if (/0\s*$/.test(v) && versionCount > 0) { - versionCount = 0 + try { + if (fs.existsSync(logPath)) { + logs = fs.readFileSync(logPath, 'utf8') || '' + logs = logs.split('\n') + + let temp = {} + let lastLine = {} + lodash.forEach(logs, (line) => { + if (versionCount <= -1) { + return false + } + let versionRet = /^#\s*([0-9a-zA-Z\\.~\s]+?)\s*$/.exec(line) + if (versionRet && versionRet[1]) { + let v = versionRet[1].trim() + if (!currentVersion) { + currentVersion = v } else { - versionCount-- + changelogs.push(temp) + if (/0\s*$/.test(v) && versionCount > 0) { + versionCount = 0 + } else { + versionCount-- + } } - } - temp = { - version: v, - logs: [] - } - } else { - if (!line.trim()) { - return - } - if (/^\*/.test(line)) { - lastLine = { - title: getLine(line), + temp = { + version: v, logs: [] } - temp.logs.push(lastLine) - } else if (/^\s{2,}\*/.test(line)) { - lastLine.logs.push(getLine(line)) + } else { + if (!line.trim()) { + return + } + if (/^\*/.test(line)) { + lastLine = { + title: getLine(line), + logs: [] + } + temp.logs.push(lastLine) + } else if (/^\s{2,}\*/.test(line)) { + lastLine.logs.push(getLine(line)) + } } - } - }) + }) + } + } catch (e) { + // do nth } -} catch (e) { - // do nth + return { changelogs, currentVersion } } +const { changelogs, currentVersion } = readLogFile('miao') + + const yunzaiVersion = packageJson.version const isV3 = yunzaiVersion[0] === '3' const isMiao = packageJson.name === 'miao-yunzai' @@ -88,7 +93,8 @@ let Version = { }, runtime () { console.log(`未能找到e.runtime,请升级至最新版${isV3 ? 'V3' : 'V2'}-Yunzai以使用miao-plugin`) - } + }, + readLogFile } export default Version diff --git a/components/common/Render.js b/components/common/Render.js index b3fb330e..82f8085a 100644 --- a/components/common/Render.js +++ b/components/common/Render.js @@ -10,6 +10,13 @@ const Render = { return e.runtime.render('miao-plugin', path, params, { retType: cfg.retMsgId ? 'msgId' : 'default', beforeRender ({ data }) { + let pluginName = '' + if (data.pluginName !== false) { + pluginName = ` & ${data.pluginName || 'Miao-Plugin'}` + if (data.pluginVersion !== false) { + pluginName += `${data.pluginVersion || Version.version}` + } + } let resPath = data.pluResPath const layoutPath = process.cwd() + '/plugins/miao-plugin/resources/common/layout/' return { @@ -23,7 +30,7 @@ const Render = { sys: { scale: Cfg.scale(cfg.scale || 1) }, - copyright: `Created By ${BotName}${Version.yunzai} & Miao-Plugin${Version.version}`, + copyright: `Created By ${BotName}${Version.yunzai}${pluginName}`, pageGotoParams: { waitUntil: 'networkidle2' } diff --git a/resources/help/version-info.html b/resources/help/version-info.html index ea4be30f..0ea7bf41 100644 --- a/resources/help/version-info.html +++ b/resources/help/version-info.html @@ -16,14 +16,14 @@
【Dev测试分支,开发中】
{{else}} {{/if}} {{else}} -
喵喵版本 {{v}}
+
{{name || '喵喵'}}版本 {{v}}
{{/if}}