polyv-live-cli 1.2.17 → 1.2.21
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/dist/commands/ai.commands.d.ts +12 -0
- package/dist/commands/ai.commands.d.ts.map +1 -0
- package/dist/commands/ai.commands.js +126 -0
- package/dist/commands/ai.commands.js.map +1 -0
- package/dist/commands/card-push.commands.d.ts +15 -0
- package/dist/commands/card-push.commands.d.ts.map +1 -0
- package/dist/commands/card-push.commands.js +257 -0
- package/dist/commands/card-push.commands.js.map +1 -0
- package/dist/commands/chat.commands.d.ts.map +1 -1
- package/dist/commands/chat.commands.js +152 -0
- package/dist/commands/chat.commands.js.map +1 -1
- package/dist/commands/checkin.commands.d.ts +4 -0
- package/dist/commands/checkin.commands.d.ts.map +1 -0
- package/dist/commands/checkin.commands.js +228 -0
- package/dist/commands/checkin.commands.js.map +1 -0
- package/dist/commands/donate.commands.d.ts +5 -0
- package/dist/commands/donate.commands.d.ts.map +1 -0
- package/dist/commands/donate.commands.js +177 -0
- package/dist/commands/donate.commands.js.map +1 -0
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +3 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/lottery.commands.d.ts +5 -0
- package/dist/commands/lottery.commands.d.ts.map +1 -0
- package/dist/commands/lottery.commands.js +330 -0
- package/dist/commands/lottery.commands.js.map +1 -0
- package/dist/commands/platform-label.commands.d.ts +11 -0
- package/dist/commands/platform-label.commands.d.ts.map +1 -0
- package/dist/commands/platform-label.commands.js +173 -0
- package/dist/commands/platform-label.commands.js.map +1 -0
- package/dist/commands/platform.commands.d.ts +13 -0
- package/dist/commands/platform.commands.d.ts.map +1 -0
- package/dist/commands/platform.commands.js +366 -0
- package/dist/commands/platform.commands.js.map +1 -0
- package/dist/commands/promotion.commands.d.ts +12 -0
- package/dist/commands/promotion.commands.d.ts.map +1 -0
- package/dist/commands/promotion.commands.js +98 -0
- package/dist/commands/promotion.commands.js.map +1 -0
- package/dist/commands/qa.commands.d.ts +4 -0
- package/dist/commands/qa.commands.d.ts.map +1 -0
- package/dist/commands/qa.commands.js +159 -0
- package/dist/commands/qa.commands.js.map +1 -0
- package/dist/commands/questionnaire.commands.d.ts +4 -0
- package/dist/commands/questionnaire.commands.d.ts.map +1 -0
- package/dist/commands/questionnaire.commands.js +187 -0
- package/dist/commands/questionnaire.commands.js.map +1 -0
- package/dist/commands/transmit.commands.d.ts +12 -0
- package/dist/commands/transmit.commands.d.ts.map +1 -0
- package/dist/commands/transmit.commands.js +98 -0
- package/dist/commands/transmit.commands.js.map +1 -0
- package/dist/commands/viewer.commands.d.ts +5 -0
- package/dist/commands/viewer.commands.d.ts.map +1 -0
- package/dist/commands/viewer.commands.js +257 -0
- package/dist/commands/viewer.commands.js.map +1 -0
- package/dist/commands/watch-condition.commands.d.ts +5 -0
- package/dist/commands/watch-condition.commands.d.ts.map +1 -0
- package/dist/commands/watch-condition.commands.js +158 -0
- package/dist/commands/watch-condition.commands.js.map +1 -0
- package/dist/commands/whitelist.commands.d.ts +5 -0
- package/dist/commands/whitelist.commands.d.ts.map +1 -0
- package/dist/commands/whitelist.commands.js +216 -0
- package/dist/commands/whitelist.commands.js.map +1 -0
- package/dist/handlers/ai-digital-human.handler.d.ts +18 -0
- package/dist/handlers/ai-digital-human.handler.d.ts.map +1 -0
- package/dist/handlers/ai-digital-human.handler.js +134 -0
- package/dist/handlers/ai-digital-human.handler.js.map +1 -0
- package/dist/handlers/card-push.handler.d.ts +25 -0
- package/dist/handlers/card-push.handler.d.ts.map +1 -0
- package/dist/handlers/card-push.handler.js +287 -0
- package/dist/handlers/card-push.handler.js.map +1 -0
- package/dist/handlers/chat.handler.d.ts +17 -1
- package/dist/handlers/chat.handler.d.ts.map +1 -1
- package/dist/handlers/chat.handler.js +272 -0
- package/dist/handlers/chat.handler.js.map +1 -1
- package/dist/handlers/checkin.handler.d.ts +22 -0
- package/dist/handlers/checkin.handler.d.ts.map +1 -0
- package/dist/handlers/checkin.handler.js +261 -0
- package/dist/handlers/checkin.handler.js.map +1 -0
- package/dist/handlers/donate.handler.d.ts +18 -0
- package/dist/handlers/donate.handler.d.ts.map +1 -0
- package/dist/handlers/donate.handler.js +221 -0
- package/dist/handlers/donate.handler.js.map +1 -0
- package/dist/handlers/lottery.handler.d.ts +29 -0
- package/dist/handlers/lottery.handler.d.ts.map +1 -0
- package/dist/handlers/lottery.handler.js +386 -0
- package/dist/handlers/lottery.handler.js.map +1 -0
- package/dist/handlers/platform-label.handler.d.ts +18 -0
- package/dist/handlers/platform-label.handler.d.ts.map +1 -0
- package/dist/handlers/platform-label.handler.js +113 -0
- package/dist/handlers/platform-label.handler.js.map +1 -0
- package/dist/handlers/platform.handler.d.ts +24 -0
- package/dist/handlers/platform.handler.d.ts.map +1 -0
- package/dist/handlers/platform.handler.js +302 -0
- package/dist/handlers/platform.handler.js.map +1 -0
- package/dist/handlers/promotion.handler.d.ts +16 -0
- package/dist/handlers/promotion.handler.d.ts.map +1 -0
- package/dist/handlers/promotion.handler.js +103 -0
- package/dist/handlers/promotion.handler.js.map +1 -0
- package/dist/handlers/qa-questionnaire.handler.d.ts +27 -0
- package/dist/handlers/qa-questionnaire.handler.d.ts.map +1 -0
- package/dist/handlers/qa-questionnaire.handler.js +386 -0
- package/dist/handlers/qa-questionnaire.handler.js.map +1 -0
- package/dist/handlers/transmit.handler.d.ts +15 -0
- package/dist/handlers/transmit.handler.d.ts.map +1 -0
- package/dist/handlers/transmit.handler.js +86 -0
- package/dist/handlers/transmit.handler.js.map +1 -0
- package/dist/handlers/viewer.handler.d.ts +23 -0
- package/dist/handlers/viewer.handler.d.ts.map +1 -0
- package/dist/handlers/viewer.handler.js +322 -0
- package/dist/handlers/viewer.handler.js.map +1 -0
- package/dist/handlers/watch-condition.handler.d.ts +18 -0
- package/dist/handlers/watch-condition.handler.d.ts.map +1 -0
- package/dist/handlers/watch-condition.handler.js +178 -0
- package/dist/handlers/watch-condition.handler.js.map +1 -0
- package/dist/handlers/whitelist.handler.d.ts +20 -0
- package/dist/handlers/whitelist.handler.d.ts.map +1 -0
- package/dist/handlers/whitelist.handler.js +241 -0
- package/dist/handlers/whitelist.handler.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -4
- package/dist/index.js.map +1 -1
- package/dist/services/ai-digital-human-service.d.ts +10 -0
- package/dist/services/ai-digital-human-service.d.ts.map +1 -0
- package/dist/services/ai-digital-human-service.js +64 -0
- package/dist/services/ai-digital-human-service.js.map +1 -0
- package/dist/services/card-push-service.d.ts +16 -0
- package/dist/services/card-push-service.d.ts.map +1 -0
- package/dist/services/card-push-service.js +153 -0
- package/dist/services/card-push-service.js.map +1 -0
- package/dist/services/chat.service.sdk.d.ts +39 -1
- package/dist/services/chat.service.sdk.d.ts.map +1 -1
- package/dist/services/chat.service.sdk.js +60 -0
- package/dist/services/chat.service.sdk.js.map +1 -1
- package/dist/services/checkin-service.d.ts +14 -0
- package/dist/services/checkin-service.d.ts.map +1 -0
- package/dist/services/checkin-service.js +89 -0
- package/dist/services/checkin-service.js.map +1 -0
- package/dist/services/donate-service.d.ts +12 -0
- package/dist/services/donate-service.d.ts.map +1 -0
- package/dist/services/donate-service.js +59 -0
- package/dist/services/donate-service.js.map +1 -0
- package/dist/services/lottery-service.d.ts +17 -0
- package/dist/services/lottery-service.d.ts.map +1 -0
- package/dist/services/lottery-service.js +84 -0
- package/dist/services/lottery-service.js.map +1 -0
- package/dist/services/platform-label-service.d.ts +21 -0
- package/dist/services/platform-label-service.d.ts.map +1 -0
- package/dist/services/platform-label-service.js +56 -0
- package/dist/services/platform-label-service.js.map +1 -0
- package/dist/services/platform-service.d.ts +47 -0
- package/dist/services/platform-service.d.ts.map +1 -0
- package/dist/services/platform-service.js +144 -0
- package/dist/services/platform-service.js.map +1 -0
- package/dist/services/promotion-service.d.ts +12 -0
- package/dist/services/promotion-service.d.ts.map +1 -0
- package/dist/services/promotion-service.js +54 -0
- package/dist/services/promotion-service.js.map +1 -0
- package/dist/services/qa-questionnaire-service.d.ts +15 -0
- package/dist/services/qa-questionnaire-service.d.ts.map +1 -0
- package/dist/services/qa-questionnaire-service.js +102 -0
- package/dist/services/qa-questionnaire-service.js.map +1 -0
- package/dist/services/stream.service.sdk.d.ts.map +1 -1
- package/dist/services/stream.service.sdk.js +8 -12
- package/dist/services/stream.service.sdk.js.map +1 -1
- package/dist/services/transmit-service.d.ts +9 -0
- package/dist/services/transmit-service.d.ts.map +1 -0
- package/dist/services/transmit-service.js +45 -0
- package/dist/services/transmit-service.js.map +1 -0
- package/dist/services/viewer-service.d.ts +29 -0
- package/dist/services/viewer-service.d.ts.map +1 -0
- package/dist/services/viewer-service.js +106 -0
- package/dist/services/viewer-service.js.map +1 -0
- package/dist/services/watch-condition-service.d.ts +16 -0
- package/dist/services/watch-condition-service.d.ts.map +1 -0
- package/dist/services/watch-condition-service.js +38 -0
- package/dist/services/watch-condition-service.js.map +1 -0
- package/dist/services/whitelist-service.d.ts +50 -0
- package/dist/services/whitelist-service.d.ts.map +1 -0
- package/dist/services/whitelist-service.js +56 -0
- package/dist/services/whitelist-service.js.map +1 -0
- package/dist/types/ai-digital-human.d.ts +49 -0
- package/dist/types/ai-digital-human.d.ts.map +1 -0
- package/dist/types/ai-digital-human.js +3 -0
- package/dist/types/ai-digital-human.js.map +1 -0
- package/dist/types/card-push.d.ts +151 -0
- package/dist/types/card-push.d.ts.map +1 -0
- package/dist/types/card-push.js +3 -0
- package/dist/types/card-push.js.map +1 -0
- package/dist/types/chat.d.ts +35 -0
- package/dist/types/chat.d.ts.map +1 -1
- package/dist/types/checkin.d.ts +57 -0
- package/dist/types/checkin.d.ts.map +1 -0
- package/dist/types/checkin.js +3 -0
- package/dist/types/checkin.js.map +1 -0
- package/dist/types/donate.d.ts +92 -0
- package/dist/types/donate.d.ts.map +1 -0
- package/dist/types/donate.js +3 -0
- package/dist/types/donate.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/lottery.d.ts +110 -0
- package/dist/types/lottery.d.ts.map +1 -0
- package/dist/types/lottery.js +3 -0
- package/dist/types/lottery.js.map +1 -0
- package/dist/types/platform-label.d.ts +29 -0
- package/dist/types/platform-label.d.ts.map +1 -0
- package/dist/types/platform-label.js +3 -0
- package/dist/types/platform-label.js.map +1 -0
- package/dist/types/platform.d.ts +44 -0
- package/dist/types/platform.d.ts.map +1 -0
- package/dist/types/platform.js +11 -0
- package/dist/types/platform.js.map +1 -0
- package/dist/types/promotion.d.ts +31 -0
- package/dist/types/promotion.d.ts.map +1 -0
- package/dist/types/promotion.js +3 -0
- package/dist/types/promotion.js.map +1 -0
- package/dist/types/qa.d.ts +90 -0
- package/dist/types/qa.d.ts.map +1 -0
- package/dist/types/qa.js +3 -0
- package/dist/types/qa.js.map +1 -0
- package/dist/types/transmit.d.ts +40 -0
- package/dist/types/transmit.d.ts.map +1 -0
- package/dist/types/transmit.js +3 -0
- package/dist/types/transmit.js.map +1 -0
- package/dist/types/viewer.d.ts +36 -0
- package/dist/types/viewer.d.ts.map +1 -0
- package/dist/types/viewer.js +3 -0
- package/dist/types/viewer.js.map +1 -0
- package/dist/types/watch-condition.d.ts +49 -0
- package/dist/types/watch-condition.d.ts.map +1 -0
- package/dist/types/watch-condition.js +18 -0
- package/dist/types/watch-condition.js.map +1 -0
- package/dist/types/whitelist.d.ts +36 -0
- package/dist/types/whitelist.d.ts.map +1 -0
- package/dist/types/whitelist.js +3 -0
- package/dist/types/whitelist.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadAuthAndServiceConfig = loadAuthAndServiceConfig;
|
|
4
|
+
exports.validateEnabledValue = validateEnabledValue;
|
|
5
|
+
exports.validateOutputFormat = validateOutputFormat;
|
|
6
|
+
exports.validateUrlFormat = validateUrlFormat;
|
|
7
|
+
exports.registerPlatformCommands = registerPlatformCommands;
|
|
8
|
+
const platform_handler_1 = require("../handlers/platform.handler");
|
|
9
|
+
const manager_1 = require("../config/manager");
|
|
10
|
+
const auth_adapter_1 = require("../config/auth-adapter");
|
|
11
|
+
const errors_1 = require("../utils/errors");
|
|
12
|
+
const platform_1 = require("../types/platform");
|
|
13
|
+
const DEFAULT_TIMEOUT_MS = 30000;
|
|
14
|
+
async function loadAuthAndServiceConfig(parentOptions) {
|
|
15
|
+
const authResult = auth_adapter_1.authAdapter.tryGetAuthConfig(parentOptions);
|
|
16
|
+
if (!authResult) {
|
|
17
|
+
throw new Error(auth_adapter_1.authAdapter.getStatusMessage(parentOptions));
|
|
18
|
+
}
|
|
19
|
+
let configResult;
|
|
20
|
+
try {
|
|
21
|
+
configResult = await manager_1.configManager.load({
|
|
22
|
+
cliOptions: parentOptions,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
if (error instanceof Error && error.message.includes('Auth configuration is incomplete')) {
|
|
27
|
+
configResult = {
|
|
28
|
+
config: {
|
|
29
|
+
baseUrl: 'https://api.polyv.net',
|
|
30
|
+
timeout: DEFAULT_TIMEOUT_MS,
|
|
31
|
+
debug: false,
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
throw error;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const serviceConfig = {
|
|
40
|
+
baseUrl: configResult.config.baseUrl,
|
|
41
|
+
timeout: configResult.config.timeout,
|
|
42
|
+
debug: configResult.config.debug,
|
|
43
|
+
};
|
|
44
|
+
const isVerbose = !!parentOptions['verbose'];
|
|
45
|
+
if (isVerbose) {
|
|
46
|
+
console.log(`🔐 Authentication Source: ${authResult.source}`);
|
|
47
|
+
if (authResult.accountName) {
|
|
48
|
+
console.log(`👤 Account: ${authResult.accountName}`);
|
|
49
|
+
}
|
|
50
|
+
console.log('');
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
authConfig: authResult.config,
|
|
54
|
+
serviceConfig,
|
|
55
|
+
isVerbose,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function validateEnabledValue(value) {
|
|
59
|
+
if (value !== 'Y' && value !== 'N') {
|
|
60
|
+
throw new Error('enabled 必须是 Y 或 N');
|
|
61
|
+
}
|
|
62
|
+
return value;
|
|
63
|
+
}
|
|
64
|
+
function validateOutputFormat(value) {
|
|
65
|
+
if (!['table', 'json'].includes(value)) {
|
|
66
|
+
throw new Error('Invalid output format. Must be "table" or "json"');
|
|
67
|
+
}
|
|
68
|
+
return value;
|
|
69
|
+
}
|
|
70
|
+
function validateUrlFormat(value) {
|
|
71
|
+
if (!value.startsWith('http://') && !value.startsWith('https://')) {
|
|
72
|
+
throw new Error('url 必须以 http:// 或 https:// 开头');
|
|
73
|
+
}
|
|
74
|
+
return value;
|
|
75
|
+
}
|
|
76
|
+
function registerPlatformCommands(program) {
|
|
77
|
+
const platformCmd = program.command('platform');
|
|
78
|
+
platformCmd.description('Platform account info management commands (平台账号信息管理)');
|
|
79
|
+
const getCmd = platformCmd
|
|
80
|
+
.command('get')
|
|
81
|
+
.description('Get account info (获取账号信息)')
|
|
82
|
+
.option('-o, --output <format>', 'output format (table|json)', validateOutputFormat, 'table')
|
|
83
|
+
.action(async (options) => {
|
|
84
|
+
try {
|
|
85
|
+
const parentOptions = program.opts();
|
|
86
|
+
const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
|
|
87
|
+
const platformHandler = new platform_handler_1.PlatformHandler(authConfig, serviceConfig);
|
|
88
|
+
const getOptions = {
|
|
89
|
+
output: options.output,
|
|
90
|
+
};
|
|
91
|
+
await platformHandler.getAccountInfo(getOptions);
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
(0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
|
|
95
|
+
process.exit(1);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
getCmd.addHelpText('after', `
|
|
99
|
+
Examples:
|
|
100
|
+
$ polyv-live-cli platform get
|
|
101
|
+
$ polyv-live-cli platform get -o json
|
|
102
|
+
|
|
103
|
+
Output Formats:
|
|
104
|
+
table - Formatted table output (default)
|
|
105
|
+
json - JSON format for programmatic use
|
|
106
|
+
`);
|
|
107
|
+
const switchCmd = platformCmd.command('switch');
|
|
108
|
+
switchCmd.description('Switch configuration management (开关配置管理)');
|
|
109
|
+
const switchGetCmd = switchCmd
|
|
110
|
+
.command('get')
|
|
111
|
+
.description('Get switch configuration (获取开关配置)')
|
|
112
|
+
.option('-o, --output <format>', 'output format (table|json)', validateOutputFormat, 'table')
|
|
113
|
+
.action(async (options) => {
|
|
114
|
+
try {
|
|
115
|
+
const parentOptions = program.opts();
|
|
116
|
+
const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
|
|
117
|
+
const platformHandler = new platform_handler_1.PlatformHandler(authConfig, serviceConfig);
|
|
118
|
+
const getOptions = {
|
|
119
|
+
output: options.output,
|
|
120
|
+
};
|
|
121
|
+
await platformHandler.getSwitchConfig(getOptions);
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
(0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
|
|
125
|
+
process.exit(1);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
switchGetCmd.addHelpText('after', `
|
|
129
|
+
Examples:
|
|
130
|
+
$ polyv-live-cli platform switch get
|
|
131
|
+
$ polyv-live-cli platform switch get -o json
|
|
132
|
+
|
|
133
|
+
Output Formats:
|
|
134
|
+
table - Formatted table output (default)
|
|
135
|
+
json - JSON format for programmatic use
|
|
136
|
+
`);
|
|
137
|
+
const switchUpdateCmd = switchCmd
|
|
138
|
+
.command('update')
|
|
139
|
+
.description('Update switch configuration (更新开关配置)')
|
|
140
|
+
.requiredOption('--param <name>', `switch parameter name (${platform_1.VALID_SWITCH_PARAMS.join('|')})`)
|
|
141
|
+
.requiredOption('--enabled <value>', 'enable status (Y|N)', validateEnabledValue)
|
|
142
|
+
.option('-o, --output <format>', 'output format (table|json)', validateOutputFormat, 'table')
|
|
143
|
+
.action(async (options) => {
|
|
144
|
+
try {
|
|
145
|
+
const parentOptions = program.opts();
|
|
146
|
+
const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
|
|
147
|
+
const platformHandler = new platform_handler_1.PlatformHandler(authConfig, serviceConfig);
|
|
148
|
+
const updateOptions = {
|
|
149
|
+
param: options.param,
|
|
150
|
+
enabled: options.enabled,
|
|
151
|
+
output: options.output,
|
|
152
|
+
};
|
|
153
|
+
await platformHandler.updateSwitchConfig(updateOptions);
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
(0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
|
|
157
|
+
process.exit(1);
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
switchUpdateCmd.addHelpText('after', `
|
|
161
|
+
Examples:
|
|
162
|
+
# Enable authentication
|
|
163
|
+
$ polyv-live-cli platform switch update --param authEnabled --enabled Y
|
|
164
|
+
|
|
165
|
+
# Disable recording
|
|
166
|
+
$ polyv-live-cli platform switch update --param recordEnabled --enabled N
|
|
167
|
+
|
|
168
|
+
# JSON output
|
|
169
|
+
$ polyv-live-cli platform switch update --param authEnabled --enabled Y -o json
|
|
170
|
+
|
|
171
|
+
Available Parameters:
|
|
172
|
+
globalSettingEnabled - Global settings switch (全局设置开关)
|
|
173
|
+
authEnabled - Authentication switch (认证开关)
|
|
174
|
+
recordEnabled - Recording switch (录制开关)
|
|
175
|
+
playbackEnabled - Playback switch (回放开关)
|
|
176
|
+
danmuEnabled - Danmu (bullet screen) switch (弹幕开关)
|
|
177
|
+
|
|
178
|
+
Enable Values:
|
|
179
|
+
Y - Enable the switch
|
|
180
|
+
N - Disable the switch
|
|
181
|
+
`);
|
|
182
|
+
const callbackCmd = platformCmd.command('callback');
|
|
183
|
+
callbackCmd.description('Callback settings management (回调设置管理)');
|
|
184
|
+
const callbackGetCmd = callbackCmd
|
|
185
|
+
.command('get')
|
|
186
|
+
.description('Get callback settings (获取回调设置)')
|
|
187
|
+
.option('-o, --output <format>', 'output format (table|json)', validateOutputFormat, 'table')
|
|
188
|
+
.action(async (options) => {
|
|
189
|
+
try {
|
|
190
|
+
const parentOptions = program.opts();
|
|
191
|
+
const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
|
|
192
|
+
const platformHandler = new platform_handler_1.PlatformHandler(authConfig, serviceConfig);
|
|
193
|
+
const getOptions = {
|
|
194
|
+
output: options.output,
|
|
195
|
+
};
|
|
196
|
+
await platformHandler.getCallbackSettings(getOptions);
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
(0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
|
|
200
|
+
process.exit(1);
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
callbackGetCmd.addHelpText('after', `
|
|
204
|
+
Examples:
|
|
205
|
+
$ polyv-live-cli platform callback get
|
|
206
|
+
$ polyv-live-cli platform callback get -o json
|
|
207
|
+
|
|
208
|
+
Output Formats:
|
|
209
|
+
table - Formatted table output (default)
|
|
210
|
+
json - JSON format for programmatic use
|
|
211
|
+
`);
|
|
212
|
+
const callbackUpdateCmd = callbackCmd
|
|
213
|
+
.command('update')
|
|
214
|
+
.description('Update callback settings (更新回调设置)')
|
|
215
|
+
.option('--url <url>', 'callback URL (must start with http:// or https://)', validateUrlFormat)
|
|
216
|
+
.option('--enabled <value>', 'enable status (Y|N)', validateEnabledValue)
|
|
217
|
+
.option('-o, --output <format>', 'output format (table|json)', validateOutputFormat, 'table')
|
|
218
|
+
.action(async (options) => {
|
|
219
|
+
try {
|
|
220
|
+
const parentOptions = program.opts();
|
|
221
|
+
const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
|
|
222
|
+
const platformHandler = new platform_handler_1.PlatformHandler(authConfig, serviceConfig);
|
|
223
|
+
const updateOptions = {
|
|
224
|
+
url: options.url,
|
|
225
|
+
enabled: options.enabled,
|
|
226
|
+
output: options.output,
|
|
227
|
+
};
|
|
228
|
+
await platformHandler.updateCallbackSettings(updateOptions);
|
|
229
|
+
}
|
|
230
|
+
catch (error) {
|
|
231
|
+
(0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
|
|
232
|
+
process.exit(1);
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
callbackUpdateCmd.addHelpText('after', `
|
|
236
|
+
Examples:
|
|
237
|
+
# Update callback URL
|
|
238
|
+
$ polyv-live-cli platform callback update --url https://example.com/callback
|
|
239
|
+
|
|
240
|
+
# Enable/disable callback
|
|
241
|
+
$ polyv-live-cli platform callback update --enabled Y
|
|
242
|
+
$ polyv-live-cli platform callback update --enabled N
|
|
243
|
+
|
|
244
|
+
# Combined update
|
|
245
|
+
$ polyv-live-cli platform callback update --url https://example.com/new-callback --enabled Y
|
|
246
|
+
|
|
247
|
+
# JSON output
|
|
248
|
+
$ polyv-live-cli platform callback update --url https://example.com/callback -o json
|
|
249
|
+
|
|
250
|
+
URL Format:
|
|
251
|
+
URL must start with http:// or https://
|
|
252
|
+
|
|
253
|
+
Enable Values:
|
|
254
|
+
Y - Enable callback
|
|
255
|
+
N - Disable callback
|
|
256
|
+
|
|
257
|
+
Note:
|
|
258
|
+
At least one parameter (--url or --enabled) must be provided
|
|
259
|
+
`);
|
|
260
|
+
const settingCmd = platformCmd.command('setting');
|
|
261
|
+
settingCmd.description('Global channel settings management (全局频道设置管理)');
|
|
262
|
+
const settingGetCmd = settingCmd
|
|
263
|
+
.command('get')
|
|
264
|
+
.description('Get global channel settings (获取全局频道设置)')
|
|
265
|
+
.option('-o, --output <format>', 'output format (table|json)', validateOutputFormat, 'table')
|
|
266
|
+
.action(async (options) => {
|
|
267
|
+
try {
|
|
268
|
+
const parentOptions = program.opts();
|
|
269
|
+
const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
|
|
270
|
+
const platformHandler = new platform_handler_1.PlatformHandler(authConfig, serviceConfig);
|
|
271
|
+
const getOptions = {
|
|
272
|
+
output: options.output,
|
|
273
|
+
};
|
|
274
|
+
await platformHandler.getGlobalSettings(getOptions);
|
|
275
|
+
}
|
|
276
|
+
catch (error) {
|
|
277
|
+
(0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
|
|
278
|
+
process.exit(1);
|
|
279
|
+
}
|
|
280
|
+
});
|
|
281
|
+
settingGetCmd.addHelpText('after', `
|
|
282
|
+
Examples:
|
|
283
|
+
$ polyv-live-cli platform setting get
|
|
284
|
+
$ polyv-live-cli platform setting get -o json
|
|
285
|
+
|
|
286
|
+
Output Formats:
|
|
287
|
+
table - Formatted table output (default)
|
|
288
|
+
json - JSON format for programmatic use
|
|
289
|
+
`);
|
|
290
|
+
const settingUpdateCmd = settingCmd
|
|
291
|
+
.command('update')
|
|
292
|
+
.description('Update global channel settings (更新全局频道设置)')
|
|
293
|
+
.option('--channel-concurrences-enabled <value>', 'enable max concurrent viewers (Y|N)', validateGlobalSettingEnabledValue)
|
|
294
|
+
.option('--timely-convert-enabled <value>', 'enable auto convert (Y|N)', validateGlobalSettingEnabledValue)
|
|
295
|
+
.option('--donate-enabled <value>', 'enable donation (Y|N)', validateGlobalSettingEnabledValue)
|
|
296
|
+
.option('--rebirth-auto-upload-enabled <value>', 'enable rebirth auto upload (Y|N)', validateGlobalSettingEnabledValue)
|
|
297
|
+
.option('--rebirth-auto-convert-enabled <value>', 'enable rebirth auto convert (Y|N)', validateGlobalSettingEnabledValue)
|
|
298
|
+
.option('--ppt-covered-enabled <value>', 'enable PPT full screen (Y|N)', validateGlobalSettingEnabledValue)
|
|
299
|
+
.option('--cover-img-type <value>', 'cover image type (contain|cover)', validateCoverImgType)
|
|
300
|
+
.option('--test-mode-button-enabled <value>', 'enable test mode button (Y|N)', validateGlobalSettingEnabledValue)
|
|
301
|
+
.option('-o, --output <format>', 'output format (table|json)', validateOutputFormat, 'table')
|
|
302
|
+
.action(async (options) => {
|
|
303
|
+
try {
|
|
304
|
+
const parentOptions = program.opts();
|
|
305
|
+
const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
|
|
306
|
+
const platformHandler = new platform_handler_1.PlatformHandler(authConfig, serviceConfig);
|
|
307
|
+
const updateOptions = {
|
|
308
|
+
channelConcurrencesEnabled: options.channelConcurrencesEnabled,
|
|
309
|
+
timelyConvertEnabled: options.timelyConvertEnabled,
|
|
310
|
+
donateEnabled: options.donateEnabled,
|
|
311
|
+
rebirthAutoUploadEnabled: options.rebirthAutoUploadEnabled,
|
|
312
|
+
rebirthAutoConvertEnabled: options.rebirthAutoConvertEnabled,
|
|
313
|
+
pptCoveredEnabled: options.pptCoveredEnabled,
|
|
314
|
+
coverImgType: options.coverImgType,
|
|
315
|
+
testModeButtonEnabled: options.testModeButtonEnabled,
|
|
316
|
+
output: options.output,
|
|
317
|
+
};
|
|
318
|
+
await platformHandler.updateGlobalSettings(updateOptions);
|
|
319
|
+
}
|
|
320
|
+
catch (error) {
|
|
321
|
+
(0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
|
|
322
|
+
process.exit(1);
|
|
323
|
+
}
|
|
324
|
+
});
|
|
325
|
+
settingUpdateCmd.addHelpText('after', `
|
|
326
|
+
Examples:
|
|
327
|
+
# Update single setting
|
|
328
|
+
$ polyv-live-cli platform setting update --channel-concurrences-enabled Y
|
|
329
|
+
$ polyv-live-cli platform setting update --donate-enabled N
|
|
330
|
+
$ polyv-live-cli platform setting update --cover-img-type contain
|
|
331
|
+
|
|
332
|
+
# Update multiple settings
|
|
333
|
+
$ polyv-live-cli platform setting update \\
|
|
334
|
+
--channel-concurrences-enabled Y \\
|
|
335
|
+
--timely-convert-enabled Y \\
|
|
336
|
+
--donate-enabled N \\
|
|
337
|
+
--cover-img-type contain
|
|
338
|
+
|
|
339
|
+
# JSON output
|
|
340
|
+
$ polyv-live-cli platform setting update --donate-enabled Y -o json
|
|
341
|
+
|
|
342
|
+
Boolean Parameters:
|
|
343
|
+
Y - Enable the setting
|
|
344
|
+
N - Disable the setting
|
|
345
|
+
|
|
346
|
+
Cover Image Types:
|
|
347
|
+
contain - Contain mode
|
|
348
|
+
cover - Cover mode
|
|
349
|
+
|
|
350
|
+
Note:
|
|
351
|
+
At least one parameter must be provided
|
|
352
|
+
`);
|
|
353
|
+
}
|
|
354
|
+
function validateGlobalSettingEnabledValue(value) {
|
|
355
|
+
if (value !== 'Y' && value !== 'N') {
|
|
356
|
+
throw new Error('参数值必须是 Y 或 N');
|
|
357
|
+
}
|
|
358
|
+
return value;
|
|
359
|
+
}
|
|
360
|
+
function validateCoverImgType(value) {
|
|
361
|
+
if (value !== 'contain' && value !== 'cover') {
|
|
362
|
+
throw new Error('cover-img-type 必须是 contain 或 cover');
|
|
363
|
+
}
|
|
364
|
+
return value;
|
|
365
|
+
}
|
|
366
|
+
//# sourceMappingURL=platform.commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.commands.js","sourceRoot":"","sources":["../../src/commands/platform.commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { AuthConfig } from '../types/auth';
|
|
3
|
+
import { OutputFormat } from '../types/platform';
|
|
4
|
+
import { PromotionServiceConfig } from '../types/promotion';
|
|
5
|
+
export declare function loadAuthAndServiceConfig(parentOptions: Record<string, unknown>): Promise<{
|
|
6
|
+
authConfig: AuthConfig;
|
|
7
|
+
serviceConfig: PromotionServiceConfig;
|
|
8
|
+
isVerbose: boolean;
|
|
9
|
+
}>;
|
|
10
|
+
export declare function validateOutputFormat(format: string): OutputFormat;
|
|
11
|
+
export declare function registerPromotionCommands(program: Command): void;
|
|
12
|
+
//# sourceMappingURL=promotion.commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promotion.commands.d.ts","sourceRoot":"","sources":["../../src/commands/promotion.commands.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EACL,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAS5B,wBAAsB,wBAAwB,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IAC9F,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,sBAAsB,CAAC;IACtC,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC,CAwCD;AAQD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAKjE;AAKD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8ChE"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadAuthAndServiceConfig = loadAuthAndServiceConfig;
|
|
4
|
+
exports.validateOutputFormat = validateOutputFormat;
|
|
5
|
+
exports.registerPromotionCommands = registerPromotionCommands;
|
|
6
|
+
const promotion_handler_1 = require("../handlers/promotion.handler");
|
|
7
|
+
const auth_adapter_1 = require("../config/auth-adapter");
|
|
8
|
+
const manager_1 = require("../config/manager");
|
|
9
|
+
const errors_1 = require("../utils/errors");
|
|
10
|
+
const DEFAULT_TIMEOUT_MS = 30000;
|
|
11
|
+
async function loadAuthAndServiceConfig(parentOptions) {
|
|
12
|
+
const authResult = auth_adapter_1.authAdapter.tryGetAuthConfig(parentOptions);
|
|
13
|
+
if (!authResult) {
|
|
14
|
+
throw new Error(auth_adapter_1.authAdapter.getStatusMessage(parentOptions));
|
|
15
|
+
}
|
|
16
|
+
let configResult;
|
|
17
|
+
try {
|
|
18
|
+
configResult = await manager_1.configManager.load({
|
|
19
|
+
cliOptions: parentOptions,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
if (error instanceof Error && error.message.includes('Auth configuration is incomplete')) {
|
|
24
|
+
configResult = {
|
|
25
|
+
config: {
|
|
26
|
+
baseUrl: 'https://api.polyv.net',
|
|
27
|
+
timeout: DEFAULT_TIMEOUT_MS,
|
|
28
|
+
debug: false,
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const serviceConfig = {
|
|
37
|
+
baseUrl: configResult.config.baseUrl,
|
|
38
|
+
timeout: configResult.config.timeout,
|
|
39
|
+
debug: configResult.config.debug,
|
|
40
|
+
};
|
|
41
|
+
const isVerbose = !!parentOptions['verbose'];
|
|
42
|
+
if (isVerbose) {
|
|
43
|
+
console.log('Using authentication from:', authResult.source);
|
|
44
|
+
}
|
|
45
|
+
return { authConfig: authResult.config, serviceConfig, isVerbose };
|
|
46
|
+
}
|
|
47
|
+
function validateOutputFormat(format) {
|
|
48
|
+
if (format !== 'table' && format !== 'json') {
|
|
49
|
+
throw new Error('Invalid output format. Must be table or json');
|
|
50
|
+
}
|
|
51
|
+
return format;
|
|
52
|
+
}
|
|
53
|
+
function registerPromotionCommands(program) {
|
|
54
|
+
const promotionCmd = program
|
|
55
|
+
.command('promotion')
|
|
56
|
+
.description('Manage marketing promotion channels (管理营销推广渠道)');
|
|
57
|
+
promotionCmd
|
|
58
|
+
.command('list')
|
|
59
|
+
.description('List all promotion channels (列出所有推广渠道)')
|
|
60
|
+
.requiredOption('--channelId <id>', 'Channel ID (频道ID)')
|
|
61
|
+
.option('-o, --output <format>', 'Output format (table|json)', validateOutputFormat, 'table')
|
|
62
|
+
.action(async (options) => {
|
|
63
|
+
try {
|
|
64
|
+
const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(options);
|
|
65
|
+
const handler = new promotion_handler_1.PromotionHandler(authConfig, serviceConfig);
|
|
66
|
+
await handler.listPromotions({
|
|
67
|
+
channelId: options.channelId,
|
|
68
|
+
output: options.output,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
(0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
promotionCmd
|
|
77
|
+
.command('create')
|
|
78
|
+
.description('Batch create promotion channels (批量创建推广渠道)')
|
|
79
|
+
.requiredOption('--channelId <id>', 'Channel ID (频道ID)')
|
|
80
|
+
.requiredOption('--names <names>', 'Comma-separated promotion channel names (推广渠道名称, 用逗分隔)')
|
|
81
|
+
.option('-o, --output <format>', 'Output format (table|json)', validateOutputFormat, 'table')
|
|
82
|
+
.action(async (options) => {
|
|
83
|
+
try {
|
|
84
|
+
const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(options);
|
|
85
|
+
const handler = new promotion_handler_1.PromotionHandler(authConfig, serviceConfig);
|
|
86
|
+
await handler.createPromotions({
|
|
87
|
+
channelId: options.channelId,
|
|
88
|
+
names: options.names.split(',').map((n) => n.trim()).filter((n) => n.trim().length > 0),
|
|
89
|
+
output: options.output,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
(0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=promotion.commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promotion.commands.js","sourceRoot":"","sources":["../../src/commands/promotion.commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qa.commands.d.ts","sourceRoot":"","sources":["../../src/commands/qa.commands.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAKpE;AAMD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8HzD"}
|