@pisell/core 0.0.2
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 +1 -0
- package/es/app/app.d.ts +101 -0
- package/es/app/app.js +177 -0
- package/es/app/const.d.ts +4 -0
- package/es/app/const.js +6 -0
- package/es/app/index.d.ts +14 -0
- package/es/app/index.js +52 -0
- package/es/applicationManager/application.d.ts +197 -0
- package/es/applicationManager/application.js +469 -0
- package/es/applicationManager/index.d.ts +19 -0
- package/es/applicationManager/index.js +206 -0
- package/es/aws/index.d.ts +16 -0
- package/es/aws/index.js +76 -0
- package/es/cmd/const.d.ts +11 -0
- package/es/cmd/const.js +13 -0
- package/es/cmd/index.d.ts +13 -0
- package/es/cmd/index.js +91 -0
- package/es/cmd/type.d.ts +5 -0
- package/es/cmd/type.js +1 -0
- package/es/communicationManager/index.d.ts +59 -0
- package/es/communicationManager/index.js +174 -0
- package/es/config.d.ts +3 -0
- package/es/config.js +14 -0
- package/es/cookie/index.d.ts +13 -0
- package/es/cookie/index.js +47 -0
- package/es/css/global.less +73 -0
- package/es/css/index.less +31 -0
- package/es/css/variables.css +84 -0
- package/es/data/index.d.ts +8 -0
- package/es/data/index.js +16 -0
- package/es/history/config.d.ts +24 -0
- package/es/history/config.js +43 -0
- package/es/history/index.d.ts +26 -0
- package/es/history/index.js +80 -0
- package/es/history/type.d.ts +2 -0
- package/es/history/type.js +1 -0
- package/es/hooks/index.d.ts +12 -0
- package/es/hooks/index.js +13 -0
- package/es/hooks/useDelayedValue/index.d.ts +2 -0
- package/es/hooks/useDelayedValue/index.js +26 -0
- package/es/hooks/useDispatch/index.d.ts +2 -0
- package/es/hooks/useDispatch/index.js +2 -0
- package/es/hooks/useLowCode/index.d.ts +13 -0
- package/es/hooks/useLowCode/index.js +74 -0
- package/es/hooks/useStore/index.d.ts +6 -0
- package/es/hooks/useStore/index.js +11 -0
- package/es/index.d.ts +8 -0
- package/es/index.js +10 -0
- package/es/indexDB/index.d.ts +296 -0
- package/es/indexDB/index.js +1619 -0
- package/es/locales/en.d.ts +3 -0
- package/es/locales/en.js +5 -0
- package/es/locales/index.d.ts +39 -0
- package/es/locales/index.js +199 -0
- package/es/locales/original.d.ts +3 -0
- package/es/locales/original.js +7 -0
- package/es/locales/type.d.ts +19 -0
- package/es/locales/type.js +1 -0
- package/es/locales/zh-CN.d.ts +3 -0
- package/es/locales/zh-CN.js +5 -0
- package/es/locales/zh-HK.d.ts +3 -0
- package/es/locales/zh-HK.js +5 -0
- package/es/logger/feishu.d.ts +11 -0
- package/es/logger/feishu.js +50 -0
- package/es/logger/index.d.ts +135 -0
- package/es/logger/index.js +870 -0
- package/es/menuManager/hooks.d.ts +17 -0
- package/es/menuManager/hooks.js +136 -0
- package/es/menuManager/index.d.ts +28 -0
- package/es/menuManager/index.js +165 -0
- package/es/models/global.d.ts +32 -0
- package/es/models/global.js +66 -0
- package/es/models/index.d.ts +45 -0
- package/es/models/index.js +65 -0
- package/es/models/type.d.ts +2 -0
- package/es/models/type.js +1 -0
- package/es/plugin/index.d.ts +0 -0
- package/es/plugin/index.js +0 -0
- package/es/pubsub/example.d.ts +5 -0
- package/es/pubsub/example.js +92 -0
- package/es/pubsub/index.d.ts +73 -0
- package/es/pubsub/index.js +166 -0
- package/es/render/index.d.ts +0 -0
- package/es/render/index.js +0 -0
- package/es/request/cache.d.ts +46 -0
- package/es/request/cache.js +372 -0
- package/es/request/cancelToken.d.ts +38 -0
- package/es/request/cancelToken.js +59 -0
- package/es/request/config.d.ts +3 -0
- package/es/request/config.js +63 -0
- package/es/request/constants.d.ts +2 -0
- package/es/request/constants.js +6 -0
- package/es/request/index.d.ts +24 -0
- package/es/request/index.js +267 -0
- package/es/request/pisell2Request.d.ts +6 -0
- package/es/request/pisell2Request.js +62 -0
- package/es/request/type.d.ts +57 -0
- package/es/request/type.js +10 -0
- package/es/request/utils.d.ts +46 -0
- package/es/request/utils.js +147 -0
- package/es/routes/config.d.ts +7 -0
- package/es/routes/config.js +17 -0
- package/es/routes/index.d.ts +28 -0
- package/es/routes/index.js +151 -0
- package/es/socket/components/SocketMonitorPage.d.ts +6 -0
- package/es/socket/components/SocketMonitorPage.js +485 -0
- package/es/socket/components/index.d.ts +2 -0
- package/es/socket/components/index.js +2 -0
- package/es/socket/constants.d.ts +33 -0
- package/es/socket/constants.js +39 -0
- package/es/socket/events.d.ts +31 -0
- package/es/socket/events.js +19 -0
- package/es/socket/heartbeat.d.ts +66 -0
- package/es/socket/heartbeat.js +184 -0
- package/es/socket/index.d.ts +61 -0
- package/es/socket/index.js +246 -0
- package/es/socket/monitor.d.ts +169 -0
- package/es/socket/monitor.js +448 -0
- package/es/socket/reconnect.d.ts +61 -0
- package/es/socket/reconnect.js +199 -0
- package/es/socket/socket.d.ts +130 -0
- package/es/socket/socket.js +613 -0
- package/es/socket/types.d.ts +85 -0
- package/es/socket/types.js +35 -0
- package/es/storage/index.d.ts +17 -0
- package/es/storage/index.js +46 -0
- package/es/tasks/index.d.ts +127 -0
- package/es/tasks/index.js +1119 -0
- package/es/tasks/scheduledTasksExample.d.ts +61 -0
- package/es/tasks/scheduledTasksExample.js +351 -0
- package/es/tasks/type.d.ts +100 -0
- package/es/tasks/type.js +1 -0
- package/es/tasks/useTasks.d.ts +5 -0
- package/es/tasks/useTasks.js +25 -0
- package/es/type.d.ts +2 -0
- package/es/type.js +1 -0
- package/es/utils/adaptiveThrottle/index.d.ts +36 -0
- package/es/utils/adaptiveThrottle/index.js +136 -0
- package/es/variables/VariablesProvider.d.ts +7 -0
- package/es/variables/VariablesProvider.js +12 -0
- package/es/variables/config.d.ts +3 -0
- package/es/variables/config.js +16 -0
- package/es/variables/index.d.ts +6 -0
- package/es/variables/index.js +5 -0
- package/es/variables/type.d.ts +2 -0
- package/es/variables/type.js +1 -0
- package/es/website/index.d.ts +6 -0
- package/es/website/index.js +65 -0
- package/lib/app/app.d.ts +101 -0
- package/lib/app/app.js +171 -0
- package/lib/app/const.d.ts +4 -0
- package/lib/app/const.js +33 -0
- package/lib/app/index.d.ts +14 -0
- package/lib/app/index.js +76 -0
- package/lib/applicationManager/application.d.ts +197 -0
- package/lib/applicationManager/application.js +280 -0
- package/lib/applicationManager/index.d.ts +19 -0
- package/lib/applicationManager/index.js +88 -0
- package/lib/aws/index.d.ts +16 -0
- package/lib/aws/index.js +67 -0
- package/lib/cmd/const.d.ts +11 -0
- package/lib/cmd/const.js +39 -0
- package/lib/cmd/index.d.ts +13 -0
- package/lib/cmd/index.js +96 -0
- package/lib/cmd/type.d.ts +5 -0
- package/lib/cmd/type.js +17 -0
- package/lib/communicationManager/index.d.ts +59 -0
- package/lib/communicationManager/index.js +102 -0
- package/lib/config.d.ts +3 -0
- package/lib/config.js +36 -0
- package/lib/cookie/index.d.ts +13 -0
- package/lib/cookie/index.js +62 -0
- package/lib/css/global.less +73 -0
- package/lib/css/index.less +31 -0
- package/lib/css/variables.css +84 -0
- package/lib/data/index.d.ts +8 -0
- package/lib/data/index.js +38 -0
- package/lib/history/config.d.ts +24 -0
- package/lib/history/config.js +41 -0
- package/lib/history/index.d.ts +26 -0
- package/lib/history/index.js +99 -0
- package/lib/history/type.d.ts +2 -0
- package/lib/history/type.js +17 -0
- package/lib/hooks/index.d.ts +12 -0
- package/lib/hooks/index.js +44 -0
- package/lib/hooks/useDelayedValue/index.d.ts +2 -0
- package/lib/hooks/useDelayedValue/index.js +36 -0
- package/lib/hooks/useDispatch/index.d.ts +2 -0
- package/lib/hooks/useDispatch/index.js +26 -0
- package/lib/hooks/useLowCode/index.d.ts +13 -0
- package/lib/hooks/useLowCode/index.js +75 -0
- package/lib/hooks/useStore/index.d.ts +6 -0
- package/lib/hooks/useStore/index.js +33 -0
- package/lib/index.d.ts +8 -0
- package/lib/index.js +58 -0
- package/lib/indexDB/index.d.ts +296 -0
- package/lib/indexDB/index.js +767 -0
- package/lib/locales/en.d.ts +3 -0
- package/lib/locales/en.js +29 -0
- package/lib/locales/index.d.ts +39 -0
- package/lib/locales/index.js +159 -0
- package/lib/locales/original.d.ts +3 -0
- package/lib/locales/original.js +31 -0
- package/lib/locales/type.d.ts +19 -0
- package/lib/locales/type.js +17 -0
- package/lib/locales/zh-CN.d.ts +3 -0
- package/lib/locales/zh-CN.js +29 -0
- package/lib/locales/zh-HK.d.ts +3 -0
- package/lib/locales/zh-HK.js +29 -0
- package/lib/logger/feishu.d.ts +11 -0
- package/lib/logger/feishu.js +52 -0
- package/lib/logger/index.d.ts +135 -0
- package/lib/logger/index.js +476 -0
- package/lib/menuManager/hooks.d.ts +17 -0
- package/lib/menuManager/hooks.js +135 -0
- package/lib/menuManager/index.d.ts +28 -0
- package/lib/menuManager/index.js +125 -0
- package/lib/models/global.d.ts +32 -0
- package/lib/models/global.js +62 -0
- package/lib/models/index.d.ts +45 -0
- package/lib/models/index.js +69 -0
- package/lib/models/type.d.ts +2 -0
- package/lib/models/type.js +17 -0
- package/lib/plugin/index.d.ts +0 -0
- package/lib/plugin/index.js +0 -0
- package/lib/pubsub/example.d.ts +5 -0
- package/lib/pubsub/example.js +61 -0
- package/lib/pubsub/index.d.ts +73 -0
- package/lib/pubsub/index.js +141 -0
- package/lib/render/index.d.ts +0 -0
- package/lib/render/index.js +0 -0
- package/lib/request/cache.d.ts +46 -0
- package/lib/request/cache.js +195 -0
- package/lib/request/cancelToken.d.ts +38 -0
- package/lib/request/cancelToken.js +59 -0
- package/lib/request/config.d.ts +3 -0
- package/lib/request/config.js +69 -0
- package/lib/request/constants.d.ts +2 -0
- package/lib/request/constants.js +34 -0
- package/lib/request/index.d.ts +24 -0
- package/lib/request/index.js +210 -0
- package/lib/request/pisell2Request.d.ts +6 -0
- package/lib/request/pisell2Request.js +75 -0
- package/lib/request/type.d.ts +57 -0
- package/lib/request/type.js +36 -0
- package/lib/request/utils.d.ts +46 -0
- package/lib/request/utils.js +113 -0
- package/lib/routes/config.d.ts +7 -0
- package/lib/routes/config.js +50 -0
- package/lib/routes/index.d.ts +28 -0
- package/lib/routes/index.js +121 -0
- package/lib/socket/components/SocketMonitorPage.d.ts +6 -0
- package/lib/socket/components/SocketMonitorPage.js +340 -0
- package/lib/socket/components/index.d.ts +2 -0
- package/lib/socket/components/index.js +39 -0
- package/lib/socket/constants.d.ts +33 -0
- package/lib/socket/constants.js +62 -0
- package/lib/socket/events.d.ts +31 -0
- package/lib/socket/events.js +44 -0
- package/lib/socket/heartbeat.d.ts +66 -0
- package/lib/socket/heartbeat.js +157 -0
- package/lib/socket/index.d.ts +61 -0
- package/lib/socket/index.js +198 -0
- package/lib/socket/monitor.d.ts +169 -0
- package/lib/socket/monitor.js +350 -0
- package/lib/socket/reconnect.d.ts +61 -0
- package/lib/socket/reconnect.js +157 -0
- package/lib/socket/socket.d.ts +130 -0
- package/lib/socket/socket.js +426 -0
- package/lib/socket/types.d.ts +85 -0
- package/lib/socket/types.js +36 -0
- package/lib/storage/index.d.ts +17 -0
- package/lib/storage/index.js +64 -0
- package/lib/tasks/index.d.ts +127 -0
- package/lib/tasks/index.js +710 -0
- package/lib/tasks/scheduledTasksExample.d.ts +61 -0
- package/lib/tasks/scheduledTasksExample.js +267 -0
- package/lib/tasks/type.d.ts +100 -0
- package/lib/tasks/type.js +17 -0
- package/lib/tasks/useTasks.d.ts +5 -0
- package/lib/tasks/useTasks.js +37 -0
- package/lib/type.d.ts +2 -0
- package/lib/type.js +17 -0
- package/lib/utils/adaptiveThrottle/index.d.ts +36 -0
- package/lib/utils/adaptiveThrottle/index.js +121 -0
- package/lib/variables/VariablesProvider.d.ts +7 -0
- package/lib/variables/VariablesProvider.js +51 -0
- package/lib/variables/config.d.ts +3 -0
- package/lib/variables/config.js +38 -0
- package/lib/variables/index.d.ts +6 -0
- package/lib/variables/index.js +29 -0
- package/lib/variables/type.d.ts +2 -0
- package/lib/variables/type.js +17 -0
- package/lib/website/index.d.ts +6 -0
- package/lib/website/index.js +75 -0
- package/package.json +49 -0
package/lib/aws/index.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/aws/index.ts
|
|
20
|
+
var aws_exports = {};
|
|
21
|
+
__export(aws_exports, {
|
|
22
|
+
default: () => aws_default
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(aws_exports);
|
|
25
|
+
var import_client_s3 = require("@aws-sdk/client-s3");
|
|
26
|
+
var defaultUploadParams = {
|
|
27
|
+
Bucket: "",
|
|
28
|
+
Key: "",
|
|
29
|
+
ContentType: "application/json",
|
|
30
|
+
ContentDisposition: "inline",
|
|
31
|
+
ACL: "public-read"
|
|
32
|
+
// 设置ACL权限为公共读取
|
|
33
|
+
};
|
|
34
|
+
var AWS = class {
|
|
35
|
+
s3Client;
|
|
36
|
+
app;
|
|
37
|
+
config;
|
|
38
|
+
constructor(app, options) {
|
|
39
|
+
this.app = app;
|
|
40
|
+
if (options) {
|
|
41
|
+
const clientConfig = {
|
|
42
|
+
...options.s3Config
|
|
43
|
+
};
|
|
44
|
+
this.s3Client = new import_client_s3.S3Client(clientConfig);
|
|
45
|
+
this.config = options;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async upload(params) {
|
|
49
|
+
var _a, _b;
|
|
50
|
+
try {
|
|
51
|
+
const _params = {
|
|
52
|
+
...defaultUploadParams,
|
|
53
|
+
...params,
|
|
54
|
+
Bucket: params.Bucket || ((_a = this.config) == null ? void 0 : _a.bucketName)
|
|
55
|
+
};
|
|
56
|
+
console.log(`上传参数`, _params);
|
|
57
|
+
const command = new import_client_s3.PutObjectCommand(_params);
|
|
58
|
+
const response = await ((_b = this.s3Client) == null ? void 0 : _b.send(command));
|
|
59
|
+
console.log(`上传成功`);
|
|
60
|
+
return response;
|
|
61
|
+
} catch (err) {
|
|
62
|
+
console.error(`上传失败`, err);
|
|
63
|
+
throw err;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
var aws_default = AWS;
|
package/lib/cmd/const.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/cmd/const.ts
|
|
20
|
+
var const_exports = {};
|
|
21
|
+
__export(const_exports, {
|
|
22
|
+
CMDCoreEnum: () => CMDCoreEnum,
|
|
23
|
+
default: () => const_default
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(const_exports);
|
|
26
|
+
var prefix = "cmd";
|
|
27
|
+
var CMDCoreEnum = ((CMDCoreEnum2) => {
|
|
28
|
+
CMDCoreEnum2["CMD_CONNECT"] = `${prefix}.connect`;
|
|
29
|
+
CMDCoreEnum2["CMD_DISCONNECT"] = `${prefix}.disconnect`;
|
|
30
|
+
CMDCoreEnum2["CMD_RECONNECT"] = `${prefix}.reconnect`;
|
|
31
|
+
CMDCoreEnum2["CMD_MESSAGE"] = `${prefix}.message`;
|
|
32
|
+
CMDCoreEnum2["CMD_ERROR"] = `${prefix}.error`;
|
|
33
|
+
return CMDCoreEnum2;
|
|
34
|
+
})(CMDCoreEnum || {});
|
|
35
|
+
var const_default = { CMDCoreEnum };
|
|
36
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
37
|
+
0 && (module.exports = {
|
|
38
|
+
CMDCoreEnum
|
|
39
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import App from "../app";
|
|
2
|
+
import { CMDCoreEnum } from "./const";
|
|
3
|
+
export interface CMDOptions {
|
|
4
|
+
socketUrl?: string;
|
|
5
|
+
}
|
|
6
|
+
declare class CMD {
|
|
7
|
+
private app;
|
|
8
|
+
private options?;
|
|
9
|
+
constructor(app: App, options?: CMDOptions);
|
|
10
|
+
init(): void;
|
|
11
|
+
}
|
|
12
|
+
export { CMDCoreEnum };
|
|
13
|
+
export default CMD;
|
package/lib/cmd/index.js
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/cmd/index.ts
|
|
30
|
+
var cmd_exports = {};
|
|
31
|
+
__export(cmd_exports, {
|
|
32
|
+
CMDCoreEnum: () => import_const.CMDCoreEnum,
|
|
33
|
+
default: () => cmd_default
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(cmd_exports);
|
|
36
|
+
var import_socket = __toESM(require("../socket"));
|
|
37
|
+
var import_const = require("./const");
|
|
38
|
+
var CMD = class {
|
|
39
|
+
app;
|
|
40
|
+
options;
|
|
41
|
+
constructor(app, options) {
|
|
42
|
+
this.app = app;
|
|
43
|
+
this.options = options;
|
|
44
|
+
}
|
|
45
|
+
init() {
|
|
46
|
+
var _a, _b;
|
|
47
|
+
if (!((_a = this.options) == null ? void 0 : _a.socketUrl)) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const cmdSocket = import_socket.default.create(
|
|
51
|
+
(_b = this.options) == null ? void 0 : _b.socketUrl,
|
|
52
|
+
{
|
|
53
|
+
autoConnect: false,
|
|
54
|
+
// 自动连接
|
|
55
|
+
reconnection: true,
|
|
56
|
+
// 启用断线重连
|
|
57
|
+
heartbeat: true,
|
|
58
|
+
// 启用心跳检测
|
|
59
|
+
heartbeatInterval: 3e4,
|
|
60
|
+
// 心跳间隔(毫秒)
|
|
61
|
+
heartbeatTimeout: 5e4
|
|
62
|
+
// 请求超时时间(毫秒)
|
|
63
|
+
},
|
|
64
|
+
"front_cmd"
|
|
65
|
+
// Socket标识键
|
|
66
|
+
);
|
|
67
|
+
cmdSocket.on("connect", (res) => {
|
|
68
|
+
this.app.pubsub.publish(import_const.CMDCoreEnum.CMD_CONNECT, res);
|
|
69
|
+
this.app.logger.addLog({ type: "info", title: "cmdSocket连接成功", metadata: res });
|
|
70
|
+
});
|
|
71
|
+
cmdSocket.on("disconnect", (res) => {
|
|
72
|
+
this.app.pubsub.publish(import_const.CMDCoreEnum.CMD_DISCONNECT, res);
|
|
73
|
+
this.app.logger.addLog({ type: "info", title: "cmdSocket连接断开", metadata: res });
|
|
74
|
+
});
|
|
75
|
+
cmdSocket.on("reconnect", (res) => {
|
|
76
|
+
this.app.pubsub.publish(import_const.CMDCoreEnum.CMD_RECONNECT, res);
|
|
77
|
+
this.app.logger.addLog({ type: "info", title: "cmdSocket重连", metadata: res });
|
|
78
|
+
});
|
|
79
|
+
cmdSocket.on("message", (res) => {
|
|
80
|
+
this.app.pubsub.publish(import_const.CMDCoreEnum.CMD_MESSAGE, res);
|
|
81
|
+
this.app.logger.addLog({ type: "info", title: "cmdSocket收到消息", metadata: res });
|
|
82
|
+
});
|
|
83
|
+
cmdSocket.on("error", (res) => {
|
|
84
|
+
this.app.pubsub.publish(import_const.CMDCoreEnum.CMD_ERROR, res);
|
|
85
|
+
this.app.logger.addLog({ type: "info", title: "cmdSocket连接错误", metadata: res });
|
|
86
|
+
});
|
|
87
|
+
cmdSocket.connect().catch((error) => {
|
|
88
|
+
this.app.logger.addLog({ type: "info", title: "cmdSocket连接失败", metadata: error });
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
var cmd_default = CMD;
|
|
93
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
94
|
+
0 && (module.exports = {
|
|
95
|
+
CMDCoreEnum
|
|
96
|
+
});
|
package/lib/cmd/type.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
|
|
15
|
+
// src/cmd/type.ts
|
|
16
|
+
var type_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(type_exports);
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import App from '../app';
|
|
2
|
+
/**
|
|
3
|
+
* 插件基础类型,通信插件(如 socket、ably)需符合此结构
|
|
4
|
+
* 具体插件可扩展自有方法以支持链式调用
|
|
5
|
+
*/
|
|
6
|
+
export interface CommunicationPlugin {
|
|
7
|
+
destroy?: () => Promise<void>;
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 插件注册选项
|
|
12
|
+
*/
|
|
13
|
+
export interface RegisterOptions {
|
|
14
|
+
/**
|
|
15
|
+
* 是否强制覆盖已存在的同名插件
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
force?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 通信管理器:支持注入、获取、移除多种通信插件(如 socket、ably 等)
|
|
22
|
+
* 管理器自身方法支持链式调用
|
|
23
|
+
*/
|
|
24
|
+
export default class CommunicationManager {
|
|
25
|
+
private app;
|
|
26
|
+
private plugins;
|
|
27
|
+
constructor(app: App);
|
|
28
|
+
/**
|
|
29
|
+
* 注入插件
|
|
30
|
+
* @param name 插件名称,如 'socket'、'ably'
|
|
31
|
+
* @param plugin 插件实例
|
|
32
|
+
* @param options 注册选项,可通过 force 强制覆盖已存在的插件
|
|
33
|
+
* @throws 当插件已存在且未设置 force 时抛出错误
|
|
34
|
+
*/
|
|
35
|
+
register<T extends CommunicationPlugin>(name: string, plugin: T, options?: RegisterOptions): void;
|
|
36
|
+
/**
|
|
37
|
+
* 根据名称获取插件,可对返回值进行链式调用(由插件自身实现)
|
|
38
|
+
* @param name 插件名称
|
|
39
|
+
* @returns 插件实例,未注册时返回 undefined
|
|
40
|
+
*/
|
|
41
|
+
getPlugin<T extends CommunicationPlugin = CommunicationPlugin>(name: string): T | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* 移除指定插件
|
|
44
|
+
* @param name 插件名称
|
|
45
|
+
*/
|
|
46
|
+
remove(name: string): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* 移除所有插件
|
|
49
|
+
*/
|
|
50
|
+
removeAll(): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* 检查是否已注册指定插件
|
|
53
|
+
*/
|
|
54
|
+
has(name: string): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* 获取已注册的插件名称列表
|
|
57
|
+
*/
|
|
58
|
+
getPluginNames(): string[];
|
|
59
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/communicationManager/index.ts
|
|
20
|
+
var communicationManager_exports = {};
|
|
21
|
+
__export(communicationManager_exports, {
|
|
22
|
+
default: () => CommunicationManager
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(communicationManager_exports);
|
|
25
|
+
var CommunicationManager = class {
|
|
26
|
+
app;
|
|
27
|
+
plugins = /* @__PURE__ */ new Map();
|
|
28
|
+
constructor(app) {
|
|
29
|
+
this.app = app;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 注入插件
|
|
33
|
+
* @param name 插件名称,如 'socket'、'ably'
|
|
34
|
+
* @param plugin 插件实例
|
|
35
|
+
* @param options 注册选项,可通过 force 强制覆盖已存在的插件
|
|
36
|
+
* @throws 当插件已存在且未设置 force 时抛出错误
|
|
37
|
+
*/
|
|
38
|
+
register(name, plugin, options) {
|
|
39
|
+
if (!(options == null ? void 0 : options.force) && this.plugins.has(name)) {
|
|
40
|
+
const msg = `CommunicationManager: 插件 "${name}" 已注册`;
|
|
41
|
+
this.app.logger.addLog({ type: "warning", title: msg });
|
|
42
|
+
throw new Error(msg);
|
|
43
|
+
}
|
|
44
|
+
this.plugins.set(name, plugin);
|
|
45
|
+
this.app.logger.addLog({
|
|
46
|
+
type: "info",
|
|
47
|
+
title: `CommunicationManager: 注册插件 "${name}" 成功`
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* 根据名称获取插件,可对返回值进行链式调用(由插件自身实现)
|
|
52
|
+
* @param name 插件名称
|
|
53
|
+
* @returns 插件实例,未注册时返回 undefined
|
|
54
|
+
*/
|
|
55
|
+
getPlugin(name) {
|
|
56
|
+
return this.plugins.get(name);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* 移除指定插件
|
|
60
|
+
* @param name 插件名称
|
|
61
|
+
*/
|
|
62
|
+
async remove(name) {
|
|
63
|
+
const msg = `CommunicationManager: 移除插件 "${name}"`;
|
|
64
|
+
this.app.logger.addLog({ type: "info", title: msg });
|
|
65
|
+
const plugin = this.getPlugin(name);
|
|
66
|
+
if (plugin && plugin.destroy) {
|
|
67
|
+
await plugin.destroy();
|
|
68
|
+
}
|
|
69
|
+
this.plugins.delete(name);
|
|
70
|
+
this.app.logger.addLog({ type: "info", title: `${msg} 成功` });
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* 移除所有插件
|
|
74
|
+
*/
|
|
75
|
+
async removeAll() {
|
|
76
|
+
const msg = `CommunicationManager: 移除所有插件`;
|
|
77
|
+
this.app.logger.addLog({ type: "info", title: msg });
|
|
78
|
+
const promises = [];
|
|
79
|
+
this.plugins.forEach((plugin) => {
|
|
80
|
+
if (plugin == null ? void 0 : plugin.destroy) {
|
|
81
|
+
promises.push(plugin.destroy());
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
if (promises.length > 0) {
|
|
85
|
+
await Promise.all(promises);
|
|
86
|
+
}
|
|
87
|
+
this.plugins.clear();
|
|
88
|
+
this.app.logger.addLog({ type: "info", title: `${msg} 成功` });
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* 检查是否已注册指定插件
|
|
92
|
+
*/
|
|
93
|
+
has(name) {
|
|
94
|
+
return this.plugins.has(name);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* 获取已注册的插件名称列表
|
|
98
|
+
*/
|
|
99
|
+
getPluginNames() {
|
|
100
|
+
return Array.from(this.plugins.keys());
|
|
101
|
+
}
|
|
102
|
+
};
|
package/lib/config.d.ts
ADDED
package/lib/config.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/config.ts
|
|
20
|
+
var config_exports = {};
|
|
21
|
+
__export(config_exports, {
|
|
22
|
+
getConfig: () => getConfig,
|
|
23
|
+
setConfig: () => setConfig
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(config_exports);
|
|
26
|
+
var defaultConfig = {};
|
|
27
|
+
var config = { ...defaultConfig };
|
|
28
|
+
var setConfig = (newConfig) => {
|
|
29
|
+
config = { ...config, ...newConfig };
|
|
30
|
+
};
|
|
31
|
+
var getConfig = () => config;
|
|
32
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
33
|
+
0 && (module.exports = {
|
|
34
|
+
getConfig,
|
|
35
|
+
setConfig
|
|
36
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare function setCookie(name: string, value: string, domain?: string): void;
|
|
2
|
+
declare function getCookie(name: string): string | null;
|
|
3
|
+
declare function deleteCookie(name: string, domain?: string): void;
|
|
4
|
+
declare function checkCookie(name: string): boolean;
|
|
5
|
+
declare function updateCookie(name: string, value: string, domain?: string): void;
|
|
6
|
+
declare const _default: {
|
|
7
|
+
setCookie: typeof setCookie;
|
|
8
|
+
getCookie: typeof getCookie;
|
|
9
|
+
deleteCookie: typeof deleteCookie;
|
|
10
|
+
checkCookie: typeof checkCookie;
|
|
11
|
+
updateCookie: typeof updateCookie;
|
|
12
|
+
};
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/cookie/index.ts
|
|
20
|
+
var cookie_exports = {};
|
|
21
|
+
__export(cookie_exports, {
|
|
22
|
+
default: () => cookie_default
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(cookie_exports);
|
|
25
|
+
function setCookie(name, value, domain) {
|
|
26
|
+
let expires = "";
|
|
27
|
+
let cookieDomain = "";
|
|
28
|
+
if (domain) {
|
|
29
|
+
cookieDomain = "; domain=" + domain;
|
|
30
|
+
}
|
|
31
|
+
document.cookie = name + "=" + (value || "") + expires + cookieDomain + "; path=/";
|
|
32
|
+
}
|
|
33
|
+
function getCookie(name) {
|
|
34
|
+
const nameEQ = name + "=";
|
|
35
|
+
const ca = document.cookie.split(";");
|
|
36
|
+
for (let i = 0; i < ca.length; i++) {
|
|
37
|
+
let c = ca[i];
|
|
38
|
+
while (c.charAt(0) === " ") c = c.substring(1, c.length);
|
|
39
|
+
if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
function deleteCookie(name, domain) {
|
|
44
|
+
let cookieDomain = "";
|
|
45
|
+
if (domain) {
|
|
46
|
+
cookieDomain = "; domain=" + domain;
|
|
47
|
+
}
|
|
48
|
+
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC" + cookieDomain + "; path=/;";
|
|
49
|
+
}
|
|
50
|
+
function checkCookie(name) {
|
|
51
|
+
return getCookie(name) !== null;
|
|
52
|
+
}
|
|
53
|
+
function updateCookie(name, value, domain) {
|
|
54
|
+
setCookie(name, value, domain);
|
|
55
|
+
}
|
|
56
|
+
var cookie_default = {
|
|
57
|
+
setCookie,
|
|
58
|
+
getCookie,
|
|
59
|
+
deleteCookie,
|
|
60
|
+
checkCookie,
|
|
61
|
+
updateCookie
|
|
62
|
+
};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
.disabled-select {
|
|
2
|
+
-webkit-user-select: none;
|
|
3
|
+
/* Safari */
|
|
4
|
+
-moz-user-select: none;
|
|
5
|
+
/* Firefox */
|
|
6
|
+
-ms-user-select: none;
|
|
7
|
+
/* IE10+/Edge */
|
|
8
|
+
user-select: none;
|
|
9
|
+
/* Standard syntax */
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
ion-segment-button {
|
|
13
|
+
font-weight: 600;
|
|
14
|
+
--color-checked: var(--ion-color-primary);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.tab-bar {
|
|
18
|
+
//height: 78px;
|
|
19
|
+
--background: #fff;
|
|
20
|
+
padding: 10px 0;
|
|
21
|
+
|
|
22
|
+
.tab-bar-icon {
|
|
23
|
+
margin-bottom: 6px;
|
|
24
|
+
//font-size: 24px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.tab-bar-name {
|
|
28
|
+
font-size: 12px;
|
|
29
|
+
font-style: normal;
|
|
30
|
+
font-weight: 600;
|
|
31
|
+
line-height: 18px;
|
|
32
|
+
/* 150% */
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
ul {
|
|
37
|
+
padding: 0;
|
|
38
|
+
margin: 0;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
li {
|
|
42
|
+
list-style: none;
|
|
43
|
+
padding: 0;
|
|
44
|
+
margin: 0;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
/*默认滚动条样式*/
|
|
49
|
+
::-webkit-scrollbar {
|
|
50
|
+
width: 8px;
|
|
51
|
+
height: 8px;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
::-webkit-scrollbar-track {
|
|
55
|
+
background: #f1f1f1;
|
|
56
|
+
border-radius: 4px;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
::-webkit-scrollbar-thumb {
|
|
60
|
+
background: #c1c1c1;
|
|
61
|
+
border-radius: 4px;
|
|
62
|
+
|
|
63
|
+
&:hover {
|
|
64
|
+
background: #a8a8a8;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
html.plt-mobile ion-app {
|
|
69
|
+
-webkit-user-select: auto;
|
|
70
|
+
-moz-user-select: auto;
|
|
71
|
+
-ms-user-select: auto;
|
|
72
|
+
user-select: auto;
|
|
73
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/* Core CSS required for Ionic components to work properly */
|
|
2
|
+
@import "@ionic/react/css/core.css";
|
|
3
|
+
|
|
4
|
+
/* Basic CSS for apps built with Ionic */
|
|
5
|
+
@import "@ionic/react/css/normalize.css";
|
|
6
|
+
@import "@ionic/react/css/structure.css";
|
|
7
|
+
@import "@ionic/react/css/typography.css";
|
|
8
|
+
|
|
9
|
+
/* Optional CSS utils that can be commented out */
|
|
10
|
+
@import "@ionic/react/css/padding.css";
|
|
11
|
+
@import "@ionic/react/css/float-elements.css";
|
|
12
|
+
@import "@ionic/react/css/text-alignment.css";
|
|
13
|
+
@import "@ionic/react/css/text-transformation.css";
|
|
14
|
+
@import "@ionic/react/css/flex-utils.css";
|
|
15
|
+
@import "@ionic/react/css/display.css";
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Ionic Dark Mode
|
|
19
|
+
* -----------------------------------------------------
|
|
20
|
+
* For more info, please see:
|
|
21
|
+
* https://ionicframework.com/docs/theming/dark-mode
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/* @import '@ionic/react/css/palettes/dark.always.css'; */
|
|
25
|
+
/* @import '@ionic/react/css/palettes/dark.class.css'; */
|
|
26
|
+
// @import "@ionic/react/css/palettes/dark.system.css";
|
|
27
|
+
|
|
28
|
+
/* Theme variables */
|
|
29
|
+
@import "./variables.css";
|
|
30
|
+
|
|
31
|
+
@import "./global.less";
|