配合Miao-Yunzai,对一些components微调

This commit is contained in:
Kokomi 2023-03-10 04:34:25 +08:00
parent 3749002d1e
commit 3d327d687d
5 changed files with 97 additions and 93 deletions

View File

@ -1,6 +1,6 @@
# Miao-Plugin 说明 # 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 后即可使用。 请将 miao-plugin 放置在 Yunzai-Bot 的 plugins 目录下,重启 Yunzai-Bot 后即可使用。
推荐使用 git 进行安装,以方便后续升级。在 Yunzai-Bot 根目录夹打开终端,运行下述指令之一 使用 git 进行安装,以方便后续升级。在 Yunzai-Bot 根目录夹打开终端,运行下述指令之一
``` ```
// 使用gitee // 使用gitee
@ -24,38 +26,22 @@ pnpm install -P
进行安装。安装完毕后,管理员只需发送 `#喵喵更新` 即可自动更新 miao-plugin。 进行安装。安装完毕后,管理员只需发送 `#喵喵更新` 即可自动更新 miao-plugin。
如果是手工下载的 zip 压缩包,请将解压后的 miao-plugin 文件夹(请删除压缩自带的-master后缀放置在 Yunzai-Bot 目录下的 plugins 文件夹内。 ### 手工下载安装(不推荐)
手工下载安装包,解压后将`miao-plugin-master`更名为`miao-plugin`然后放置在Yunzai的plugins目录内
虽然此方式能够使用,但无法使用`#喵喵更新`进行更新,不利于后续升级,故不推荐使用
--- ---
## Yunzai版本与支持 ## Yunzai版本与支持
### V3-Yunzai `miao-plugin` 支持V3 / V2 版本的Yunzai-Bot
目前 V3-Yunzai 已基本重构完毕,具体可参见 [Yunzai-V3](https://github.com/Le-niao/Yunzai-Bot) miao-plugin 已经支持V3版本 Yunzai可直接使用。 * [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打通只建议新部署/迁移
推荐直接使用 V3-Yunzai 搭配 miao-plugin 使用。不能做V2钉子户——喵佬 * [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版本可能会遇到登录问题
[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及更新卡池等信息
--- ---
@ -96,22 +82,25 @@ V2-Yunzai在较长一段时间内会维持更新进行一些Bugfix及更新
# 免责声明 # 免责声明
1. 功能仅限内部交流与小范围使用请勿将Yunzai-Bot及Miao-Plugin用于以盈利为目的的场景 1. `miao-plugin`自身的UI与代码均开放无需征得特殊同意可任意使用。能备注来源最好但不强求
2. 图片与其他素材均来自于网络,仅供交流学习使用,如有侵权请联系,会立即删除 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) * [Miao-Yunzai](https://github.com/yoimiya-kokomi/Miao-Yunzai) : 喵版Yunzai [Gitee](https://gitee.com/yoimiya-kokomi/Miao-Yunzai)
/ [Github](https://github.com/Le-niao/Yunzai-Bot) / [Github](https://github.com/yoimiya-kokomi/Miao-Yunzai)
* [喵喵Yunzai-Bot-V2](https://github.com/Le-niao/Yunzai-Bot) : [Gitee](https://gitee.com/yoimiya-kokomi/Yunzai-Bot) * [Yunzai-V3](https://github.com/yoimiya-kokomi/Yunzai-Bot) Yunzai V3 - 喵喵维护版(使用 icqq
/ [Github](https://github.com/yoimiya-kokomi/Yunzai-Bot) * [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) * [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) / [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群暂时停止新加入请见谅 * QQ群暂时停止新加入请见谅
* Yunzai-Bot 官方QQ群213938015 * Yunzai-Bot 官方QQ群213938015
* 喵喵Miao-Plugin QQ群607710456 * 喵喵Miao-Plugin QQ群607710456
* [爱发电](https://afdian.net/@kokomi) 欢迎老板打赏,喵~ * [爱发电](https://afdian.net/@kokomi) :欢迎老板打赏,喵~

View File

@ -17,6 +17,8 @@ const getRoot = (root = '') => {
let Data = { let Data = {
getRoot,
/* /*
* 根据指定的path依次检查与创建目录 * 根据指定的path依次检查与创建目录
* */ * */

View File

@ -1,13 +1,6 @@
import fs from 'fs' import fs from 'fs'
import lodash from 'lodash' import lodash from 'lodash'
import { Data } from '#miao'
const _path = process.cwd()
const _logPath = `${_path}/plugins/miao-plugin/CHANGELOG.md`
let logs = {}
let changelogs = []
let currentVersion
let versionCount = 4
let packageJson = JSON.parse(fs.readFileSync('package.json', 'utf8')) let packageJson = JSON.parse(fs.readFileSync('package.json', 'utf8'))
@ -21,55 +14,67 @@ const getLine = function (line) {
return line return line
} }
try { const readLogFile = function (root, versionCount = 4) {
if (fs.existsSync(_logPath)) { root = Data.getRoot(root)
logs = fs.readFileSync(_logPath, 'utf8') || '' let logPath = `${root}/CHANGELOG.md`
logs = logs.split('\n') let logs = {}
let changelogs = []
let currentVersion
let temp = {} try {
let lastLine = {} if (fs.existsSync(logPath)) {
lodash.forEach(logs, (line) => { logs = fs.readFileSync(logPath, 'utf8') || ''
if (versionCount <= -1) { logs = logs.split('\n')
return false
} let temp = {}
let versionRet = /^#\s*([0-9a-zA-Z\\.~\s]+?)\s*$/.exec(line) let lastLine = {}
if (versionRet && versionRet[1]) { lodash.forEach(logs, (line) => {
let v = versionRet[1].trim() if (versionCount <= -1) {
if (!currentVersion) { return false
currentVersion = v }
} else { let versionRet = /^#\s*([0-9a-zA-Z\\.~\s]+?)\s*$/.exec(line)
changelogs.push(temp) if (versionRet && versionRet[1]) {
if (/0\s*$/.test(v) && versionCount > 0) { let v = versionRet[1].trim()
versionCount = 0 if (!currentVersion) {
currentVersion = v
} else { } else {
versionCount-- changelogs.push(temp)
if (/0\s*$/.test(v) && versionCount > 0) {
versionCount = 0
} else {
versionCount--
}
} }
}
temp = { temp = {
version: v, version: v,
logs: []
}
} else {
if (!line.trim()) {
return
}
if (/^\*/.test(line)) {
lastLine = {
title: getLine(line),
logs: [] logs: []
} }
temp.logs.push(lastLine) } else {
} else if (/^\s{2,}\*/.test(line)) { if (!line.trim()) {
lastLine.logs.push(getLine(line)) 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) { return { changelogs, currentVersion }
// do nth
} }
const { changelogs, currentVersion } = readLogFile('miao')
const yunzaiVersion = packageJson.version const yunzaiVersion = packageJson.version
const isV3 = yunzaiVersion[0] === '3' const isV3 = yunzaiVersion[0] === '3'
const isMiao = packageJson.name === 'miao-yunzai' const isMiao = packageJson.name === 'miao-yunzai'
@ -88,7 +93,8 @@ let Version = {
}, },
runtime () { runtime () {
console.log(`未能找到e.runtime请升级至最新版${isV3 ? 'V3' : 'V2'}-Yunzai以使用miao-plugin`) console.log(`未能找到e.runtime请升级至最新版${isV3 ? 'V3' : 'V2'}-Yunzai以使用miao-plugin`)
} },
readLogFile
} }
export default Version export default Version

View File

@ -10,6 +10,13 @@ const Render = {
return e.runtime.render('miao-plugin', path, params, { return e.runtime.render('miao-plugin', path, params, {
retType: cfg.retMsgId ? 'msgId' : 'default', retType: cfg.retMsgId ? 'msgId' : 'default',
beforeRender ({ data }) { beforeRender ({ data }) {
let pluginName = ''
if (data.pluginName !== false) {
pluginName = ` & ${data.pluginName || 'Miao-Plugin'}`
if (data.pluginVersion !== false) {
pluginName += `<span class="version">${data.pluginVersion || Version.version}`
}
}
let resPath = data.pluResPath let resPath = data.pluResPath
const layoutPath = process.cwd() + '/plugins/miao-plugin/resources/common/layout/' const layoutPath = process.cwd() + '/plugins/miao-plugin/resources/common/layout/'
return { return {
@ -23,7 +30,7 @@ const Render = {
sys: { sys: {
scale: Cfg.scale(cfg.scale || 1) scale: Cfg.scale(cfg.scale || 1)
}, },
copyright: `Created By ${BotName}<span class="version">${Version.yunzai}</span> & Miao-Plugin<span class="version">${Version.version}</span>`, copyright: `Created By ${BotName}<span class="version">${Version.yunzai}</span>${pluginName}</span>`,
pageGotoParams: { pageGotoParams: {
waitUntil: 'networkidle2' waitUntil: 'networkidle2'
} }

View File

@ -16,14 +16,14 @@
<div class="dev-info cont-body"> <div class="dev-info cont-body">
<div class="strong">【Dev测试分支开发中】</div> <div class="strong">【Dev测试分支开发中】</div>
<ul class="log-ul"> <ul class="log-ul">
<li>如需体验可切换至<span class="cmd">miao-plugin</span>仓库<span class="cmd">dev</span>分支</li> <li>如需体验可切换至<span class="cmd">{{name||'miao-plugin'}}</span>仓库<span class="cmd">dev</span>分支</li>
<li>Dev功能可能不稳定建议具备一定排错能力的勇士体验</li> <li>Dev功能可能不稳定建议具备一定排错能力的勇士体验</li>
</ul> </ul>
</div> </div>
{{else}} {{else}}
{{/if}} {{/if}}
{{else}} {{else}}
<div class="cont-title">喵喵版本 {{v}}</div> <div class="cont-title">{{name || '喵喵'}}版本 {{v}}</div>
{{/if}} {{/if}}
<div class="cont-body"> <div class="cont-body">
<ul class="log-ul"> <ul class="log-ul">