From 6ff25a47b96f298b929d331e648e5601dc6595b9 Mon Sep 17 00:00:00 2001 From: aixianling Date: Wed, 22 Jan 2025 18:03:12 +0800 Subject: [PATCH] =?UTF-8?q?refactor(batchSetting):=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E8=AE=BE=E7=BD=AE=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将单个配置文件改为模块化设计,便于维护和扩展 - 新增 UpstarConfig.js 文件,作为独立的配置模块 - 重构 batchSetting.js 文件,使其支持多配置文件的批量处理 - 优化代码结构,提高可读性和可维护性 --- .../UpstarConfig.js | 29 ++++++------------- tools/batchSetting.js | 26 +++++++++++++++++ 2 files changed, 35 insertions(+), 20 deletions(-) rename batchSetting.js => batchTemples/UpstarConfig.js (53%) create mode 100644 tools/batchSetting.js diff --git a/batchSetting.js b/batchTemples/UpstarConfig.js similarity index 53% rename from batchSetting.js rename to batchTemples/UpstarConfig.js index 9f1babb..c03e925 100644 --- a/batchSetting.js +++ b/batchTemples/UpstarConfig.js @@ -1,10 +1,10 @@ -const fs = require('fs') -const key = "UpstarConfig" -const values = [0, 1387, 10, 500, 10000, 5, 0] // 等级,物品ID,属性调整,元宝花费,升级概率 -const interval = [1, 0, 15, 50, -450, 10, 1] -const num = 21 -const start = () => { - const template = `"S1": { +module.exports = { + key: "UpstarConfig", + desc: "等级,物品ID,属性调整,元宝花费,升级概率", + values: [0, 1387, 10, 500, 10000, 5, 0], + interval: [1, 0, 15, 50, -450, 10, 1], + num: 21, + template: `"S1": { "consume": [ { "id": 4, @@ -51,16 +51,5 @@ const start = () => { } ], "rate": S5 - }` - const getStr = (index) => { - let str = template - values.forEach((v, i) => { - const reg = new RegExp(`S${i + 1}`, 'g') - str = str.replace(reg, v + index * interval[i]) - }) - return str - } - const content = Array(num).fill(1).map((e, i) => `${getStr(i)}`).join(',') - fs.writeFileSync(`./dist/${key}.txt`, content) -} -start() \ No newline at end of file + }`, +}; diff --git a/tools/batchSetting.js b/tools/batchSetting.js new file mode 100644 index 0000000..d7b527b --- /dev/null +++ b/tools/batchSetting.js @@ -0,0 +1,26 @@ +const fs = require("fs"); +const path = require("path"); +const scope = ["UpstarConfig"].filter(Boolean); +const start = () => { + const configs = scope.map((key) => { + const file = require(`./batchTemples/${key}.js`); + return file; + }); + configs.forEach((file) => { + const { key, values, interval, num, template } = file; + const getStr = (index) => { + let str = template; + values.forEach((v, i) => { + const reg = new RegExp(`S${i + 1}`, "g"); + str = str.replace(reg, v + index * interval[i]); + }); + return str; + }; + const content = Array(num) + .fill(1) + .map((e, i) => `${getStr(i)}`) + .join(","); + fs.writeFileSync(`./dist/${key}.txt`, content); + }); +}; +start();