From 14a84357ca40c0a54c90341072c96e3c58e72ebc Mon Sep 17 00:00:00 2001 From: ikechan8370 Date: Mon, 7 Apr 2025 14:07:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/command.js | 41 +++++++++++++++++++++++++++++++++++------ 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/utils/command.js b/utils/command.js index 94a3088..fc51702 100644 --- a/utils/command.js +++ b/utils/command.js @@ -16,26 +16,31 @@ export function createCRUDCommandRules (cmdPrefix, name, variable, detail = true const rules = [ { reg: cmdPrefix + `${name}列表$`, - fnc: `list${upperVariable}` + fnc: `list${upperVariable}`, + permission: 'master' }, { reg: cmdPrefix + `(编辑|修改)${name}`, - fnc: `edit${upperVariable}` + fnc: `edit${upperVariable}`, + permission: 'master' }, { reg: cmdPrefix + `(添加|新增)${name}$`, - fnc: `add${upperVariable}` + fnc: `add${upperVariable}`, + permission: 'master' }, { reg: cmdPrefix + `删除${name}`, - fnc: `remove${upperVariable}` + fnc: `remove${upperVariable}`, + permission: 'master' } ] const manager = getManagerByName(upperVariable) if (detail) { rules.push({ reg: cmdPrefix + `${name}详情`, - fnc: `detail${upperVariable}` + fnc: `detail${upperVariable}`, + permission: 'master' }) this[`detail${upperVariable}`] = async function (e) { const verbose = !e.isGroup @@ -49,7 +54,8 @@ export function createCRUDCommandRules (cmdPrefix, name, variable, detail = true } rules.push({ reg: cmdPrefix + `上传${name}(.*)`, - fnc: `upload${upperVariable}` + fnc: `upload${upperVariable}`, + permission: 'master' }) this[`upload${upperVariable}`] = async function (e) { const match = e.msg.match(new RegExp(cmdPrefix + `上传${name}(.*)`)) @@ -111,6 +117,29 @@ export function createCRUDCommandRules (cmdPrefix, name, variable, detail = true e.reply(`格式错误,正确格式:${cmdPrefix}浏览云端${name}[关键词][页码数字]`) } } + rules.push({ + reg: cmdPrefix + `导入${name}`, + fnc: `importCloud${upperVariable}` + }) + this[`importCloud${upperVariable}`] = async function (e) { + const match = e.msg.match(new RegExp(cmdPrefix + `导入${name}`)) + if (match) { + const id = match[1].trim() + const instance = await manager.getInstanceByCloudId(id) + if (instance) { + e.reply(`${name}已存在,尝试导入最新版本`, true) + } + const result = await manager.getFromCloud(id) + if (result) { + result.cloudId = result.id + delete result.id + const newId = await manager.addInstance(result) + e.reply(`导入成功,${name}ID为:${newId}`, true) + } else { + e.reply(`获取${name}失败,请检查id是否正确`, true) + } + } + } } // todo // 定义对应的函数