xray-manager 1.1.1 → 1.3.0
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/README.md +31 -859
- package/dist/commands/interactive.d.ts +0 -42
- package/dist/commands/interactive.d.ts.map +1 -1
- package/dist/commands/interactive.js +73 -173
- package/dist/commands/interactive.js.map +1 -1
- package/dist/commands/service.d.ts.map +1 -1
- package/dist/commands/service.js +33 -15
- package/dist/commands/service.js.map +1 -1
- package/dist/commands/user.d.ts.map +1 -1
- package/dist/commands/user.js +32 -12
- package/dist/commands/user.js.map +1 -1
- package/dist/components/dashboard-widget.d.ts +18 -0
- package/dist/components/dashboard-widget.d.ts.map +1 -0
- package/dist/components/dashboard-widget.js +159 -0
- package/dist/components/dashboard-widget.js.map +1 -0
- package/dist/components/user-table.d.ts +8 -0
- package/dist/components/user-table.d.ts.map +1 -0
- package/dist/components/user-table.js +86 -0
- package/dist/components/user-table.js.map +1 -0
- package/dist/config/i18n.d.ts +4 -0
- package/dist/config/i18n.d.ts.map +1 -1
- package/dist/config/i18n.js +8 -0
- package/dist/config/i18n.js.map +1 -1
- package/dist/constants/theme.d.ts +34 -0
- package/dist/constants/theme.d.ts.map +1 -0
- package/dist/constants/theme.js +52 -0
- package/dist/constants/theme.js.map +1 -0
- package/dist/constants/ui-symbols.d.ts +1 -0
- package/dist/constants/ui-symbols.d.ts.map +1 -1
- package/dist/constants/ui-symbols.js +1 -0
- package/dist/constants/ui-symbols.js.map +1 -1
- package/dist/services/layout-manager.d.ts +94 -0
- package/dist/services/layout-manager.d.ts.map +1 -0
- package/dist/services/layout-manager.js +192 -0
- package/dist/services/layout-manager.js.map +1 -0
- package/dist/services/navigation-manager.d.ts +23 -0
- package/dist/services/navigation-manager.d.ts.map +1 -0
- package/dist/services/navigation-manager.js +39 -0
- package/dist/services/navigation-manager.js.map +1 -0
- package/dist/services/screen-manager.d.ts +13 -0
- package/dist/services/screen-manager.d.ts.map +1 -0
- package/dist/services/screen-manager.js +42 -0
- package/dist/services/screen-manager.js.map +1 -0
- package/dist/types/layout.d.ts +119 -0
- package/dist/types/layout.d.ts.map +1 -0
- package/dist/types/layout.js +142 -0
- package/dist/types/layout.js.map +1 -0
- package/dist/types/ui-components.d.ts +53 -0
- package/dist/types/ui-components.d.ts.map +1 -0
- package/dist/types/ui-components.js +3 -0
- package/dist/types/ui-components.js.map +1 -0
- package/dist/types/user.d.ts +11 -0
- package/dist/types/user.d.ts.map +1 -1
- package/dist/utils/layout.d.ts +142 -0
- package/dist/utils/layout.d.ts.map +1 -0
- package/dist/utils/layout.js +381 -0
- package/dist/utils/layout.js.map +1 -0
- package/package.json +3 -2
|
@@ -18,52 +18,10 @@ export interface MenuOptions {
|
|
|
18
18
|
/** Verbose mode */
|
|
19
19
|
verbose?: boolean;
|
|
20
20
|
}
|
|
21
|
-
/**
|
|
22
|
-
* Menu context information
|
|
23
|
-
*/
|
|
24
|
-
export interface MenuContext {
|
|
25
|
-
/** Service status */
|
|
26
|
-
serviceStatus?: string;
|
|
27
|
-
/** Number of users */
|
|
28
|
-
userCount?: number;
|
|
29
|
-
/** Last updated timestamp */
|
|
30
|
-
lastUpdated?: Date;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Menu stack for navigation
|
|
34
|
-
*/
|
|
35
|
-
export declare class MenuStack {
|
|
36
|
-
private stack;
|
|
37
|
-
push(menu: string): void;
|
|
38
|
-
pop(): string;
|
|
39
|
-
current(): string | undefined;
|
|
40
|
-
depth(): number;
|
|
41
|
-
canGoBack(): boolean;
|
|
42
|
-
clear(): void;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Get menu context (service status, user count)
|
|
46
|
-
*/
|
|
47
|
-
export declare function getMenuContext(options?: MenuOptions): Promise<MenuContext>;
|
|
48
|
-
/**
|
|
49
|
-
* Format menu header with context
|
|
50
|
-
*/
|
|
51
|
-
export declare function formatMenuHeader(context: MenuContext): string;
|
|
52
21
|
/**
|
|
53
22
|
* Get main menu options
|
|
54
23
|
*/
|
|
55
24
|
export declare function getMainMenuOptions(): any[];
|
|
56
|
-
/**
|
|
57
|
-
* Get menu depth (for Constitution compliance - max 3 levels)
|
|
58
|
-
*/
|
|
59
|
-
export declare function getMenuDepth(): number;
|
|
60
|
-
/**
|
|
61
|
-
* Format a menu option with appropriate icon
|
|
62
|
-
*/
|
|
63
|
-
export declare function formatMenuOption(name: string, value: string): {
|
|
64
|
-
name: string;
|
|
65
|
-
value: string;
|
|
66
|
-
};
|
|
67
25
|
/**
|
|
68
26
|
* Show a menu and get user selection
|
|
69
27
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uBAAuB;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAOD;;GAEG;AAEH,wBAAgB,kBAAkB,IAAI,GAAG,EAAE,CA+C1C;AAED;;GAEG;AAEH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQhF;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CA0EnG;AA+ED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAQrD;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoE9E"}
|
|
@@ -10,12 +10,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
10
10
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.MenuStack = void 0;
|
|
14
|
-
exports.getMenuContext = getMenuContext;
|
|
15
|
-
exports.formatMenuHeader = formatMenuHeader;
|
|
16
13
|
exports.getMainMenuOptions = getMainMenuOptions;
|
|
17
|
-
exports.getMenuDepth = getMenuDepth;
|
|
18
|
-
exports.formatMenuOption = formatMenuOption;
|
|
19
14
|
exports.showMenu = showMenu;
|
|
20
15
|
exports.handleMenuSelection = handleMenuSelection;
|
|
21
16
|
exports.handleSigInt = handleSigInt;
|
|
@@ -24,178 +19,70 @@ const prompts_1 = require("@inquirer/prompts");
|
|
|
24
19
|
const chalk_1 = __importDefault(require("chalk"));
|
|
25
20
|
const logger_1 = __importDefault(require("../utils/logger"));
|
|
26
21
|
const exit_codes_1 = require("../constants/exit-codes");
|
|
27
|
-
const systemd_manager_1 = require("../services/systemd-manager");
|
|
28
|
-
const user_manager_1 = require("../services/user-manager");
|
|
29
22
|
const service_1 = require("./service");
|
|
30
23
|
const user_1 = require("./user");
|
|
31
24
|
const ui_symbols_1 = require("../constants/ui-symbols");
|
|
32
25
|
const i18n_1 = require("../config/i18n");
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
pop() {
|
|
44
|
-
if (this.stack.length === 0) {
|
|
45
|
-
throw new Error('Cannot pop from empty menu stack');
|
|
46
|
-
}
|
|
47
|
-
return this.stack.pop();
|
|
48
|
-
}
|
|
49
|
-
current() {
|
|
50
|
-
return this.stack[this.stack.length - 1];
|
|
51
|
-
}
|
|
52
|
-
depth() {
|
|
53
|
-
return this.stack.length;
|
|
54
|
-
}
|
|
55
|
-
canGoBack() {
|
|
56
|
-
return this.stack.length > 0;
|
|
57
|
-
}
|
|
58
|
-
clear() {
|
|
59
|
-
this.stack = [];
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exports.MenuStack = MenuStack;
|
|
63
|
-
// Global menu stack instance
|
|
64
|
-
const menuStack = new MenuStack();
|
|
65
|
-
/**
|
|
66
|
-
* Get menu context (service status, user count)
|
|
67
|
-
*/
|
|
68
|
-
async function getMenuContext(options = {}) {
|
|
69
|
-
const serviceName = options.serviceName || 'xray';
|
|
70
|
-
try {
|
|
71
|
-
const systemdManager = new systemd_manager_1.SystemdManager(serviceName);
|
|
72
|
-
const userManager = new user_manager_1.UserManager(options.configPath, serviceName);
|
|
73
|
-
const [status, users] = await Promise.all([
|
|
74
|
-
systemdManager.getStatus(),
|
|
75
|
-
userManager.listUsers(),
|
|
76
|
-
]);
|
|
77
|
-
return {
|
|
78
|
-
serviceStatus: status.healthy ? 'active' : status.active ? status.subState : 'inactive',
|
|
79
|
-
userCount: users.length,
|
|
80
|
-
lastUpdated: new Date(),
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
catch {
|
|
84
|
-
// If service status fails, return unknown
|
|
85
|
-
return {
|
|
86
|
-
serviceStatus: 'unknown',
|
|
87
|
-
userCount: 0,
|
|
88
|
-
lastUpdated: new Date(),
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Format menu header with context
|
|
94
|
-
*/
|
|
95
|
-
function formatMenuHeader(context) {
|
|
96
|
-
const trans = (0, i18n_1.t)();
|
|
97
|
-
const status = context.serviceStatus || 'unknown';
|
|
98
|
-
const userCount = context.userCount || 0;
|
|
99
|
-
// Translate status
|
|
100
|
-
let statusText = status;
|
|
101
|
-
if (status === 'active')
|
|
102
|
-
statusText = trans.status.active;
|
|
103
|
-
else if (status === 'inactive')
|
|
104
|
-
statusText = trans.status.inactive;
|
|
105
|
-
else
|
|
106
|
-
statusText = trans.status.unknown;
|
|
107
|
-
const statusColor = status === 'active' ? chalk_1.default.green : status === 'inactive' ? chalk_1.default.red : chalk_1.default.yellow;
|
|
108
|
-
return `${chalk_1.default.gray(trans.status.serviceStatus + ':')} ${statusColor(statusText)} ${chalk_1.default.gray(trans.status.userCount + ':')} ${chalk_1.default.cyan(String(userCount))}`;
|
|
109
|
-
}
|
|
26
|
+
const layout_manager_1 = __importDefault(require("../services/layout-manager"));
|
|
27
|
+
const screen_manager_1 = require("../services/screen-manager");
|
|
28
|
+
const dashboard_widget_1 = require("../components/dashboard-widget");
|
|
29
|
+
const navigation_manager_1 = require("../services/navigation-manager");
|
|
30
|
+
const theme_1 = require("../constants/theme");
|
|
31
|
+
// Global instances
|
|
32
|
+
const screenManager = new screen_manager_1.ScreenManager();
|
|
33
|
+
const navigationManager = new navigation_manager_1.NavigationManager();
|
|
34
|
+
let dashboardWidget;
|
|
110
35
|
/**
|
|
111
36
|
* Get main menu options
|
|
112
37
|
*/
|
|
113
38
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
114
39
|
function getMainMenuOptions() {
|
|
115
40
|
const trans = (0, i18n_1.t)();
|
|
41
|
+
// Unified color theme: Icons use accents, text uses neutral/primary
|
|
116
42
|
return [
|
|
117
43
|
// Service Operations Group
|
|
118
44
|
{
|
|
119
|
-
name:
|
|
45
|
+
name: `${theme_1.THEME.primary(ui_symbols_1.menuIcons.STATUS)} ${theme_1.THEME.neutral(trans.menu.viewStatus)}`,
|
|
120
46
|
value: 'service-status',
|
|
121
47
|
},
|
|
122
48
|
{
|
|
123
|
-
name:
|
|
49
|
+
name: `${theme_1.THEME.success(ui_symbols_1.menuIcons.START)} ${theme_1.THEME.neutral(trans.menu.startService)}`,
|
|
124
50
|
value: 'service-start',
|
|
125
51
|
},
|
|
126
52
|
{
|
|
127
|
-
name:
|
|
53
|
+
name: `${theme_1.THEME.error(ui_symbols_1.menuIcons.STOP)} ${theme_1.THEME.neutral(trans.menu.stopService)}`,
|
|
128
54
|
value: 'service-stop',
|
|
129
55
|
},
|
|
130
56
|
{
|
|
131
|
-
name:
|
|
57
|
+
name: `${theme_1.THEME.warning(ui_symbols_1.menuIcons.RESTART)} ${theme_1.THEME.neutral(trans.menu.restartService)}`,
|
|
132
58
|
value: 'service-restart',
|
|
133
59
|
},
|
|
134
60
|
new prompts_1.Separator(),
|
|
135
61
|
// Management Group
|
|
136
62
|
{
|
|
137
|
-
name:
|
|
63
|
+
name: `${theme_1.THEME.secondary(ui_symbols_1.menuIcons.USER)} ${theme_1.THEME.neutral(trans.menu.userManagement)}`,
|
|
138
64
|
value: 'user',
|
|
139
65
|
},
|
|
140
66
|
{
|
|
141
|
-
name:
|
|
67
|
+
name: `${theme_1.THEME.secondary(ui_symbols_1.menuIcons.CONFIG)} ${theme_1.THEME.neutral(trans.menu.configManagement)}`,
|
|
142
68
|
value: 'config',
|
|
143
69
|
},
|
|
144
70
|
{
|
|
145
|
-
name:
|
|
71
|
+
name: `${theme_1.THEME.neutral(ui_symbols_1.menuIcons.LOGS)} ${theme_1.THEME.neutral(trans.menu.viewLogs)}`,
|
|
146
72
|
value: 'logs',
|
|
147
73
|
},
|
|
148
74
|
new prompts_1.Separator(),
|
|
149
75
|
// Language & Exit Group
|
|
150
76
|
{
|
|
151
|
-
name:
|
|
77
|
+
name: `${theme_1.THEME.primary(ui_symbols_1.menuIcons.LANGUAGE)} ${theme_1.THEME.neutral(trans.menu.switchLanguage)}`,
|
|
152
78
|
value: 'switch-language',
|
|
153
79
|
},
|
|
154
80
|
{
|
|
155
|
-
name:
|
|
81
|
+
name: `${theme_1.THEME.error(ui_symbols_1.menuIcons.EXIT)} ${theme_1.THEME.neutral(trans.menu.exit)}`,
|
|
156
82
|
value: 'exit',
|
|
157
83
|
},
|
|
158
84
|
];
|
|
159
85
|
}
|
|
160
|
-
/**
|
|
161
|
-
* Get menu depth (for Constitution compliance - max 3 levels)
|
|
162
|
-
*/
|
|
163
|
-
function getMenuDepth() {
|
|
164
|
-
// Main menu (1) -> Submenu (2) -> Action (3)
|
|
165
|
-
return 3;
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Format a menu option with appropriate icon
|
|
169
|
-
*/
|
|
170
|
-
function formatMenuOption(name, value) {
|
|
171
|
-
// Add icon based on value type using menuIcons
|
|
172
|
-
let icon = '•';
|
|
173
|
-
if (value.includes('service') || value.includes('status')) {
|
|
174
|
-
icon = ui_symbols_1.menuIcons.STATUS;
|
|
175
|
-
}
|
|
176
|
-
else if (value.includes('user')) {
|
|
177
|
-
icon = ui_symbols_1.menuIcons.USER;
|
|
178
|
-
}
|
|
179
|
-
else if (value.includes('config')) {
|
|
180
|
-
icon = ui_symbols_1.menuIcons.CONFIG;
|
|
181
|
-
}
|
|
182
|
-
else if (value.includes('log')) {
|
|
183
|
-
icon = ui_symbols_1.menuIcons.LOGS;
|
|
184
|
-
}
|
|
185
|
-
else if (value.includes('start')) {
|
|
186
|
-
icon = ui_symbols_1.menuIcons.START;
|
|
187
|
-
}
|
|
188
|
-
else if (value.includes('stop')) {
|
|
189
|
-
icon = ui_symbols_1.menuIcons.STOP;
|
|
190
|
-
}
|
|
191
|
-
else if (value.includes('restart')) {
|
|
192
|
-
icon = ui_symbols_1.menuIcons.RESTART;
|
|
193
|
-
}
|
|
194
|
-
return {
|
|
195
|
-
name: `${icon} ${name}`,
|
|
196
|
-
value,
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
86
|
/**
|
|
200
87
|
* Show a menu and get user selection
|
|
201
88
|
*/
|
|
@@ -214,7 +101,6 @@ async function showMenu(options, message) {
|
|
|
214
101
|
async function handleMenuSelection(selection, options) {
|
|
215
102
|
switch (selection) {
|
|
216
103
|
case 'switch-language':
|
|
217
|
-
logger_1.default.newline();
|
|
218
104
|
(0, i18n_1.toggleLanguage)();
|
|
219
105
|
const trans = (0, i18n_1.t)();
|
|
220
106
|
logger_1.default.success(trans.messages.languageSwitched);
|
|
@@ -223,46 +109,48 @@ async function handleMenuSelection(selection, options) {
|
|
|
223
109
|
case 'exit':
|
|
224
110
|
return true; // Signal to exit
|
|
225
111
|
case 'service-status':
|
|
226
|
-
logger_1.default.newline();
|
|
227
112
|
await (0, service_1.displayServiceStatus)(options);
|
|
228
113
|
await promptContinue();
|
|
229
114
|
return false;
|
|
230
115
|
case 'service-start':
|
|
231
|
-
logger_1.default.newline();
|
|
232
116
|
await (0, service_1.startService)(options);
|
|
117
|
+
await dashboardWidget.refresh(); // Refresh dashboard after action
|
|
233
118
|
await promptContinue();
|
|
234
119
|
return false;
|
|
235
120
|
case 'service-stop':
|
|
236
|
-
logger_1.default.newline();
|
|
237
121
|
const confirmStop = await (0, prompts_1.confirm)({
|
|
238
|
-
message:
|
|
122
|
+
message: theme_1.THEME.warning('确定要停止服务吗?这将中断所有连接。'),
|
|
239
123
|
default: false,
|
|
240
124
|
});
|
|
241
125
|
if (confirmStop) {
|
|
242
126
|
await (0, service_1.stopService)(options);
|
|
127
|
+
await dashboardWidget.refresh(); // Refresh dashboard after action
|
|
243
128
|
}
|
|
244
129
|
else {
|
|
245
130
|
logger_1.default.info('已取消停止操作');
|
|
131
|
+
await promptContinue();
|
|
246
132
|
}
|
|
247
|
-
await promptContinue();
|
|
248
133
|
return false;
|
|
249
134
|
case 'service-restart':
|
|
250
|
-
logger_1.default.newline();
|
|
251
135
|
const confirmRestart = await (0, prompts_1.confirm)({
|
|
252
|
-
message:
|
|
136
|
+
message: theme_1.THEME.warning('确定要重启服务吗?'),
|
|
253
137
|
default: true,
|
|
254
138
|
});
|
|
255
139
|
if (confirmRestart) {
|
|
256
140
|
await (0, service_1.restartService)(options);
|
|
141
|
+
await dashboardWidget.refresh(); // Refresh dashboard after action
|
|
257
142
|
}
|
|
258
143
|
else {
|
|
259
144
|
logger_1.default.info('已取消重启操作');
|
|
145
|
+
await promptContinue();
|
|
260
146
|
}
|
|
261
|
-
await promptContinue();
|
|
262
147
|
return false;
|
|
263
148
|
case 'user':
|
|
264
149
|
// Show user management submenu
|
|
265
|
-
|
|
150
|
+
navigationManager.push('User Management');
|
|
151
|
+
const result = await handleUserManagementMenu(options);
|
|
152
|
+
navigationManager.pop();
|
|
153
|
+
return result;
|
|
266
154
|
case 'config':
|
|
267
155
|
logger_1.default.info('配置管理功能即将推出...');
|
|
268
156
|
await promptContinue();
|
|
@@ -281,42 +169,51 @@ async function handleMenuSelection(selection, options) {
|
|
|
281
169
|
*/
|
|
282
170
|
async function handleUserManagementMenu(options) {
|
|
283
171
|
while (true) {
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
172
|
+
// Render Frame
|
|
173
|
+
screenManager.clear();
|
|
174
|
+
await dashboardWidget.refresh();
|
|
175
|
+
screenManager.renderHeader(dashboardWidget, navigationManager.getBreadcrumb());
|
|
176
|
+
// Submenu Header - Use theme colors
|
|
177
|
+
console.log(theme_1.THEME.secondary(`${ui_symbols_1.menuIcons.USER} 用户管理`));
|
|
287
178
|
logger_1.default.separator();
|
|
288
179
|
logger_1.default.newline();
|
|
289
180
|
const userMenuOptions = [
|
|
290
|
-
{ name:
|
|
291
|
-
{ name:
|
|
292
|
-
{ name:
|
|
293
|
-
{ name:
|
|
181
|
+
{ name: `${theme_1.THEME.primary('[列表]')} ${theme_1.THEME.neutral('查看用户列表')}`, value: 'user-list' },
|
|
182
|
+
{ name: `${theme_1.THEME.success('[添加]')} ${theme_1.THEME.neutral('添加用户')}`, value: 'user-add' },
|
|
183
|
+
{ name: `${theme_1.THEME.error('[删除]')} ${theme_1.THEME.neutral('删除用户')}`, value: 'user-delete' },
|
|
184
|
+
{ name: `${theme_1.THEME.secondary('[分享]')} ${theme_1.THEME.neutral('显示分享链接')}`, value: 'user-share' },
|
|
294
185
|
{ type: 'separator' },
|
|
295
|
-
{ name:
|
|
186
|
+
{ name: `${theme_1.THEME.neutral('[返回]')} ${theme_1.THEME.neutral('返回主菜单')}`, value: 'back' },
|
|
296
187
|
];
|
|
297
188
|
const selection = await showMenu(userMenuOptions, chalk_1.default.bold('请选择操作:'));
|
|
298
189
|
switch (selection) {
|
|
299
190
|
case 'back':
|
|
300
191
|
return false; // Return to main menu
|
|
301
192
|
case 'user-list':
|
|
302
|
-
|
|
193
|
+
navigationManager.push('List Users');
|
|
303
194
|
await (0, user_1.listUsers)(options);
|
|
304
195
|
await promptContinue();
|
|
196
|
+
navigationManager.pop();
|
|
305
197
|
break;
|
|
306
198
|
case 'user-add':
|
|
307
|
-
|
|
199
|
+
navigationManager.push('Add User');
|
|
308
200
|
await (0, user_1.addUser)(options);
|
|
201
|
+
await dashboardWidget.refresh();
|
|
309
202
|
await promptContinue();
|
|
203
|
+
navigationManager.pop();
|
|
310
204
|
break;
|
|
311
205
|
case 'user-delete':
|
|
312
|
-
|
|
206
|
+
navigationManager.push('Delete User');
|
|
313
207
|
await (0, user_1.deleteUser)(options);
|
|
208
|
+
await dashboardWidget.refresh();
|
|
314
209
|
await promptContinue();
|
|
210
|
+
navigationManager.pop();
|
|
315
211
|
break;
|
|
316
212
|
case 'user-share':
|
|
317
|
-
|
|
213
|
+
navigationManager.push('Share Link');
|
|
318
214
|
await (0, user_1.showUserShare)(options);
|
|
319
215
|
await promptContinue();
|
|
216
|
+
navigationManager.pop();
|
|
320
217
|
break;
|
|
321
218
|
default:
|
|
322
219
|
logger_1.default.warn(`未知选项: ${selection}`);
|
|
@@ -339,7 +236,7 @@ async function promptContinue() {
|
|
|
339
236
|
async function handleSigInt() {
|
|
340
237
|
logger_1.default.newline();
|
|
341
238
|
const shouldExit = await (0, prompts_1.confirm)({
|
|
342
|
-
message:
|
|
239
|
+
message: theme_1.THEME.warning('确定要退出吗?'),
|
|
343
240
|
default: false,
|
|
344
241
|
});
|
|
345
242
|
return shouldExit;
|
|
@@ -348,7 +245,19 @@ async function handleSigInt() {
|
|
|
348
245
|
* Main interactive menu loop
|
|
349
246
|
*/
|
|
350
247
|
async function startInteractiveMenu(options) {
|
|
351
|
-
|
|
248
|
+
const trans = (0, i18n_1.t)();
|
|
249
|
+
// Detect terminal size and validate
|
|
250
|
+
const terminalSize = layout_manager_1.default.detectTerminalSize();
|
|
251
|
+
const validation = layout_manager_1.default.validateTerminalSize(terminalSize);
|
|
252
|
+
// Initialize Dashboard Widget
|
|
253
|
+
dashboardWidget = new dashboard_widget_1.DashboardWidget(options.serviceName, options.configPath);
|
|
254
|
+
// Warn if terminal is too small
|
|
255
|
+
if (!validation.isValid) {
|
|
256
|
+
logger_1.default.newline();
|
|
257
|
+
logger_1.default.warn(validation.message);
|
|
258
|
+
logger_1.default.info(validation.suggestion);
|
|
259
|
+
logger_1.default.newline();
|
|
260
|
+
}
|
|
352
261
|
// Setup SIGINT handler
|
|
353
262
|
let sigintHandled = false;
|
|
354
263
|
const sigintHandler = async () => {
|
|
@@ -367,36 +276,27 @@ async function startInteractiveMenu(options) {
|
|
|
367
276
|
};
|
|
368
277
|
process.on('SIGINT', sigintHandler);
|
|
369
278
|
try {
|
|
370
|
-
// Get menu context
|
|
371
|
-
const context = await getMenuContext(options);
|
|
372
279
|
// Main menu loop
|
|
373
280
|
let shouldExit = false;
|
|
374
281
|
while (!shouldExit) {
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
//
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
282
|
+
// 1. Clear Screen
|
|
283
|
+
screenManager.clear();
|
|
284
|
+
// 2. Refresh Dashboard Data
|
|
285
|
+
await dashboardWidget.refresh();
|
|
286
|
+
// 3. Render Header (Dashboard + Breadcrumb)
|
|
287
|
+
screenManager.renderHeader(dashboardWidget, navigationManager.getBreadcrumb());
|
|
381
288
|
logger_1.default.newline();
|
|
382
289
|
// Get menu options
|
|
383
290
|
const menuOptions = getMainMenuOptions();
|
|
384
291
|
// Show menu and get selection
|
|
385
|
-
const selection = await showMenu(menuOptions, chalk_1.default.bold(
|
|
292
|
+
const selection = await showMenu(menuOptions, chalk_1.default.bold(trans.actions.selectAction));
|
|
386
293
|
// Handle selection
|
|
387
294
|
shouldExit = await handleMenuSelection(selection, options);
|
|
388
|
-
// Update context after each action
|
|
389
|
-
if (!shouldExit) {
|
|
390
|
-
const updatedContext = await getMenuContext(options);
|
|
391
|
-
Object.assign(context, updatedContext);
|
|
392
|
-
}
|
|
393
295
|
}
|
|
394
|
-
logger_1.default.success('感谢使用 Xray Manager!');
|
|
296
|
+
logger_1.default.success(trans.messages.thankYou || '感谢使用 Xray Manager!');
|
|
395
297
|
}
|
|
396
298
|
finally {
|
|
397
|
-
// Cleanup
|
|
398
299
|
process.removeListener('SIGINT', sigintHandler);
|
|
399
|
-
menuStack.clear();
|
|
400
300
|
}
|
|
401
301
|
}
|
|
402
302
|
//# sourceMappingURL=interactive.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/commands/service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/commands/service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,uBAAuB;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA8F7F;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BrF;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BpF;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCvF"}
|
package/dist/commands/service.js
CHANGED
|
@@ -19,6 +19,8 @@ const logger_1 = __importDefault(require("../utils/logger"));
|
|
|
19
19
|
const chalk_1 = __importDefault(require("chalk"));
|
|
20
20
|
const ora_1 = __importDefault(require("ora"));
|
|
21
21
|
const ui_symbols_1 = require("../constants/ui-symbols");
|
|
22
|
+
const layout_manager_1 = __importDefault(require("../services/layout-manager"));
|
|
23
|
+
const layout_1 = require("../utils/layout");
|
|
22
24
|
/**
|
|
23
25
|
* Display service status
|
|
24
26
|
*
|
|
@@ -39,31 +41,47 @@ async function displayServiceStatus(options = {}) {
|
|
|
39
41
|
// 格式化显示
|
|
40
42
|
logger_1.default.newline();
|
|
41
43
|
logger_1.default.separator();
|
|
42
|
-
|
|
44
|
+
// Use responsive header based on terminal width
|
|
45
|
+
const terminalSize = layout_manager_1.default.detectTerminalSize();
|
|
46
|
+
const headerTitle = `${ui_symbols_1.menuIcons.STATUS} 服务状态: ${serviceName}`;
|
|
47
|
+
const headerText = (0, layout_1.renderHeader)(headerTitle, terminalSize.width, 'left');
|
|
48
|
+
console.log(chalk_1.default.bold.cyan(headerText));
|
|
43
49
|
logger_1.default.separator();
|
|
44
50
|
logger_1.default.newline();
|
|
45
|
-
//
|
|
51
|
+
// Group 1: 基本状态信息
|
|
46
52
|
const statusIcon = status.healthy ? '[正常]' : status.active ? '[活动]' : '[停止]';
|
|
47
53
|
const statusText = status.healthy
|
|
48
54
|
? chalk_1.default.green('运行中')
|
|
49
55
|
: status.active
|
|
50
56
|
? chalk_1.default.yellow(status.subState)
|
|
51
57
|
: chalk_1.default.red('已停止');
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
if (status.memory) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
58
|
+
const basicStatusContent = `状态: ${statusText}
|
|
59
|
+
活动状态: ${status.activeState}
|
|
60
|
+
子状态: ${status.subState}
|
|
61
|
+
已加载: ${status.loaded ? '是' : '否'}`;
|
|
62
|
+
const basicStatusSection = (0, layout_1.renderSection)(`${statusIcon} 基本状态`, basicStatusContent, { showBorder: false });
|
|
63
|
+
console.log(basicStatusSection);
|
|
64
|
+
// Group 2: 进程信息 (if available)
|
|
65
|
+
if (status.pid || status.memory || status.uptime) {
|
|
66
|
+
logger_1.default.newline();
|
|
67
|
+
let processContent = '';
|
|
68
|
+
if (status.pid) {
|
|
69
|
+
processContent += `进程 PID: ${status.pid}\n`;
|
|
70
|
+
}
|
|
71
|
+
if (status.memory) {
|
|
72
|
+
processContent += `内存占用: ${status.memory}\n`;
|
|
73
|
+
}
|
|
74
|
+
if (status.uptime) {
|
|
75
|
+
processContent += `运行时长: ${status.uptime}`;
|
|
76
|
+
}
|
|
77
|
+
const processSection = (0, layout_1.renderSection)('[信息] 进程信息', processContent.trim(), { showBorder: false });
|
|
78
|
+
console.log(processSection);
|
|
64
79
|
}
|
|
80
|
+
// Group 3: 其他信息 (if available)
|
|
65
81
|
if (status.restarts !== undefined && status.restarts > 0) {
|
|
66
|
-
|
|
82
|
+
logger_1.default.newline();
|
|
83
|
+
const otherSection = (0, layout_1.renderSection)('[警告] 重启记录', `重启次数: ${status.restarts}`, { showBorder: false });
|
|
84
|
+
console.log(chalk_1.default.yellow(otherSection));
|
|
67
85
|
}
|
|
68
86
|
logger_1.default.newline();
|
|
69
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/commands/service.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/commands/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/commands/user.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/commands/user.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uBAAuB;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4D/E;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC7E;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDhF;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DnF"}
|