@oxiaom/adoremix 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/cli.js +19 -0
- package/src/config/defaults.js +1 -1
- package/src/config/network.js +39 -0
package/package.json
CHANGED
package/src/cli.js
CHANGED
|
@@ -147,6 +147,25 @@ function buildProgram() {
|
|
|
147
147
|
process.exitCode = code || 0;
|
|
148
148
|
});
|
|
149
149
|
|
|
150
|
+
config
|
|
151
|
+
.command('log')
|
|
152
|
+
.description('日志开关 isopenrizhi(开启会保存播放日志 + mp3,长期会占存储)')
|
|
153
|
+
.option('--workdir <path>')
|
|
154
|
+
.option('--enable', '开启日志')
|
|
155
|
+
.option('--disable', '关闭日志(默认)')
|
|
156
|
+
.option('--no-interactive', '不询问')
|
|
157
|
+
.action(async (opts) => {
|
|
158
|
+
const net = require('./config/network');
|
|
159
|
+
let enable;
|
|
160
|
+
if (opts.enable) enable = true;
|
|
161
|
+
else if (opts.disable) enable = false;
|
|
162
|
+
const code = await net.setupLog(resolveWorkdir(opts.workdir), {
|
|
163
|
+
enable,
|
|
164
|
+
interactive: opts.interactive !== false
|
|
165
|
+
});
|
|
166
|
+
process.exitCode = code || 0;
|
|
167
|
+
});
|
|
168
|
+
|
|
150
169
|
const runner = require('./runner');
|
|
151
170
|
const nativeRef = () => {
|
|
152
171
|
try { return paths.loadNative(); }
|
package/src/config/defaults.js
CHANGED
package/src/config/network.js
CHANGED
|
@@ -158,6 +158,44 @@ async function setupNetwork(workdir, opts) {
|
|
|
158
158
|
return 0;
|
|
159
159
|
}
|
|
160
160
|
|
|
161
|
+
async function setupLog(workdir, opts) {
|
|
162
|
+
opts = opts || {};
|
|
163
|
+
const cfg = require('./index');
|
|
164
|
+
const KEY = 'Settings.isopenrizhi';
|
|
165
|
+
let val;
|
|
166
|
+
if (opts.enable !== undefined) {
|
|
167
|
+
val = !!opts.enable;
|
|
168
|
+
} else if (opts.interactive === false) {
|
|
169
|
+
val = false;
|
|
170
|
+
} else {
|
|
171
|
+
const cur = cfg.getConfigValue(workdir, KEY);
|
|
172
|
+
logger.log('');
|
|
173
|
+
logger.log('=== 日志开关 (isopenrizhi) ===');
|
|
174
|
+
logger.log('开启后:');
|
|
175
|
+
logger.log(' • 记录所有播放日志');
|
|
176
|
+
logger.log(' • 实时喊话推流的语音/音频自动保存为 mp3');
|
|
177
|
+
logger.log('注意:长期开启会占用大量磁盘空间');
|
|
178
|
+
logger.log(`当前:${cur ? '开启' : '关闭'}`);
|
|
179
|
+
logger.log('');
|
|
180
|
+
const resp = await prompts({
|
|
181
|
+
type: 'toggle',
|
|
182
|
+
name: 'val',
|
|
183
|
+
message: '是否开启日志',
|
|
184
|
+
initial: !!cur,
|
|
185
|
+
active: '开启',
|
|
186
|
+
inactive: '关闭'
|
|
187
|
+
});
|
|
188
|
+
val = resp.val;
|
|
189
|
+
}
|
|
190
|
+
cfg.setConfigValue(workdir, KEY, val);
|
|
191
|
+
logger.ok(`isopenrizhi = ${val}`);
|
|
192
|
+
if (val) {
|
|
193
|
+
logger.warn('日志已开启,长期运行会占用磁盘,建议定期清理 tty/ 和 logs/');
|
|
194
|
+
}
|
|
195
|
+
logger.log('改完后记得:adoremix restart');
|
|
196
|
+
return 0;
|
|
197
|
+
}
|
|
198
|
+
|
|
161
199
|
async function setupPreurl(workdir, opts) {
|
|
162
200
|
opts = opts || {};
|
|
163
201
|
const cfg = require('./index');
|
|
@@ -211,6 +249,7 @@ async function setupPreurl(workdir, opts) {
|
|
|
211
249
|
module.exports = {
|
|
212
250
|
setupNetwork,
|
|
213
251
|
setupPreurl,
|
|
252
|
+
setupLog,
|
|
214
253
|
listInterfaces,
|
|
215
254
|
isValidIPv4,
|
|
216
255
|
isPreurlCdn,
|