@ahana-awesome-platform/ahana-electron-sdk 1.0.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/dist/cjs/controller/index.d.ts +12 -0
- package/dist/cjs/controller/index.d.ts.map +1 -0
- package/dist/cjs/controller/index.js +1 -0
- package/dist/cjs/ipc/IpcMain.d.ts +20 -0
- package/dist/cjs/ipc/IpcMain.d.ts.map +1 -0
- package/dist/cjs/ipc/IpcTypes.d.ts +24 -0
- package/dist/cjs/ipc/IpcTypes.d.ts.map +1 -0
- package/dist/cjs/ipc/index.d.ts +66 -0
- package/dist/cjs/ipc/index.d.ts.map +1 -0
- package/dist/cjs/ipc/index.js +1 -0
- package/dist/cjs/logger/String16.d.ts +11 -0
- package/dist/cjs/logger/String16.d.ts.map +1 -0
- package/dist/cjs/logger/index.d.ts +104 -0
- package/dist/cjs/logger/index.d.ts.map +1 -0
- package/dist/cjs/logger/index.js +1 -0
- package/dist/cjs/orm/common/logger.d.ts +4 -0
- package/dist/cjs/orm/common/logger.d.ts.map +1 -0
- package/dist/cjs/orm/index.d.ts +4 -0
- package/dist/cjs/orm/index.d.ts.map +1 -0
- package/dist/cjs/orm/index.js +1 -0
- package/dist/cjs/orm/orm/CheckHealth.d.ts +4 -0
- package/dist/cjs/orm/orm/CheckHealth.d.ts.map +1 -0
- package/dist/cjs/orm/orm/ExecuteInTransaction.d.ts +5 -0
- package/dist/cjs/orm/orm/ExecuteInTransaction.d.ts.map +1 -0
- package/dist/cjs/orm/orm/SafeAlterTable.d.ts +8 -0
- package/dist/cjs/orm/orm/SafeAlterTable.d.ts.map +1 -0
- package/dist/cjs/orm/orm/SqLiteConnection.d.ts +5 -0
- package/dist/cjs/orm/orm/SqLiteConnection.d.ts.map +1 -0
- package/dist/cjs/orm/sqlite/index.d.ts +10 -0
- package/dist/cjs/orm/sqlite/index.d.ts.map +1 -0
- package/dist/cjs/platform/index.d.ts +2 -0
- package/dist/cjs/platform/index.d.ts.map +1 -0
- package/dist/cjs/platform/index.js +1 -0
- package/dist/cjs/platform/platform/detector.d.ts +47 -0
- package/dist/cjs/platform/platform/detector.d.ts.map +1 -0
- package/dist/cjs/platform/platform/registry/index.d.ts +47 -0
- package/dist/cjs/platform/platform/registry/index.d.ts.map +1 -0
- package/dist/cjs/platform/platform/registry/kylin-registry.d.ts +31 -0
- package/dist/cjs/platform/platform/registry/kylin-registry.d.ts.map +1 -0
- package/dist/cjs/platform/platform/registry/registry.d.ts +89 -0
- package/dist/cjs/platform/platform/registry/registry.d.ts.map +1 -0
- package/dist/cjs/platform/platform/registry/windows-registry.d.ts +32 -0
- package/dist/cjs/platform/platform/registry/windows-registry.d.ts.map +1 -0
- package/dist/cjs/response-factory/factory/AppError.d.ts +8 -0
- package/dist/cjs/response-factory/factory/AppError.d.ts.map +1 -0
- package/dist/cjs/response-factory/factory/BusinessError.d.ts +70 -0
- package/dist/cjs/response-factory/factory/BusinessError.d.ts.map +1 -0
- package/dist/cjs/response-factory/index.d.ts +3 -0
- package/dist/cjs/response-factory/index.d.ts.map +1 -0
- package/dist/cjs/response-factory/index.js +1 -0
- package/dist/cjs/response-factory/response/Response.d.ts +15 -0
- package/dist/cjs/response-factory/response/Response.d.ts.map +1 -0
- package/dist/esm/_commonjsHelpers-Dm6U3U_N.js +35 -0
- package/dist/esm/controller/index.d.ts +12 -0
- package/dist/esm/controller/index.d.ts.map +1 -0
- package/dist/esm/controller/index.js +1128 -0
- package/dist/esm/events-CqhjgOaW.js +213 -0
- package/dist/esm/index-Dys2BW-7.js +256 -0
- package/dist/esm/index-xOyNRTcn.js +21640 -0
- package/dist/esm/ipc/IpcMain.d.ts +20 -0
- package/dist/esm/ipc/IpcMain.d.ts.map +1 -0
- package/dist/esm/ipc/IpcTypes.d.ts +24 -0
- package/dist/esm/ipc/IpcTypes.d.ts.map +1 -0
- package/dist/esm/ipc/index.d.ts +66 -0
- package/dist/esm/ipc/index.d.ts.map +1 -0
- package/dist/esm/ipc/index.js +137 -0
- package/dist/esm/kylin-registry-3nmgzi3s.js +249 -0
- package/dist/esm/logger/String16.d.ts +11 -0
- package/dist/esm/logger/String16.d.ts.map +1 -0
- package/dist/esm/logger/index.d.ts +104 -0
- package/dist/esm/logger/index.d.ts.map +1 -0
- package/dist/esm/logger/index.js +7 -0
- package/dist/esm/orm/common/logger.d.ts +4 -0
- package/dist/esm/orm/common/logger.d.ts.map +1 -0
- package/dist/esm/orm/index.d.ts +4 -0
- package/dist/esm/orm/index.d.ts.map +1 -0
- package/dist/esm/orm/index.js +50024 -0
- package/dist/esm/orm/orm/CheckHealth.d.ts +4 -0
- package/dist/esm/orm/orm/CheckHealth.d.ts.map +1 -0
- package/dist/esm/orm/orm/ExecuteInTransaction.d.ts +5 -0
- package/dist/esm/orm/orm/ExecuteInTransaction.d.ts.map +1 -0
- package/dist/esm/orm/orm/SafeAlterTable.d.ts +8 -0
- package/dist/esm/orm/orm/SafeAlterTable.d.ts.map +1 -0
- package/dist/esm/orm/orm/SqLiteConnection.d.ts +5 -0
- package/dist/esm/orm/orm/SqLiteConnection.d.ts.map +1 -0
- package/dist/esm/orm/sqlite/index.d.ts +10 -0
- package/dist/esm/orm/sqlite/index.d.ts.map +1 -0
- package/dist/esm/platform/index.d.ts +2 -0
- package/dist/esm/platform/index.d.ts.map +1 -0
- package/dist/esm/platform/index.js +8 -0
- package/dist/esm/platform/platform/detector.d.ts +47 -0
- package/dist/esm/platform/platform/detector.d.ts.map +1 -0
- package/dist/esm/platform/platform/registry/index.d.ts +47 -0
- package/dist/esm/platform/platform/registry/index.d.ts.map +1 -0
- package/dist/esm/platform/platform/registry/kylin-registry.d.ts +31 -0
- package/dist/esm/platform/platform/registry/kylin-registry.d.ts.map +1 -0
- package/dist/esm/platform/platform/registry/registry.d.ts +89 -0
- package/dist/esm/platform/platform/registry/registry.d.ts.map +1 -0
- package/dist/esm/platform/platform/registry/windows-registry.d.ts +32 -0
- package/dist/esm/platform/platform/registry/windows-registry.d.ts.map +1 -0
- package/dist/esm/response-factory/factory/AppError.d.ts +8 -0
- package/dist/esm/response-factory/factory/AppError.d.ts.map +1 -0
- package/dist/esm/response-factory/factory/BusinessError.d.ts +70 -0
- package/dist/esm/response-factory/factory/BusinessError.d.ts.map +1 -0
- package/dist/esm/response-factory/index.d.ts +3 -0
- package/dist/esm/response-factory/index.d.ts.map +1 -0
- package/dist/esm/response-factory/index.js +121 -0
- package/dist/esm/response-factory/response/Response.d.ts +15 -0
- package/dist/esm/response-factory/response/Response.d.ts.map +1 -0
- package/dist/esm/windows-registry-B92IgP1f.js +354 -0
- package/package.json +73 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
function EventEmitter() {
|
|
2
|
+
this._events = this._events || {};
|
|
3
|
+
this._maxListeners = this._maxListeners || void 0;
|
|
4
|
+
}
|
|
5
|
+
var events = EventEmitter;
|
|
6
|
+
EventEmitter.EventEmitter = EventEmitter;
|
|
7
|
+
EventEmitter.prototype._events = void 0;
|
|
8
|
+
EventEmitter.prototype._maxListeners = void 0;
|
|
9
|
+
EventEmitter.defaultMaxListeners = 10;
|
|
10
|
+
EventEmitter.prototype.setMaxListeners = function(n) {
|
|
11
|
+
if (!isNumber(n) || n < 0 || isNaN(n))
|
|
12
|
+
throw TypeError("n must be a positive number");
|
|
13
|
+
this._maxListeners = n;
|
|
14
|
+
return this;
|
|
15
|
+
};
|
|
16
|
+
EventEmitter.prototype.emit = function(type) {
|
|
17
|
+
var er, handler, len, args, i, listeners;
|
|
18
|
+
if (!this._events)
|
|
19
|
+
this._events = {};
|
|
20
|
+
if (type === "error") {
|
|
21
|
+
if (!this._events.error || isObject(this._events.error) && !this._events.error.length) {
|
|
22
|
+
er = arguments[1];
|
|
23
|
+
if (er instanceof Error) {
|
|
24
|
+
throw er;
|
|
25
|
+
} else {
|
|
26
|
+
var err = new Error('Uncaught, unspecified "error" event. (' + er + ")");
|
|
27
|
+
err.context = er;
|
|
28
|
+
throw err;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
handler = this._events[type];
|
|
33
|
+
if (isUndefined(handler))
|
|
34
|
+
return false;
|
|
35
|
+
if (isFunction(handler)) {
|
|
36
|
+
switch (arguments.length) {
|
|
37
|
+
case 1:
|
|
38
|
+
handler.call(this);
|
|
39
|
+
break;
|
|
40
|
+
case 2:
|
|
41
|
+
handler.call(this, arguments[1]);
|
|
42
|
+
break;
|
|
43
|
+
case 3:
|
|
44
|
+
handler.call(this, arguments[1], arguments[2]);
|
|
45
|
+
break;
|
|
46
|
+
default:
|
|
47
|
+
args = Array.prototype.slice.call(arguments, 1);
|
|
48
|
+
handler.apply(this, args);
|
|
49
|
+
}
|
|
50
|
+
} else if (isObject(handler)) {
|
|
51
|
+
args = Array.prototype.slice.call(arguments, 1);
|
|
52
|
+
listeners = handler.slice();
|
|
53
|
+
len = listeners.length;
|
|
54
|
+
for (i = 0; i < len; i++)
|
|
55
|
+
listeners[i].apply(this, args);
|
|
56
|
+
}
|
|
57
|
+
return true;
|
|
58
|
+
};
|
|
59
|
+
EventEmitter.prototype.addListener = function(type, listener) {
|
|
60
|
+
var m;
|
|
61
|
+
if (!isFunction(listener))
|
|
62
|
+
throw TypeError("listener must be a function");
|
|
63
|
+
if (!this._events)
|
|
64
|
+
this._events = {};
|
|
65
|
+
if (this._events.newListener)
|
|
66
|
+
this.emit(
|
|
67
|
+
"newListener",
|
|
68
|
+
type,
|
|
69
|
+
isFunction(listener.listener) ? listener.listener : listener
|
|
70
|
+
);
|
|
71
|
+
if (!this._events[type])
|
|
72
|
+
this._events[type] = listener;
|
|
73
|
+
else if (isObject(this._events[type]))
|
|
74
|
+
this._events[type].push(listener);
|
|
75
|
+
else
|
|
76
|
+
this._events[type] = [this._events[type], listener];
|
|
77
|
+
if (isObject(this._events[type]) && !this._events[type].warned) {
|
|
78
|
+
if (!isUndefined(this._maxListeners)) {
|
|
79
|
+
m = this._maxListeners;
|
|
80
|
+
} else {
|
|
81
|
+
m = EventEmitter.defaultMaxListeners;
|
|
82
|
+
}
|
|
83
|
+
if (m && m > 0 && this._events[type].length > m) {
|
|
84
|
+
this._events[type].warned = true;
|
|
85
|
+
console.error(
|
|
86
|
+
"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",
|
|
87
|
+
this._events[type].length
|
|
88
|
+
);
|
|
89
|
+
if (typeof console.trace === "function") {
|
|
90
|
+
console.trace();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return this;
|
|
95
|
+
};
|
|
96
|
+
EventEmitter.prototype.on = EventEmitter.prototype.addListener;
|
|
97
|
+
EventEmitter.prototype.once = function(type, listener) {
|
|
98
|
+
if (!isFunction(listener))
|
|
99
|
+
throw TypeError("listener must be a function");
|
|
100
|
+
var fired = false;
|
|
101
|
+
function g() {
|
|
102
|
+
this.removeListener(type, g);
|
|
103
|
+
if (!fired) {
|
|
104
|
+
fired = true;
|
|
105
|
+
listener.apply(this, arguments);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
g.listener = listener;
|
|
109
|
+
this.on(type, g);
|
|
110
|
+
return this;
|
|
111
|
+
};
|
|
112
|
+
EventEmitter.prototype.removeListener = function(type, listener) {
|
|
113
|
+
var list, position, length, i;
|
|
114
|
+
if (!isFunction(listener))
|
|
115
|
+
throw TypeError("listener must be a function");
|
|
116
|
+
if (!this._events || !this._events[type])
|
|
117
|
+
return this;
|
|
118
|
+
list = this._events[type];
|
|
119
|
+
length = list.length;
|
|
120
|
+
position = -1;
|
|
121
|
+
if (list === listener || isFunction(list.listener) && list.listener === listener) {
|
|
122
|
+
delete this._events[type];
|
|
123
|
+
if (this._events.removeListener)
|
|
124
|
+
this.emit("removeListener", type, listener);
|
|
125
|
+
} else if (isObject(list)) {
|
|
126
|
+
for (i = length; i-- > 0; ) {
|
|
127
|
+
if (list[i] === listener || list[i].listener && list[i].listener === listener) {
|
|
128
|
+
position = i;
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (position < 0)
|
|
133
|
+
return this;
|
|
134
|
+
if (list.length === 1) {
|
|
135
|
+
list.length = 0;
|
|
136
|
+
delete this._events[type];
|
|
137
|
+
} else {
|
|
138
|
+
list.splice(position, 1);
|
|
139
|
+
}
|
|
140
|
+
if (this._events.removeListener)
|
|
141
|
+
this.emit("removeListener", type, listener);
|
|
142
|
+
}
|
|
143
|
+
return this;
|
|
144
|
+
};
|
|
145
|
+
EventEmitter.prototype.removeAllListeners = function(type) {
|
|
146
|
+
var key, listeners;
|
|
147
|
+
if (!this._events)
|
|
148
|
+
return this;
|
|
149
|
+
if (!this._events.removeListener) {
|
|
150
|
+
if (arguments.length === 0)
|
|
151
|
+
this._events = {};
|
|
152
|
+
else if (this._events[type])
|
|
153
|
+
delete this._events[type];
|
|
154
|
+
return this;
|
|
155
|
+
}
|
|
156
|
+
if (arguments.length === 0) {
|
|
157
|
+
for (key in this._events) {
|
|
158
|
+
if (key === "removeListener")
|
|
159
|
+
continue;
|
|
160
|
+
this.removeAllListeners(key);
|
|
161
|
+
}
|
|
162
|
+
this.removeAllListeners("removeListener");
|
|
163
|
+
this._events = {};
|
|
164
|
+
return this;
|
|
165
|
+
}
|
|
166
|
+
listeners = this._events[type];
|
|
167
|
+
if (isFunction(listeners)) {
|
|
168
|
+
this.removeListener(type, listeners);
|
|
169
|
+
} else if (listeners) {
|
|
170
|
+
while (listeners.length)
|
|
171
|
+
this.removeListener(type, listeners[listeners.length - 1]);
|
|
172
|
+
}
|
|
173
|
+
delete this._events[type];
|
|
174
|
+
return this;
|
|
175
|
+
};
|
|
176
|
+
EventEmitter.prototype.listeners = function(type) {
|
|
177
|
+
var ret;
|
|
178
|
+
if (!this._events || !this._events[type])
|
|
179
|
+
ret = [];
|
|
180
|
+
else if (isFunction(this._events[type]))
|
|
181
|
+
ret = [this._events[type]];
|
|
182
|
+
else
|
|
183
|
+
ret = this._events[type].slice();
|
|
184
|
+
return ret;
|
|
185
|
+
};
|
|
186
|
+
EventEmitter.prototype.listenerCount = function(type) {
|
|
187
|
+
if (this._events) {
|
|
188
|
+
var evlistener = this._events[type];
|
|
189
|
+
if (isFunction(evlistener))
|
|
190
|
+
return 1;
|
|
191
|
+
else if (evlistener)
|
|
192
|
+
return evlistener.length;
|
|
193
|
+
}
|
|
194
|
+
return 0;
|
|
195
|
+
};
|
|
196
|
+
EventEmitter.listenerCount = function(emitter, type) {
|
|
197
|
+
return emitter.listenerCount(type);
|
|
198
|
+
};
|
|
199
|
+
function isFunction(arg) {
|
|
200
|
+
return typeof arg === "function";
|
|
201
|
+
}
|
|
202
|
+
function isNumber(arg) {
|
|
203
|
+
return typeof arg === "number";
|
|
204
|
+
}
|
|
205
|
+
function isObject(arg) {
|
|
206
|
+
return typeof arg === "object" && arg !== null;
|
|
207
|
+
}
|
|
208
|
+
function isUndefined(arg) {
|
|
209
|
+
return arg === void 0;
|
|
210
|
+
}
|
|
211
|
+
export {
|
|
212
|
+
events as e
|
|
213
|
+
};
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import os from "os";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
import { execSync } from "child_process";
|
|
4
|
+
var WINHKEY;
|
|
5
|
+
(function(WINHKEY2) {
|
|
6
|
+
WINHKEY2["HKLM"] = "HKEY_LOCAL_MACHINE";
|
|
7
|
+
WINHKEY2["HKCU"] = "HKEY_CURRENT_USER";
|
|
8
|
+
WINHKEY2["HKCR"] = "HKEY_CLASSES_ROOT";
|
|
9
|
+
WINHKEY2["HKU"] = "HKEY_USERS";
|
|
10
|
+
WINHKEY2["HKCC"] = "HKEY_CURRENT_CONFIG";
|
|
11
|
+
})(WINHKEY || (WINHKEY = {}));
|
|
12
|
+
var WINHKLM;
|
|
13
|
+
(function(WINHKLM2) {
|
|
14
|
+
WINHKLM2["SOFTWARE"] = "HKEY_LOCAL_MACHINE:Software";
|
|
15
|
+
WINHKLM2["SYSTEM"] = "HKEY_LOCAL_MACHINE:System";
|
|
16
|
+
WINHKLM2["HARDWARE"] = "HKEY_LOCAL_MACHINE:Hardware";
|
|
17
|
+
WINHKLM2["SECURITY"] = "HKEY_LOCAL_MACHINE:Security";
|
|
18
|
+
WINHKLM2["SAM"] = "HKEY_LOCAL_MACHINE:SAM";
|
|
19
|
+
WINHKLM2["COMPONENTS"] = "HKEY_LOCAL_MACHINE:Components";
|
|
20
|
+
WINHKLM2["DRIVERS"] = "HKEY_LOCAL_MACHINE:Drivers";
|
|
21
|
+
WINHKLM2["ENUM"] = "HKEY_LOCAL_MACHINE:Enum";
|
|
22
|
+
WINHKLM2["BCD"] = "HKEY_LOCAL_MACHINE:BCD";
|
|
23
|
+
})(WINHKLM || (WINHKLM = {}));
|
|
24
|
+
var WINHKCU;
|
|
25
|
+
(function(WINHKCU2) {
|
|
26
|
+
WINHKCU2["SOFTWARE"] = "HKEY_CURRENT_USER:Software";
|
|
27
|
+
WINHKCU2["CONTROL_PANEL"] = "HKEY_CURRENT_USER:Control Panel";
|
|
28
|
+
WINHKCU2["ENVIRONMENT"] = "HKEY_CURRENT_USER:Environment";
|
|
29
|
+
WINHKCU2["CONSOLE"] = "HKEY_CURRENT_USER:Console";
|
|
30
|
+
WINHKCU2["NETWORK"] = "HKEY_CURRENT_USER:Network";
|
|
31
|
+
WINHKCU2["PRINTERS"] = "HKEY_CURRENT_USER:Printers";
|
|
32
|
+
WINHKCU2["SESSION_INFO"] = "HKEY_CURRENT_USER:SessionInformation";
|
|
33
|
+
})(WINHKCU || (WINHKCU = {}));
|
|
34
|
+
var WINHKCR;
|
|
35
|
+
(function(WINHKCR2) {
|
|
36
|
+
WINHKCR2["CLSID"] = "HKEY_CURRENT_USER:CLSID";
|
|
37
|
+
WINHKCR2["INTERFACE"] = "HKEY_CURRENT_USER:Interface";
|
|
38
|
+
WINHKCR2["TYPELIB"] = "HKEY_CURRENT_USER:TypeLib";
|
|
39
|
+
WINHKCR2["APPID"] = "HKEY_CURRENT_USER:AppID";
|
|
40
|
+
WINHKCR2["COMPONENT_CATEGORIES"] = "HKEY_CURRENT_USER:Component Categories";
|
|
41
|
+
WINHKCR2["PROTOCOLS"] = "HKEY_CURRENT_USER:Protocols";
|
|
42
|
+
})(WINHKCR || (WINHKCR = {}));
|
|
43
|
+
var WINHKU;
|
|
44
|
+
(function(WINHKU2) {
|
|
45
|
+
WINHKU2["DEFAULT"] = "HKEY_USERS:.DEFAULT";
|
|
46
|
+
})(WINHKU || (WINHKU = {}));
|
|
47
|
+
var WINHKCC;
|
|
48
|
+
(function(WINHKCC2) {
|
|
49
|
+
WINHKCC2["SOFTWARE"] = "HKEY_CURRENT_CONFIG:Software";
|
|
50
|
+
WINHKCC2["SYSTEM"] = "HKEY_CURRENT_CONFIG:System";
|
|
51
|
+
})(WINHKCC || (WINHKCC = {}));
|
|
52
|
+
var KYLINHKEY;
|
|
53
|
+
(function(KYLINHKEY2) {
|
|
54
|
+
KYLINHKEY2["ETC_APP"] = "/etc/applications";
|
|
55
|
+
KYLINHKEY2["USR_SHARE_APP"] = "/usr/share/applications";
|
|
56
|
+
KYLINHKEY2["CONFIG_APPS"] = "~/.config/applications";
|
|
57
|
+
KYLINHKEY2["ICONS"] = "/usr/share/icons";
|
|
58
|
+
KYLINHKEY2["THEMES"] = "/usr/share/themes";
|
|
59
|
+
KYLINHKEY2["FONTS"] = "/usr/share/fonts";
|
|
60
|
+
KYLINHKEY2["DOC"] = "/usr/share/doc";
|
|
61
|
+
KYLINHKEY2["MAN"] = "/usr/share/man";
|
|
62
|
+
KYLINHKEY2["LOCALE"] = "/usr/share/locale";
|
|
63
|
+
})(KYLINHKEY || (KYLINHKEY = {}));
|
|
64
|
+
const normalizeRegistryPathAdvanced = (path) => path.replace(/[:/\\]+/g, "\\").replace(/^\\+/, "").replace(/\\+$/, "").replace(/\\\\+/g, "\\");
|
|
65
|
+
class PlatformDetector {
|
|
66
|
+
/**
|
|
67
|
+
* 检测当前平台
|
|
68
|
+
*/
|
|
69
|
+
static detect() {
|
|
70
|
+
const platform = os.platform();
|
|
71
|
+
if (platform === "win32") {
|
|
72
|
+
return "windows";
|
|
73
|
+
} else if (platform === "linux") {
|
|
74
|
+
if (this.isKylinOS()) {
|
|
75
|
+
return "kylin";
|
|
76
|
+
}
|
|
77
|
+
return "linux";
|
|
78
|
+
} else if (platform === "darwin") {
|
|
79
|
+
return "mac";
|
|
80
|
+
} else {
|
|
81
|
+
return "unknown";
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* 检测是否为麒麟系统
|
|
86
|
+
*/
|
|
87
|
+
static isKylinOS() {
|
|
88
|
+
try {
|
|
89
|
+
const release = os.release().toLowerCase();
|
|
90
|
+
const version = os.version().toLowerCase();
|
|
91
|
+
const indicators = [
|
|
92
|
+
release.includes("kylin"),
|
|
93
|
+
version.includes("kylin"),
|
|
94
|
+
this.checkKylinByFiles(),
|
|
95
|
+
this.checkKylinByCommand()
|
|
96
|
+
];
|
|
97
|
+
return indicators.some((indicator) => indicator === true);
|
|
98
|
+
} catch (error) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* 通过文件检测麒麟系统
|
|
104
|
+
*/
|
|
105
|
+
static checkKylinByFiles() {
|
|
106
|
+
const kylinFiles = ["/etc/kylin-release", "/etc/.kyinfo", "/etc/issue", "/etc/os-release", "/etc/lsb-release"];
|
|
107
|
+
try {
|
|
108
|
+
for (const file of kylinFiles) {
|
|
109
|
+
if (fs.existsSync(file)) {
|
|
110
|
+
const content = fs.readFileSync(file, "utf8").toLowerCase();
|
|
111
|
+
if (content.includes("kylin") || content.includes("麒麟")) {
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
} catch (error) {
|
|
117
|
+
}
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* 通过命令检测麒麟系统
|
|
122
|
+
*/
|
|
123
|
+
static checkKylinByCommand() {
|
|
124
|
+
try {
|
|
125
|
+
const commands = ["cat /etc/os-release", "lsb_release -d", "uname -a", "hostnamectl"];
|
|
126
|
+
for (const cmd of commands) {
|
|
127
|
+
try {
|
|
128
|
+
const output = execSync(cmd, { encoding: "utf8" }).toLowerCase();
|
|
129
|
+
if (output.includes("kylin") || output.includes("麒麟")) {
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
} catch (error) {
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
} catch (error) {
|
|
136
|
+
}
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* 获取平台详细信息
|
|
141
|
+
*/
|
|
142
|
+
static getPlatformInfo() {
|
|
143
|
+
return {
|
|
144
|
+
type: this.detect(),
|
|
145
|
+
platform: os.platform(),
|
|
146
|
+
arch: os.arch(),
|
|
147
|
+
release: os.release(),
|
|
148
|
+
version: os.version(),
|
|
149
|
+
hostname: os.hostname(),
|
|
150
|
+
cpus: os.cpus().length,
|
|
151
|
+
totalMemory: os.totalmem(),
|
|
152
|
+
freeMemory: os.freemem(),
|
|
153
|
+
uptime: os.uptime()
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* 检查是否支持当前平台
|
|
158
|
+
*/
|
|
159
|
+
static isSupported() {
|
|
160
|
+
const platform = this.detect();
|
|
161
|
+
return platform === "windows" || platform === "kylin" || platform === "linux";
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
class RegistryDetector {
|
|
165
|
+
/**
|
|
166
|
+
* 读取注册表值
|
|
167
|
+
*/
|
|
168
|
+
static async getValue(hive, key, valueName, options = {}) {
|
|
169
|
+
const platform = RegistryDetector.getCurrentPlatform();
|
|
170
|
+
switch (platform) {
|
|
171
|
+
case "windows": {
|
|
172
|
+
const { WindowsRegistry } = await import("./windows-registry-B92IgP1f.js");
|
|
173
|
+
return WindowsRegistry.getValue(hive, key, valueName, options);
|
|
174
|
+
}
|
|
175
|
+
case "kylin": {
|
|
176
|
+
const { KylinRegistry } = await import("./kylin-registry-3nmgzi3s.js");
|
|
177
|
+
return KylinRegistry.getValue(hive, key, valueName, options);
|
|
178
|
+
}
|
|
179
|
+
default:
|
|
180
|
+
throw new Error(`Unsupported platform: ${platform}`);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* 设置注册表值
|
|
185
|
+
*/
|
|
186
|
+
static async setValue(registryOptions) {
|
|
187
|
+
const { hive, key, valueName, value, options = {} } = registryOptions;
|
|
188
|
+
const platform = RegistryDetector.getCurrentPlatform();
|
|
189
|
+
switch (platform) {
|
|
190
|
+
case "windows": {
|
|
191
|
+
const { WindowsRegistry } = await import("./windows-registry-B92IgP1f.js");
|
|
192
|
+
return WindowsRegistry.setValue(hive, key, valueName, value, options);
|
|
193
|
+
}
|
|
194
|
+
case "kylin": {
|
|
195
|
+
const { KylinRegistry } = await import("./kylin-registry-3nmgzi3s.js");
|
|
196
|
+
return KylinRegistry.setValue(hive, key, valueName, value, options);
|
|
197
|
+
}
|
|
198
|
+
default:
|
|
199
|
+
throw new Error(`Unsupported platform: ${platform}`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* 删除注册表值
|
|
204
|
+
*/
|
|
205
|
+
static async deleteValue(hive, key, valueName, options = {}) {
|
|
206
|
+
const platform = RegistryDetector.getCurrentPlatform();
|
|
207
|
+
switch (platform) {
|
|
208
|
+
case "windows": {
|
|
209
|
+
const { WindowsRegistry } = await import("./windows-registry-B92IgP1f.js");
|
|
210
|
+
return WindowsRegistry.deleteValue(hive, key, valueName, options);
|
|
211
|
+
}
|
|
212
|
+
case "kylin": {
|
|
213
|
+
const { KylinRegistry } = await import("./kylin-registry-3nmgzi3s.js");
|
|
214
|
+
return KylinRegistry.deleteValue(hive, key, valueName, options);
|
|
215
|
+
}
|
|
216
|
+
default:
|
|
217
|
+
throw new Error(`Unsupported platform: ${platform}`);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* 获取当前平台类型
|
|
222
|
+
*/
|
|
223
|
+
static getCurrentPlatform() {
|
|
224
|
+
return PlatformDetector.detect();
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* 检查是否是Windows
|
|
228
|
+
*/
|
|
229
|
+
static isWindows() {
|
|
230
|
+
return this.getCurrentPlatform() === "windows";
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* 检查是否是麒麟系统
|
|
234
|
+
*/
|
|
235
|
+
static isKylin() {
|
|
236
|
+
return this.getCurrentPlatform() === "kylin";
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* 检查是否是Linux
|
|
240
|
+
*/
|
|
241
|
+
static isLinux() {
|
|
242
|
+
const platform = this.getCurrentPlatform();
|
|
243
|
+
return platform === "linux" || platform === "kylin";
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
const getRegistryValue = RegistryDetector.getValue;
|
|
247
|
+
const setRegistryValue = RegistryDetector.setValue;
|
|
248
|
+
const deleteRegistryValue = RegistryDetector.deleteValue;
|
|
249
|
+
export {
|
|
250
|
+
KYLINHKEY as K,
|
|
251
|
+
WINHKLM as W,
|
|
252
|
+
deleteRegistryValue as d,
|
|
253
|
+
getRegistryValue as g,
|
|
254
|
+
normalizeRegistryPathAdvanced as n,
|
|
255
|
+
setRegistryValue as s
|
|
256
|
+
};
|