react-native-fxview 1.0.3-beta1 → 1.0.3-beta2
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/FXCategoryController.js +24 -20
- package/FXCategoryController.ts +21 -20
- package/FXView.js +5 -5
- package/FXView.tsx +5 -5
- package/FXViewController.js +21 -17
- package/FXViewController.ts +18 -17
- package/FXViewManager.js +14 -14
- package/FXViewManager.ts +14 -14
- package/logger/FXLogger.d.ts +15 -12
- package/logger/FXLogger.js +34 -32
- package/logger/FXLogger.ts +35 -34
- package/package.json +1 -1
- package/types.ts +1 -1
- package/FXViewCategoryController.d.ts +0 -100
- package/FXViewCategoryController.js +0 -270
package/FXViewController.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { FXComponentController, FXComponentItem } from "./types";
|
|
3
3
|
import { FXCategoryController } from "./FXCategoryController";
|
|
4
|
+
import logger from "./logger/FXLogger";
|
|
4
5
|
|
|
5
6
|
export class FXViewController {
|
|
6
7
|
public fxViewId: string;
|
|
@@ -27,7 +28,7 @@ export class FXViewController {
|
|
|
27
28
|
categoryId?: string,
|
|
28
29
|
componentId?: string,
|
|
29
30
|
): FXComponentController {
|
|
30
|
-
|
|
31
|
+
logger.info("FXViewController.add", `[${this.fxViewId}]`, {
|
|
31
32
|
categoryId,
|
|
32
33
|
componentId,
|
|
33
34
|
});
|
|
@@ -48,7 +49,7 @@ export class FXViewController {
|
|
|
48
49
|
categoryId?: string,
|
|
49
50
|
componentId?: string,
|
|
50
51
|
): FXComponentController {
|
|
51
|
-
|
|
52
|
+
logger.info("FXViewController.build", `[${this.fxViewId}]`, {
|
|
52
53
|
categoryId,
|
|
53
54
|
componentId,
|
|
54
55
|
});
|
|
@@ -63,14 +64,14 @@ export class FXViewController {
|
|
|
63
64
|
* @param categoryId 分类 ID(可选,默认 "default")
|
|
64
65
|
*/
|
|
65
66
|
show(componentId: string, categoryId?: string): void {
|
|
66
|
-
|
|
67
|
+
logger.info("FXViewController.show", `[${this.fxViewId}]`, {
|
|
67
68
|
categoryId,
|
|
68
69
|
componentId,
|
|
69
70
|
});
|
|
70
71
|
|
|
71
72
|
const categoryController = this.getCategoryController(categoryId);
|
|
72
73
|
if (!categoryController) {
|
|
73
|
-
|
|
74
|
+
logger.warn(
|
|
74
75
|
`CategoryController ${categoryId || "default"} not found in view ${this.fxViewId}`,
|
|
75
76
|
);
|
|
76
77
|
return;
|
|
@@ -85,14 +86,14 @@ export class FXViewController {
|
|
|
85
86
|
* @param categoryId 分类 ID(可选,默认 "default")
|
|
86
87
|
*/
|
|
87
88
|
hide(componentId: string, categoryId?: string): void {
|
|
88
|
-
|
|
89
|
+
logger.info("FXViewController.hide", `[${this.fxViewId}]`, {
|
|
89
90
|
categoryId,
|
|
90
91
|
componentId,
|
|
91
92
|
});
|
|
92
93
|
|
|
93
94
|
const categoryController = this.getCategoryController(categoryId);
|
|
94
95
|
if (!categoryController) {
|
|
95
|
-
|
|
96
|
+
logger.warn(
|
|
96
97
|
`CategoryController ${categoryId || "default"} not found in view ${this.fxViewId}`,
|
|
97
98
|
);
|
|
98
99
|
return;
|
|
@@ -112,14 +113,14 @@ export class FXViewController {
|
|
|
112
113
|
component: React.ReactNode,
|
|
113
114
|
categoryId?: string,
|
|
114
115
|
): void {
|
|
115
|
-
|
|
116
|
+
logger.info("FXViewController.update", `[${this.fxViewId}]`, {
|
|
116
117
|
categoryId,
|
|
117
118
|
componentId,
|
|
118
119
|
});
|
|
119
120
|
|
|
120
121
|
const categoryController = this.getCategoryController(categoryId);
|
|
121
122
|
if (!categoryController) {
|
|
122
|
-
|
|
123
|
+
logger.warn(
|
|
123
124
|
`CategoryController ${categoryId || "default"} not found in view ${this.fxViewId}`,
|
|
124
125
|
);
|
|
125
126
|
return;
|
|
@@ -134,14 +135,14 @@ export class FXViewController {
|
|
|
134
135
|
* @param categoryId 分类 ID(可选,默认 "default")
|
|
135
136
|
*/
|
|
136
137
|
remove(componentId: string, categoryId?: string): void {
|
|
137
|
-
|
|
138
|
+
logger.info("FXViewController.remove", `[${this.fxViewId}]`, {
|
|
138
139
|
categoryId,
|
|
139
140
|
componentId,
|
|
140
141
|
});
|
|
141
142
|
|
|
142
143
|
const categoryController = this.getCategoryController(categoryId);
|
|
143
144
|
if (!categoryController) {
|
|
144
|
-
|
|
145
|
+
logger.warn(
|
|
145
146
|
`CategoryController ${categoryId || "default"} not found in view ${this.fxViewId}`,
|
|
146
147
|
);
|
|
147
148
|
return;
|
|
@@ -160,13 +161,13 @@ export class FXViewController {
|
|
|
160
161
|
* @param categoryId 分类 ID(可选,默认 "default")
|
|
161
162
|
*/
|
|
162
163
|
removeLast(categoryId?: string): void {
|
|
163
|
-
|
|
164
|
+
logger.info("FXViewController.removeLast", `[${this.fxViewId}]`, {
|
|
164
165
|
categoryId,
|
|
165
166
|
});
|
|
166
167
|
|
|
167
168
|
const categoryController = this.getCategoryController(categoryId);
|
|
168
169
|
if (!categoryController) {
|
|
169
|
-
|
|
170
|
+
logger.warn(
|
|
170
171
|
`CategoryController ${categoryId || "default"} not found in view ${this.fxViewId}`,
|
|
171
172
|
);
|
|
172
173
|
return;
|
|
@@ -184,13 +185,13 @@ export class FXViewController {
|
|
|
184
185
|
* 清空所有分类的所有组件
|
|
185
186
|
*/
|
|
186
187
|
clearAll(): void {
|
|
187
|
-
|
|
188
|
+
logger.info("FXViewController.clearAll", `[${this.fxViewId}]`);
|
|
188
189
|
|
|
189
190
|
this.categoryControllerMap.forEach((controller) => {
|
|
190
191
|
controller.clearAll();
|
|
191
192
|
});
|
|
192
193
|
this.categoryControllerMap.clear();
|
|
193
|
-
|
|
194
|
+
logger.info(
|
|
194
195
|
"FXViewController.clearAll done",
|
|
195
196
|
this.categoryControllerMap.size,
|
|
196
197
|
);
|
|
@@ -202,13 +203,13 @@ export class FXViewController {
|
|
|
202
203
|
*/
|
|
203
204
|
clearCategory(categoryId?: string): void {
|
|
204
205
|
const finalCategoryId = categoryId || "default";
|
|
205
|
-
|
|
206
|
+
logger.info("FXViewController.clearCategory", `[${this.fxViewId}]`, {
|
|
206
207
|
categoryId: finalCategoryId,
|
|
207
208
|
});
|
|
208
209
|
|
|
209
210
|
const categoryController = this.getCategoryController(categoryId);
|
|
210
211
|
if (!categoryController) {
|
|
211
|
-
|
|
212
|
+
logger.warn(
|
|
212
213
|
`CategoryController ${finalCategoryId} not found in view ${this.fxViewId}`,
|
|
213
214
|
);
|
|
214
215
|
return;
|
|
@@ -363,7 +364,7 @@ export class FXViewController {
|
|
|
363
364
|
*/
|
|
364
365
|
private removeCategory(categoryId?: string): void {
|
|
365
366
|
const finalCategoryId = categoryId || "default";
|
|
366
|
-
|
|
367
|
+
logger.info("FXViewController.removeCategory", `[${this.fxViewId}]`, {
|
|
367
368
|
categoryId: finalCategoryId,
|
|
368
369
|
});
|
|
369
370
|
this.categoryControllerMap.delete(finalCategoryId);
|
package/FXViewManager.js
CHANGED
|
@@ -31,7 +31,7 @@ class FXViewManager {
|
|
|
31
31
|
* @returns 组件控制器
|
|
32
32
|
*/
|
|
33
33
|
add(component, fxViewId, categoryId, componentId) {
|
|
34
|
-
FXLogger_1.default.
|
|
34
|
+
FXLogger_1.default.log("FXViewManager", "add", {
|
|
35
35
|
fxViewId,
|
|
36
36
|
categoryId,
|
|
37
37
|
componentId,
|
|
@@ -48,7 +48,7 @@ class FXViewManager {
|
|
|
48
48
|
* @returns 组件控制器
|
|
49
49
|
*/
|
|
50
50
|
build(component, fxViewId, categoryId, componentId) {
|
|
51
|
-
FXLogger_1.default.
|
|
51
|
+
FXLogger_1.default.log("FXViewManager", "build", {
|
|
52
52
|
fxViewId,
|
|
53
53
|
categoryId,
|
|
54
54
|
componentId,
|
|
@@ -63,7 +63,7 @@ class FXViewManager {
|
|
|
63
63
|
* @param categoryId 分类 ID(可选,默认 "default")
|
|
64
64
|
*/
|
|
65
65
|
show(componentId, fxViewId, categoryId) {
|
|
66
|
-
FXLogger_1.default.
|
|
66
|
+
FXLogger_1.default.log("FXViewManager", "show", {
|
|
67
67
|
fxViewId,
|
|
68
68
|
categoryId,
|
|
69
69
|
componentId,
|
|
@@ -82,7 +82,7 @@ class FXViewManager {
|
|
|
82
82
|
* @param categoryId 分类 ID(可选,默认 "default")
|
|
83
83
|
*/
|
|
84
84
|
hide(componentId, fxViewId, categoryId) {
|
|
85
|
-
FXLogger_1.default.
|
|
85
|
+
FXLogger_1.default.log("FXViewManager", "hide", {
|
|
86
86
|
fxViewId,
|
|
87
87
|
categoryId,
|
|
88
88
|
componentId,
|
|
@@ -102,7 +102,7 @@ class FXViewManager {
|
|
|
102
102
|
* @param categoryId 分类 ID(可选,默认 "default")
|
|
103
103
|
*/
|
|
104
104
|
update(componentId, component, fxViewId, categoryId) {
|
|
105
|
-
FXLogger_1.default.
|
|
105
|
+
FXLogger_1.default.log("FXViewManager", "update", {
|
|
106
106
|
fxViewId,
|
|
107
107
|
categoryId,
|
|
108
108
|
componentId,
|
|
@@ -121,7 +121,7 @@ class FXViewManager {
|
|
|
121
121
|
* @param categoryId 分类 ID(可选,默认 "default")
|
|
122
122
|
*/
|
|
123
123
|
remove(componentId, fxViewId, categoryId) {
|
|
124
|
-
FXLogger_1.default.
|
|
124
|
+
FXLogger_1.default.log("FXViewManager", "remove", {
|
|
125
125
|
fxViewId,
|
|
126
126
|
categoryId,
|
|
127
127
|
componentId,
|
|
@@ -139,7 +139,7 @@ class FXViewManager {
|
|
|
139
139
|
* @param categoryId 分类 ID(可选,默认 "default")
|
|
140
140
|
*/
|
|
141
141
|
removeLast(fxViewId, categoryId) {
|
|
142
|
-
FXLogger_1.default.
|
|
142
|
+
FXLogger_1.default.log("FXViewManager", "removeLast", {
|
|
143
143
|
fxViewId,
|
|
144
144
|
categoryId,
|
|
145
145
|
});
|
|
@@ -155,7 +155,7 @@ class FXViewManager {
|
|
|
155
155
|
* @param fxViewId 视图 ID(可选,清空所有视图)
|
|
156
156
|
*/
|
|
157
157
|
clearAll(fxViewId) {
|
|
158
|
-
FXLogger_1.default.
|
|
158
|
+
FXLogger_1.default.log("FXViewManager", "clearAll", { fxViewId });
|
|
159
159
|
if (fxViewId) {
|
|
160
160
|
// 清空指定视图
|
|
161
161
|
const viewController = this.getViewController(fxViewId);
|
|
@@ -176,7 +176,7 @@ class FXViewManager {
|
|
|
176
176
|
* @param fxViewId 视图 ID(可选,使用最近的视图)
|
|
177
177
|
*/
|
|
178
178
|
clearCategory(categoryId, fxViewId) {
|
|
179
|
-
FXLogger_1.default.
|
|
179
|
+
FXLogger_1.default.log("FXViewManager", "clearCategory", { fxViewId, categoryId });
|
|
180
180
|
const viewController = this.getViewController(fxViewId);
|
|
181
181
|
if (!viewController) {
|
|
182
182
|
FXLogger_1.default.warn("FXViewManager", `FXView ${fxViewId || "latest"} not found`);
|
|
@@ -193,7 +193,7 @@ class FXViewManager {
|
|
|
193
193
|
* @returns 视图控制器
|
|
194
194
|
*/
|
|
195
195
|
registerView(fxViewId, updateCallback) {
|
|
196
|
-
FXLogger_1.default.
|
|
196
|
+
FXLogger_1.default.log("FXViewManager", "registerView", fxViewId);
|
|
197
197
|
let viewController = this.viewControllerMap.get(fxViewId);
|
|
198
198
|
if (!viewController) {
|
|
199
199
|
viewController = new FXViewController_1.FXViewController(fxViewId);
|
|
@@ -215,7 +215,7 @@ class FXViewManager {
|
|
|
215
215
|
* @returns 是否成功注销
|
|
216
216
|
*/
|
|
217
217
|
unregisterView(fxViewId) {
|
|
218
|
-
FXLogger_1.default.
|
|
218
|
+
FXLogger_1.default.log("FXViewManager", "unregisterView", fxViewId);
|
|
219
219
|
const viewController = this.getViewController(fxViewId);
|
|
220
220
|
if (!viewController) {
|
|
221
221
|
FXLogger_1.default.warn("FXViewManager", `FXView ${fxViewId} not found, cannot unregister`);
|
|
@@ -240,7 +240,7 @@ class FXViewManager {
|
|
|
240
240
|
* @param callbacks 生命周期回调
|
|
241
241
|
*/
|
|
242
242
|
registerLifecycleCallbacks(callbacks) {
|
|
243
|
-
FXLogger_1.default.
|
|
243
|
+
FXLogger_1.default.log("FXViewManager", "registerLifecycleCallbacks");
|
|
244
244
|
this.viewLifecycleCallbacks.push(callbacks);
|
|
245
245
|
}
|
|
246
246
|
/**
|
|
@@ -248,7 +248,7 @@ class FXViewManager {
|
|
|
248
248
|
* @param callbacks 生命周期回调
|
|
249
249
|
*/
|
|
250
250
|
unregisterLifecycleCallbacks(callbacks) {
|
|
251
|
-
FXLogger_1.default.
|
|
251
|
+
FXLogger_1.default.log("FXViewManager", "unregisterLifecycleCallbacks");
|
|
252
252
|
this.viewLifecycleCallbacks = this.viewLifecycleCallbacks.filter((callback) => callback !== callbacks);
|
|
253
253
|
}
|
|
254
254
|
/**
|
|
@@ -265,7 +265,7 @@ class FXViewManager {
|
|
|
265
265
|
* @returns 组件列表
|
|
266
266
|
*/
|
|
267
267
|
getComponents(fxViewId, categoryId) {
|
|
268
|
-
FXLogger_1.default.
|
|
268
|
+
FXLogger_1.default.log("FXViewManager", "getComponents", { fxViewId, categoryId });
|
|
269
269
|
const finalFXViewId = fxViewId || this.getLatestFXViewId();
|
|
270
270
|
if (!finalFXViewId) {
|
|
271
271
|
FXLogger_1.default.warn("FXViewManager", "No FXView available");
|
package/FXViewManager.ts
CHANGED
|
@@ -42,7 +42,7 @@ export class FXViewManager {
|
|
|
42
42
|
categoryId?: string,
|
|
43
43
|
componentId?: string,
|
|
44
44
|
): FXComponentController {
|
|
45
|
-
logger.
|
|
45
|
+
logger.log("FXViewManager", "add", {
|
|
46
46
|
fxViewId,
|
|
47
47
|
categoryId,
|
|
48
48
|
componentId,
|
|
@@ -66,7 +66,7 @@ export class FXViewManager {
|
|
|
66
66
|
categoryId?: string,
|
|
67
67
|
componentId?: string,
|
|
68
68
|
): FXComponentController {
|
|
69
|
-
logger.
|
|
69
|
+
logger.log("FXViewManager", "build", {
|
|
70
70
|
fxViewId,
|
|
71
71
|
categoryId,
|
|
72
72
|
componentId,
|
|
@@ -83,7 +83,7 @@ export class FXViewManager {
|
|
|
83
83
|
* @param categoryId 分类 ID(可选,默认 "default")
|
|
84
84
|
*/
|
|
85
85
|
show(componentId: string, fxViewId?: string, categoryId?: string): void {
|
|
86
|
-
logger.
|
|
86
|
+
logger.log("FXViewManager", "show", {
|
|
87
87
|
fxViewId,
|
|
88
88
|
categoryId,
|
|
89
89
|
componentId,
|
|
@@ -105,7 +105,7 @@ export class FXViewManager {
|
|
|
105
105
|
* @param categoryId 分类 ID(可选,默认 "default")
|
|
106
106
|
*/
|
|
107
107
|
hide(componentId: string, fxViewId?: string, categoryId?: string): void {
|
|
108
|
-
logger.
|
|
108
|
+
logger.log("FXViewManager", "hide", {
|
|
109
109
|
fxViewId,
|
|
110
110
|
categoryId,
|
|
111
111
|
componentId,
|
|
@@ -133,7 +133,7 @@ export class FXViewManager {
|
|
|
133
133
|
fxViewId?: string,
|
|
134
134
|
categoryId?: string,
|
|
135
135
|
): void {
|
|
136
|
-
logger.
|
|
136
|
+
logger.log("FXViewManager", "update", {
|
|
137
137
|
fxViewId,
|
|
138
138
|
categoryId,
|
|
139
139
|
componentId,
|
|
@@ -155,7 +155,7 @@ export class FXViewManager {
|
|
|
155
155
|
* @param categoryId 分类 ID(可选,默认 "default")
|
|
156
156
|
*/
|
|
157
157
|
remove(componentId: string, fxViewId?: string, categoryId?: string): void {
|
|
158
|
-
logger.
|
|
158
|
+
logger.log("FXViewManager", "remove", {
|
|
159
159
|
fxViewId,
|
|
160
160
|
categoryId,
|
|
161
161
|
componentId,
|
|
@@ -176,7 +176,7 @@ export class FXViewManager {
|
|
|
176
176
|
* @param categoryId 分类 ID(可选,默认 "default")
|
|
177
177
|
*/
|
|
178
178
|
removeLast(fxViewId?: string, categoryId?: string): void {
|
|
179
|
-
logger.
|
|
179
|
+
logger.log("FXViewManager", "removeLast", {
|
|
180
180
|
fxViewId,
|
|
181
181
|
categoryId,
|
|
182
182
|
});
|
|
@@ -195,7 +195,7 @@ export class FXViewManager {
|
|
|
195
195
|
* @param fxViewId 视图 ID(可选,清空所有视图)
|
|
196
196
|
*/
|
|
197
197
|
clearAll(fxViewId?: string): void {
|
|
198
|
-
logger.
|
|
198
|
+
logger.log("FXViewManager", "clearAll", { fxViewId });
|
|
199
199
|
|
|
200
200
|
if (fxViewId) {
|
|
201
201
|
// 清空指定视图
|
|
@@ -217,7 +217,7 @@ export class FXViewManager {
|
|
|
217
217
|
* @param fxViewId 视图 ID(可选,使用最近的视图)
|
|
218
218
|
*/
|
|
219
219
|
clearCategory(categoryId: string, fxViewId?: string): void {
|
|
220
|
-
logger.
|
|
220
|
+
logger.log("FXViewManager", "clearCategory", { fxViewId, categoryId });
|
|
221
221
|
|
|
222
222
|
const viewController = this.getViewController(fxViewId);
|
|
223
223
|
if (!viewController) {
|
|
@@ -239,7 +239,7 @@ export class FXViewManager {
|
|
|
239
239
|
* @returns 视图控制器
|
|
240
240
|
*/
|
|
241
241
|
registerView(fxViewId: string, updateCallback: () => void): FXViewController {
|
|
242
|
-
logger.
|
|
242
|
+
logger.log("FXViewManager", "registerView", fxViewId);
|
|
243
243
|
|
|
244
244
|
let viewController = this.viewControllerMap.get(fxViewId);
|
|
245
245
|
|
|
@@ -264,7 +264,7 @@ export class FXViewManager {
|
|
|
264
264
|
* @returns 是否成功注销
|
|
265
265
|
*/
|
|
266
266
|
unregisterView(fxViewId: string): boolean {
|
|
267
|
-
logger.
|
|
267
|
+
logger.log("FXViewManager", "unregisterView", fxViewId);
|
|
268
268
|
|
|
269
269
|
const viewController = this.getViewController(fxViewId);
|
|
270
270
|
if (!viewController) {
|
|
@@ -299,7 +299,7 @@ export class FXViewManager {
|
|
|
299
299
|
* @param callbacks 生命周期回调
|
|
300
300
|
*/
|
|
301
301
|
registerLifecycleCallbacks(callbacks: FXLifecycleCallbacks): void {
|
|
302
|
-
logger.
|
|
302
|
+
logger.log("FXViewManager", "registerLifecycleCallbacks");
|
|
303
303
|
this.viewLifecycleCallbacks.push(callbacks);
|
|
304
304
|
}
|
|
305
305
|
|
|
@@ -308,7 +308,7 @@ export class FXViewManager {
|
|
|
308
308
|
* @param callbacks 生命周期回调
|
|
309
309
|
*/
|
|
310
310
|
unregisterLifecycleCallbacks(callbacks: FXLifecycleCallbacks): void {
|
|
311
|
-
logger.
|
|
311
|
+
logger.log("FXViewManager", "unregisterLifecycleCallbacks");
|
|
312
312
|
this.viewLifecycleCallbacks = this.viewLifecycleCallbacks.filter(
|
|
313
313
|
(callback) => callback !== callbacks,
|
|
314
314
|
);
|
|
@@ -329,7 +329,7 @@ export class FXViewManager {
|
|
|
329
329
|
* @returns 组件列表
|
|
330
330
|
*/
|
|
331
331
|
getComponents(fxViewId?: string, categoryId?: string): FXComponentItem[] {
|
|
332
|
-
logger.
|
|
332
|
+
logger.log("FXViewManager", "getComponents", { fxViewId, categoryId });
|
|
333
333
|
|
|
334
334
|
const finalFXViewId = fxViewId || this.getLatestFXViewId();
|
|
335
335
|
if (!finalFXViewId) {
|
package/logger/FXLogger.d.ts
CHANGED
|
@@ -15,7 +15,6 @@ export interface FXLoggerConfig {
|
|
|
15
15
|
debug: boolean;
|
|
16
16
|
level: FXLogLevel;
|
|
17
17
|
showTimestamp: boolean;
|
|
18
|
-
showTags: boolean;
|
|
19
18
|
prefix: string;
|
|
20
19
|
}
|
|
21
20
|
/**
|
|
@@ -72,35 +71,39 @@ export declare class FXLogger {
|
|
|
72
71
|
/**
|
|
73
72
|
* 调试日志
|
|
74
73
|
*/
|
|
75
|
-
|
|
74
|
+
log(message?: any, ...optionalParams: any[]): void;
|
|
76
75
|
/**
|
|
77
76
|
* 信息日志
|
|
78
77
|
*/
|
|
79
|
-
info(
|
|
78
|
+
info(message?: any, ...optionalParams: any[]): void;
|
|
80
79
|
/**
|
|
81
80
|
* 警告日志
|
|
82
81
|
*/
|
|
83
|
-
warn(
|
|
82
|
+
warn(message?: any, ...optionalParams: any[]): void;
|
|
84
83
|
/**
|
|
85
84
|
* 错误日志
|
|
86
85
|
*/
|
|
87
|
-
error(
|
|
86
|
+
error(message?: any, ...optionalParams: any[]): void;
|
|
87
|
+
/**
|
|
88
|
+
* 追踪日志
|
|
89
|
+
*/
|
|
90
|
+
trace(message?: any, ...optionalParams: any[]): void;
|
|
91
|
+
/**
|
|
92
|
+
* 表格日志
|
|
93
|
+
*/
|
|
94
|
+
table(...data: any[]): void;
|
|
88
95
|
/**
|
|
89
96
|
* 分组日志
|
|
90
97
|
*/
|
|
91
|
-
group(
|
|
98
|
+
group(label?: string): void;
|
|
92
99
|
/**
|
|
93
100
|
* 结束分组日志
|
|
94
101
|
*/
|
|
95
102
|
groupEnd(): void;
|
|
96
103
|
/**
|
|
97
|
-
*
|
|
98
|
-
*/
|
|
99
|
-
table(tag: string, data: any): void;
|
|
100
|
-
/**
|
|
101
|
-
* 追踪日志
|
|
104
|
+
* 折叠分组日志
|
|
102
105
|
*/
|
|
103
|
-
|
|
106
|
+
groupCollapsed(label?: string): void;
|
|
104
107
|
}
|
|
105
108
|
declare const logger: FXLogger;
|
|
106
109
|
export default logger;
|
package/logger/FXLogger.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
3
|
// ========== Logger 类型定义 ==========
|
|
3
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
5
|
exports.FXLogger = exports.FXLogLevel = void 0;
|
|
@@ -29,7 +30,6 @@ class FXLogger {
|
|
|
29
30
|
debug: isDevelopment, // 开发环境启用调试模式,生产环境禁用
|
|
30
31
|
level: isDevelopment ? FXLogLevel.DEBUG : FXLogLevel.ERROR, // 生产环境只显示错误日志
|
|
31
32
|
showTimestamp: true,
|
|
32
|
-
showTags: true,
|
|
33
33
|
prefix: isDevelopment ? "[FX-DEV]" : "[FX-PROD]", // 不同环境使用不同前缀
|
|
34
34
|
};
|
|
35
35
|
}
|
|
@@ -70,7 +70,7 @@ class FXLogger {
|
|
|
70
70
|
}
|
|
71
71
|
catch (error) {
|
|
72
72
|
// 如果检测过程中出错,默认返回 false(生产环境)
|
|
73
|
-
this.error("
|
|
73
|
+
this.error("Environment detection failed", error);
|
|
74
74
|
}
|
|
75
75
|
// 默认返回 false(生产环境)
|
|
76
76
|
return false;
|
|
@@ -142,7 +142,7 @@ class FXLogger {
|
|
|
142
142
|
/**
|
|
143
143
|
* 格式化日志消息
|
|
144
144
|
*/
|
|
145
|
-
formatMessage(level,
|
|
145
|
+
formatMessage(level, message) {
|
|
146
146
|
const parts = [];
|
|
147
147
|
if (this.config.prefix) {
|
|
148
148
|
parts.push(this.config.prefix);
|
|
@@ -154,80 +154,82 @@ class FXLogger {
|
|
|
154
154
|
const levelEnum = FXLogLevel[level.toUpperCase()];
|
|
155
155
|
const colorSymbol = this.getLevelColor(levelEnum);
|
|
156
156
|
parts.push(`[${colorSymbol}${level.toUpperCase()}]`);
|
|
157
|
-
if (this.config.showTags && tag) {
|
|
158
|
-
parts.push(`[${tag}]`);
|
|
159
|
-
}
|
|
160
157
|
return parts.join("") + " " + message;
|
|
161
158
|
}
|
|
162
159
|
/**
|
|
163
160
|
* 调试日志
|
|
164
161
|
*/
|
|
165
|
-
|
|
162
|
+
log(message, ...optionalParams) {
|
|
166
163
|
if (!this.shouldLog(FXLogLevel.DEBUG))
|
|
167
164
|
return;
|
|
168
|
-
const formattedMessage = this.formatMessage("debug",
|
|
169
|
-
console.log(formattedMessage, ...
|
|
165
|
+
const formattedMessage = this.formatMessage("debug", message);
|
|
166
|
+
console.log(formattedMessage, ...optionalParams);
|
|
170
167
|
}
|
|
171
168
|
/**
|
|
172
169
|
* 信息日志
|
|
173
170
|
*/
|
|
174
|
-
info(
|
|
171
|
+
info(message, ...optionalParams) {
|
|
175
172
|
if (!this.shouldLog(FXLogLevel.INFO))
|
|
176
173
|
return;
|
|
177
|
-
const formattedMessage = this.formatMessage("info",
|
|
178
|
-
console.info(formattedMessage, ...
|
|
174
|
+
const formattedMessage = this.formatMessage("info", message);
|
|
175
|
+
console.info(formattedMessage, ...optionalParams);
|
|
179
176
|
}
|
|
180
177
|
/**
|
|
181
178
|
* 警告日志
|
|
182
179
|
*/
|
|
183
|
-
warn(
|
|
180
|
+
warn(message, ...optionalParams) {
|
|
184
181
|
if (!this.shouldLog(FXLogLevel.WARN))
|
|
185
182
|
return;
|
|
186
|
-
const formattedMessage = this.formatMessage("warn",
|
|
187
|
-
console.warn(formattedMessage, ...
|
|
183
|
+
const formattedMessage = this.formatMessage("warn", message);
|
|
184
|
+
console.warn(formattedMessage, ...optionalParams);
|
|
188
185
|
}
|
|
189
186
|
/**
|
|
190
187
|
* 错误日志
|
|
191
188
|
*/
|
|
192
|
-
error(
|
|
189
|
+
error(message, ...optionalParams) {
|
|
193
190
|
if (!this.shouldLog(FXLogLevel.ERROR))
|
|
194
191
|
return;
|
|
195
|
-
const formattedMessage = this.formatMessage("error",
|
|
196
|
-
console.error(formattedMessage, ...
|
|
192
|
+
const formattedMessage = this.formatMessage("error", message);
|
|
193
|
+
console.error(formattedMessage, ...optionalParams);
|
|
197
194
|
}
|
|
198
195
|
/**
|
|
199
|
-
*
|
|
196
|
+
* 追踪日志
|
|
200
197
|
*/
|
|
201
|
-
|
|
198
|
+
trace(message, ...optionalParams) {
|
|
202
199
|
if (!this.shouldLog(FXLogLevel.DEBUG))
|
|
203
200
|
return;
|
|
204
|
-
const
|
|
205
|
-
console.
|
|
201
|
+
const formattedMessage = this.formatMessage("trace", message);
|
|
202
|
+
console.trace(formattedMessage, ...optionalParams);
|
|
206
203
|
}
|
|
207
204
|
/**
|
|
208
|
-
*
|
|
205
|
+
* 表格日志
|
|
209
206
|
*/
|
|
210
|
-
|
|
207
|
+
table(...data) {
|
|
211
208
|
if (!this.shouldLog(FXLogLevel.DEBUG))
|
|
212
209
|
return;
|
|
213
|
-
console.
|
|
210
|
+
console.table(...data);
|
|
214
211
|
}
|
|
215
212
|
/**
|
|
216
|
-
*
|
|
213
|
+
* 分组日志
|
|
217
214
|
*/
|
|
218
|
-
|
|
215
|
+
group(label) {
|
|
219
216
|
if (!this.shouldLog(FXLogLevel.DEBUG))
|
|
220
217
|
return;
|
|
221
|
-
console.
|
|
222
|
-
console.table(data);
|
|
218
|
+
console.group(label);
|
|
223
219
|
}
|
|
224
220
|
/**
|
|
225
|
-
*
|
|
221
|
+
* 结束分组日志
|
|
222
|
+
*/
|
|
223
|
+
groupEnd() {
|
|
224
|
+
console.groupEnd();
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* 折叠分组日志
|
|
226
228
|
*/
|
|
227
|
-
|
|
229
|
+
groupCollapsed(label) {
|
|
228
230
|
if (!this.shouldLog(FXLogLevel.DEBUG))
|
|
229
231
|
return;
|
|
230
|
-
console.
|
|
232
|
+
console.groupCollapsed(label);
|
|
231
233
|
}
|
|
232
234
|
}
|
|
233
235
|
exports.FXLogger = FXLogger;
|