deeke-script-app 1.4.0 → 1.4.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.
@@ -0,0 +1 @@
1
+ type Storage = Storage;
@@ -0,0 +1,76 @@
1
+ global {
2
+ var SocketIOClient: socketIOClient;
3
+ }
4
+
5
+ interface socketIOClient {
6
+ /**
7
+ * 获取socketIOClient实例
8
+ * @param serverUrl socketIOServer地址
9
+ * @param reconnect 是否自动重连(默认为true)
10
+ * @param timeout 重连超时时间(毫秒)(默认为5000毫秒)
11
+ */
12
+ public getInstance(serverUrl: string, reconnect: boolean = true, timeout: number = 5000): socketIOClient;
13
+
14
+ /**
15
+ * 连接socketIOServer
16
+ */
17
+ public connect(): void;
18
+
19
+ /**
20
+ * 断开socketIOServer
21
+ */
22
+ public disconnect(): void;
23
+
24
+ /**
25
+ * 是否已连接
26
+ */
27
+ public isConnected(): boolean;
28
+
29
+ /**
30
+ * 向服务器发送事件和数据
31
+ * @param eventName 事件名称
32
+ * @param data 数据
33
+ */
34
+ public emit(eventName: string, data: string): void;
35
+
36
+ /**
37
+ * 向服务器发送事件和数据
38
+ * @param eventName 事件名称
39
+ * @param data 数据
40
+ * @param callback 服务器确认后的回调函数
41
+ */
42
+ public emit(eventName: string, data: string, callback: function): void;
43
+
44
+ /**
45
+ * 监听事件
46
+ * @param eventName
47
+ * @param callback
48
+ */
49
+ public on(eventName: string, callback: (data: string) => void): void;
50
+
51
+ /**
52
+ * 移除事件监听器
53
+ * @param eventName
54
+ * @param callback
55
+ */
56
+ public off(eventName: string, callback: (data: string) => void): void;
57
+
58
+ /**
59
+ * 移除事件监听器
60
+ * @param eventName
61
+ */
62
+ public off(eventName: string): void;
63
+
64
+ /**
65
+ * 移除所有事件监听器
66
+ */
67
+ public off(): void;
68
+
69
+ /**
70
+ * 重置当前实例的是否重连
71
+ * @param bool 是否自动重连
72
+ */
73
+ public setReconnect(bool: boolean): void;
74
+ }
75
+
76
+ export { };
@@ -9,7 +9,7 @@ interface storage {
9
9
  * @param db 数据库名称
10
10
  * @return 返回当前实例,如果已存在则直接返回
11
11
  */
12
- public create(db: string): Storage;
12
+ public create(db: string): storage;
13
13
 
14
14
  /**
15
15
  * 设置字符串
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deeke-script-app",
3
- "version": "1.4.0",
3
+ "version": "1.4.2",
4
4
  "description": "DeekeScript应用",
5
5
  "main": "src/index.ts",
6
6
  "scripts": {
@@ -36,6 +36,7 @@
36
36
  "dependencies": {
37
37
  "adm-zip": "^0.5.16",
38
38
  "cpx": "^1.5.0",
39
+ "socket.io": "^4.8.1",
39
40
  "ts-node": "^10.9.2"
40
41
  }
41
42
  }
@@ -0,0 +1,44 @@
1
+ let socketIOClient = SocketIOClient.getInstance("http://192.168.0.111:3000");
2
+
3
+ socketIOClient.on("connect_error", (error) => {
4
+ console.error("连接错误:", error);
5
+ });
6
+
7
+ socketIOClient.on("error", (error) => {
8
+ console.error("通用错误:", error);
9
+ });
10
+
11
+ socketIOClient.on("connect_timeout", () => {
12
+ console.error("连接超时");
13
+ });
14
+
15
+ socketIOClient.on('connect', () => {
16
+ console.log('connected!', 1);
17
+ });
18
+
19
+
20
+
21
+ socketIOClient.on("connect2", function () {
22
+ console.log('是否连接成功:', socketIOClient.isConnected());
23
+ socketIOClient.on("message", function (data) {
24
+ console.log('服务端发来的消息:', data);
25
+ });
26
+
27
+ let str = JSON.stringify({
28
+ name: "DeekeScript",
29
+ age: 3,
30
+ other: {
31
+ sex: ["男"]
32
+ }
33
+ });
34
+ socketIOClient.emit("message", str, function (data) {
35
+ console.log('确认参数', data);
36
+ });
37
+ });
38
+
39
+ socketIOClient.connect();
40
+
41
+ while (true) {
42
+ System.sleep(1000);
43
+ console.log('防止脚本终止');
44
+ }
@@ -0,0 +1,46 @@
1
+ const { Server } = require("socket.io");
2
+ const readline = require("readline");
3
+
4
+ const io = new Server("3000", {
5
+ cors: {
6
+ origin: "*",
7
+ },
8
+ });
9
+
10
+ io.on("connection", (socket) => {
11
+ console.log(`客户端已连接: ${socket.id}`);
12
+
13
+ socket.on("message", (data) => {
14
+ console.log("收到客户端消息:", data);
15
+ console.log(data.name);
16
+ socket.emit("message", data);
17
+ });
18
+
19
+ socket.on("disconnect", () => {
20
+ console.log(`客户端断开连接: ${socket.id}`);
21
+ });
22
+ });
23
+
24
+ console.log("Socket.IO 服务启动,监听端口 3000");
25
+
26
+ // 创建命令行接口,监听输入
27
+ const rl = readline.createInterface({
28
+ input: process.stdin,
29
+ output: process.stdout,
30
+ prompt: '请输入服务器消息> '
31
+ });
32
+
33
+ rl.prompt();
34
+
35
+ rl.on('line', (line) => {
36
+ const msg = line.trim();
37
+ if(msg.length > 0) {
38
+ // 给所有客户端广播 message 事件
39
+ io.emit('message', msg);
40
+ console.log(`已广播消息: ${msg}`);
41
+ }
42
+ rl.prompt();
43
+ }).on('close', () => {
44
+ console.log('服务器输入关闭,退出程序');
45
+ process.exit(0);
46
+ });
@@ -0,0 +1,3 @@
1
+
2
+ Storage.create('a').clear();
3
+
@@ -0,0 +1,2 @@
1
+
2
+
@@ -0,0 +1,6 @@
1
+
2
+ console.log('主线程开始');
3
+
4
+ Engines.executeScript("test/aaaaaaaaaa/test.js");
5
+ console.log('主线程结束');
6
+
@@ -0,0 +1,4 @@
1
+
2
+ console.log('子线程开始1');
3
+ System.sleep(3000);
4
+ console.log('子线程完成322112111');