mirror of
https://github.com/ZZZure/ZZZ-Plugin.git
synced 2025-12-16 13:17:32 +00:00
feat: 管理指令
This commit is contained in:
parent
f08f149fa6
commit
be1c00db59
8 changed files with 283 additions and 31 deletions
|
|
@ -116,7 +116,7 @@ export const getPanel = (uid, name) => {
|
|||
// 获取所有面板数据
|
||||
const data = _data.map(item => new ZZZAvatarInfo(item));
|
||||
// 通过名称(包括别名)获取角色 ID
|
||||
const id = char.atlasToID(name);
|
||||
const id = char.aliasToID(name);
|
||||
if (!id) return null;
|
||||
// 通过 ID 获取角色数据
|
||||
const result = data.find(item => item.id === id);
|
||||
|
|
|
|||
|
|
@ -53,24 +53,24 @@ export const charNameToSprite = name => {
|
|||
};
|
||||
|
||||
/**
|
||||
* @param {string} atlas
|
||||
* @param {string} alias
|
||||
* @returns string | null
|
||||
*/
|
||||
export const atlasToName = _atlas => {
|
||||
const atlas = settings.getConfig('atlas');
|
||||
for (const [id, data] of Object.entries(atlas)) {
|
||||
if (id === _atlas) return id;
|
||||
if (data.includes(_atlas)) return id;
|
||||
export const aliasToName = _alias => {
|
||||
const alias = settings.getConfig('alias');
|
||||
for (const [id, data] of Object.entries(alias)) {
|
||||
if (id === _alias) return id;
|
||||
if (data.includes(_alias)) return id;
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {string} _atlas
|
||||
* @param {string} _alias
|
||||
* @returns string | null
|
||||
*/
|
||||
export const atlasToSprite = _atlas => {
|
||||
const name = atlasToName(name);
|
||||
export const aliasToSprite = _alias => {
|
||||
const name = aliasToName(_alias);
|
||||
return charNameToSprite(name);
|
||||
};
|
||||
|
||||
|
|
@ -78,8 +78,8 @@ export const atlasToSprite = _atlas => {
|
|||
* @param {string} name
|
||||
* @returns number | null
|
||||
*/
|
||||
export const atlasToID = name => {
|
||||
const _name = atlasToName(name);
|
||||
export const aliasToID = name => {
|
||||
const _name = aliasToName(name);
|
||||
const id = charNameToID(_name);
|
||||
return id;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ class Setting {
|
|||
|
||||
/**
|
||||
* 获取对应模块默认配置
|
||||
* @param {'atlas'|'config'|'gacha'|'panel'} app
|
||||
* @param {'alias'|'config'|'gacha'|'panel'} app
|
||||
* @returns {object}
|
||||
*/
|
||||
getdefSet(app) {
|
||||
|
|
@ -122,7 +122,7 @@ class Setting {
|
|||
|
||||
/**
|
||||
* 获取对应模块用户配置(配置文件名)
|
||||
* @param {'atlas'|'config'|'gacha'|'panel'} app
|
||||
* @param {'alias'|'config'|'gacha'|'panel'} app
|
||||
* @returns {object}
|
||||
*/
|
||||
getConfig(app) {
|
||||
|
|
@ -153,7 +153,7 @@ class Setting {
|
|||
|
||||
/**
|
||||
* 设置对应模块用户配置
|
||||
* @param {'atlas'|'config'|'gacha'|'panel'|'guide'} app
|
||||
* @param {'alias'|'config'|'gacha'|'panel'|'guide'} app
|
||||
* @param {object} obj
|
||||
* @returns
|
||||
*/
|
||||
|
|
@ -167,7 +167,7 @@ class Setting {
|
|||
|
||||
/**
|
||||
* 设置对应模块用户配置
|
||||
* @param {'atlas'|'config'|'gacha'|'panel'|'guide'} app
|
||||
* @param {'alias'|'config'|'gacha'|'panel'|'guide'} app
|
||||
* @param {string} key
|
||||
* @param {string} value
|
||||
* @returns {boolean}
|
||||
|
|
@ -180,6 +180,40 @@ class Setting {
|
|||
return this.setYaml(app, 'config', { ...defSet, ...config });
|
||||
}
|
||||
|
||||
/**
|
||||
* 向数组中添加元素
|
||||
* @param {'alias'|'config'|'gacha'|'panel'|'guide'} app
|
||||
* @param {string} key
|
||||
* @param {string} value
|
||||
* @returns {boolean}
|
||||
*/
|
||||
addArrayleConfig(app, key, value) {
|
||||
const defSet = this.getdefSet(app);
|
||||
const config = this.getConfig(app);
|
||||
if (!config[key]) {
|
||||
config[key] = [];
|
||||
}
|
||||
config[key].push(value);
|
||||
return this.setYaml(app, 'config', { ...defSet, ...config });
|
||||
}
|
||||
|
||||
/**
|
||||
* 从数组中删除元素
|
||||
* @param {'alias'|'config'|'gacha'|'panel'|'guide'} app
|
||||
* @param {string} key
|
||||
* @param {string} value
|
||||
* @returns {boolean}
|
||||
*/
|
||||
removeArrayleConfig(app, key, value) {
|
||||
const defSet = this.getdefSet(app);
|
||||
const config = this.getConfig(app);
|
||||
if (!config[key]) {
|
||||
return false;
|
||||
}
|
||||
config[key] = config[key].filter(item => item !== value);
|
||||
return this.setYaml(app, 'config', { ...defSet, ...config });
|
||||
}
|
||||
|
||||
// 将对象写入YAML文件
|
||||
setYaml(app, type, Object) {
|
||||
let file = this.getFilePath(app, type);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue