@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxiaom/adoremix",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "AdoreMix broadcast server - cross-platform installer, runner and service manager",
5
5
  "bin": {
6
6
  "adoremix": "./bin/adoremix.js"
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(); }
@@ -4,7 +4,7 @@ module.exports = {
4
4
  Settings: {
5
5
  ISLOCALHOST: false,
6
6
  wbport: 6082,
7
- isopenrizhi: true,
7
+ isopenrizhi: false,
8
8
  exename: '',
9
9
  Meida_port: 6002,
10
10
  Meida_ip: '127.0.0.1',
@@ -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,