feat: 管理指令

This commit is contained in:
bietiaop 2024-08-01 16:52:48 +08:00
parent f08f149fa6
commit be1c00db59
8 changed files with 283 additions and 31 deletions

View file

@ -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);

View file

@ -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;
};

View file

@ -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);