@cc-component/cc-core 1.2.8

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.
Files changed (194) hide show
  1. package/.cc-ex-component.md +12 -0
  2. package/assets/core/config/CommonEnum.ts +94 -0
  3. package/assets/core/config/CommonEnum.ts.meta +9 -0
  4. package/assets/core/config/IConfig.ts +89 -0
  5. package/assets/core/config/IConfig.ts.meta +9 -0
  6. package/assets/core/config/LayerType.ts +44 -0
  7. package/assets/core/config/LayerType.ts.meta +9 -0
  8. package/assets/core/config/LayerUI.ts +113 -0
  9. package/assets/core/config/LayerUI.ts.meta +9 -0
  10. package/assets/core/config.meta +9 -0
  11. package/assets/core/editor/LanguageManager.ts +323 -0
  12. package/assets/core/editor/LanguageManager.ts.meta +9 -0
  13. package/assets/core/editor/SpineRunner.ts +39 -0
  14. package/assets/core/editor/SpineRunner.ts.meta +9 -0
  15. package/assets/core/editor/i18nEditorComponent.ts +137 -0
  16. package/assets/core/editor/i18nEditorComponent.ts.meta +9 -0
  17. package/assets/core/editor.meta +9 -0
  18. package/assets/core/home/AudioUtil.ts +164 -0
  19. package/assets/core/home/AudioUtil.ts.meta +9 -0
  20. package/assets/core/home/BaseBoxView.ts +60 -0
  21. package/assets/core/home/BaseBoxView.ts.meta +9 -0
  22. package/assets/core/home/BaseLaunchComponent.ts +9 -0
  23. package/assets/core/home/BaseLaunchComponent.ts.meta +9 -0
  24. package/assets/core/home/BaseLoading.ts +136 -0
  25. package/assets/core/home/BaseLoading.ts.meta +9 -0
  26. package/assets/core/home/BaseSkeleton.ts +39 -0
  27. package/assets/core/home/BaseSkeleton.ts.meta +9 -0
  28. package/assets/core/home/CameraAngel.ts +326 -0
  29. package/assets/core/home/CameraAngel.ts.meta +9 -0
  30. package/assets/core/home/DouYinShow.ts +27 -0
  31. package/assets/core/home/DouYinShow.ts.meta +9 -0
  32. package/assets/core/home/EventManager.ts +39 -0
  33. package/assets/core/home/EventManager.ts.meta +9 -0
  34. package/assets/core/home/ExView.ts +9 -0
  35. package/assets/core/home/ExView.ts.meta +9 -0
  36. package/assets/core/home/FollowCamera.ts +205 -0
  37. package/assets/core/home/FollowCamera.ts.meta +9 -0
  38. package/assets/core/home/InViewCenter.ts +52 -0
  39. package/assets/core/home/InViewCenter.ts.meta +9 -0
  40. package/assets/core/home/JsonUtil.ts +102 -0
  41. package/assets/core/home/JsonUtil.ts.meta +9 -0
  42. package/assets/core/home/LoadingWindow.ts +44 -0
  43. package/assets/core/home/LoadingWindow.ts.meta +9 -0
  44. package/assets/core/home/ParabolaTween.ts +110 -0
  45. package/assets/core/home/ParabolaTween.ts.meta +9 -0
  46. package/assets/core/home/ProgessView.ts +96 -0
  47. package/assets/core/home/ProgessView.ts.meta +9 -0
  48. package/assets/core/home/Quaternion.ts +237 -0
  49. package/assets/core/home/Quaternion.ts.meta +9 -0
  50. package/assets/core/home/ResUtil.ts +132 -0
  51. package/assets/core/home/ResUtil.ts.meta +9 -0
  52. package/assets/core/home/ResourceManager.ts +430 -0
  53. package/assets/core/home/ResourceManager.ts.meta +9 -0
  54. package/assets/core/home/StateMachine.ts +93 -0
  55. package/assets/core/home/StateMachine.ts.meta +9 -0
  56. package/assets/core/home/StorageManager.ts +161 -0
  57. package/assets/core/home/StorageManager.ts.meta +9 -0
  58. package/assets/core/home/ThirdFreeLookCamera.ts +201 -0
  59. package/assets/core/home/ThirdFreeLookCamera.ts.meta +9 -0
  60. package/assets/core/home/TimeManager.ts +486 -0
  61. package/assets/core/home/TimeManager.ts.meta +9 -0
  62. package/assets/core/home/Tools.ts +103 -0
  63. package/assets/core/home/Tools.ts.meta +9 -0
  64. package/assets/core/home/prefabs.meta +12 -0
  65. package/assets/core/home/util/EncryptUtil.ts +60 -0
  66. package/assets/core/home/util/EncryptUtil.ts.meta +11 -0
  67. package/assets/core/home/util/MathUtil.ts +22 -0
  68. package/assets/core/home/util/MathUtil.ts.meta +9 -0
  69. package/assets/core/home/util/Md5.ts +202 -0
  70. package/assets/core/home/util/Md5.ts.meta +11 -0
  71. package/assets/core/home/util/RandomUtil.ts +61 -0
  72. package/assets/core/home/util/RandomUtil.ts.meta +9 -0
  73. package/assets/core/home/util/ResUtil.ts +129 -0
  74. package/assets/core/home/util/ResUtil.ts.meta +9 -0
  75. package/assets/core/home/util/crypto-js.d.ts +30 -0
  76. package/assets/core/home/util/crypto-js.d.ts.meta +11 -0
  77. package/assets/core/home/util/crypto-js.js +6030 -0
  78. package/assets/core/home/util/crypto-js.js.meta +9 -0
  79. package/assets/core/home/util.meta +12 -0
  80. package/assets/core/home.meta +12 -0
  81. package/assets/core/interface/ISceneParam.ts +11 -0
  82. package/assets/core/interface/ISceneParam.ts.meta +9 -0
  83. package/assets/core/interface/Interface.ts +160 -0
  84. package/assets/core/interface/Interface.ts.meta +1 -0
  85. package/assets/core/interface/MainModule.ts +1019 -0
  86. package/assets/core/interface/MainModule.ts.meta +9 -0
  87. package/assets/core/interface.meta +9 -0
  88. package/assets/core/lib/Logger.ts +286 -0
  89. package/assets/core/lib/Logger.ts.meta +9 -0
  90. package/assets/core/lib/language/.language.md +1 -0
  91. package/assets/core/lib/language/Language.ts +133 -0
  92. package/assets/core/lib/language/Language.ts.meta +13 -0
  93. package/assets/core/lib/language/LanguageData.ts +114 -0
  94. package/assets/core/lib/language/LanguageData.ts.meta +9 -0
  95. package/assets/core/lib/language/LanguageLabel.ts +172 -0
  96. package/assets/core/lib/language/LanguageLabel.ts.meta +13 -0
  97. package/assets/core/lib/language/LanguagePack.ts +126 -0
  98. package/assets/core/lib/language/LanguagePack.ts.meta +13 -0
  99. package/assets/core/lib/language/LanguagePointLabel.ts.meta +16 -0
  100. package/assets/core/lib/language/LanguageSpine.ts +60 -0
  101. package/assets/core/lib/language/LanguageSpine.ts.meta +9 -0
  102. package/assets/core/lib/language/LanguageSprite.ts +138 -0
  103. package/assets/core/lib/language/LanguageSprite.ts.meta +13 -0
  104. package/assets/core/lib/language.meta +9 -0
  105. package/assets/core/lib/logger/ELoggerLevel.ts +16 -0
  106. package/assets/core/lib/logger/ELoggerLevel.ts.meta +9 -0
  107. package/assets/core/lib/logger/MLogger.ts +118 -0
  108. package/assets/core/lib/logger/MLogger.ts.meta +9 -0
  109. package/assets/core/lib/logger.meta +9 -0
  110. package/assets/core/lib/net/libs/proto/output/protobuf.d.ts +2729 -0
  111. package/assets/core/lib/net/libs/proto/output/protobuf.d.ts.meta +9 -0
  112. package/assets/core/lib/net/libs/proto/output/protobuf.min.js +8 -0
  113. package/assets/core/lib/net/libs/proto/output/protobuf.min.js.meta +9 -0
  114. package/assets/core/lib/net/libs/proto/output/protobuf_custom.d.ts +102 -0
  115. package/assets/core/lib/net/libs/proto/output/protobuf_custom.d.ts.meta +9 -0
  116. package/assets/core/lib/net/libs/proto/output/protobuf_custom.js +222 -0
  117. package/assets/core/lib/net/libs/proto/output/protobuf_custom.js.meta +9 -0
  118. package/assets/core/lib/net/libs/proto/output.meta +9 -0
  119. package/assets/core/lib/net/libs/proto/source/Cmd.proto +6 -0
  120. package/assets/core/lib/net/libs/proto/source/Cmd.proto.meta +11 -0
  121. package/assets/core/lib/net/libs/proto/source/UserLogin.proto +12 -0
  122. package/assets/core/lib/net/libs/proto/source/UserLogin.proto.meta +11 -0
  123. package/assets/core/lib/net/libs/proto/source/base.proto +24 -0
  124. package/assets/core/lib/net/libs/proto/source/base.proto.meta +11 -0
  125. package/assets/core/lib/net/libs/proto/source/command.proto +31 -0
  126. package/assets/core/lib/net/libs/proto/source/command.proto.meta +11 -0
  127. package/assets/core/lib/net/libs/proto/source/domain/boos_battle_info.proto +13 -0
  128. package/assets/core/lib/net/libs/proto/source/domain/boos_battle_info.proto.meta +11 -0
  129. package/assets/core/lib/net/libs/proto/source/domain/player_auth.proto +26 -0
  130. package/assets/core/lib/net/libs/proto/source/domain/player_auth.proto.meta +11 -0
  131. package/assets/core/lib/net/libs/proto/source/domain.meta +9 -0
  132. package/assets/core/lib/net/libs/proto/source/message/game_push.proto +23 -0
  133. package/assets/core/lib/net/libs/proto/source/message/game_push.proto.meta +11 -0
  134. package/assets/core/lib/net/libs/proto/source/message/game_request.proto +24 -0
  135. package/assets/core/lib/net/libs/proto/source/message/game_request.proto.meta +11 -0
  136. package/assets/core/lib/net/libs/proto/source/message/game_response.proto +24 -0
  137. package/assets/core/lib/net/libs/proto/source/message/game_response.proto.meta +11 -0
  138. package/assets/core/lib/net/libs/proto/source/message.meta +9 -0
  139. package/assets/core/lib/net/libs/proto/source/push/boss_battle_events.proto +43 -0
  140. package/assets/core/lib/net/libs/proto/source/push/boss_battle_events.proto.meta +11 -0
  141. package/assets/core/lib/net/libs/proto/source/push.meta +9 -0
  142. package/assets/core/lib/net/libs/proto/source.meta +12 -0
  143. package/assets/core/lib/net/libs/proto.meta +9 -0
  144. package/assets/core/lib/net/libs.meta +9 -0
  145. package/assets/core/lib/net/net/HttpManager.ts +307 -0
  146. package/assets/core/lib/net/net/HttpManager.ts.meta +9 -0
  147. package/assets/core/lib/net/net/NetInterface.ts +114 -0
  148. package/assets/core/lib/net/net/NetInterface.ts.meta +9 -0
  149. package/assets/core/lib/net/net/NetManager.ts +77 -0
  150. package/assets/core/lib/net/net/NetManager.ts.meta +9 -0
  151. package/assets/core/lib/net/net/NetNode.ts +471 -0
  152. package/assets/core/lib/net/net/NetNode.ts.meta +9 -0
  153. package/assets/core/lib/net/net/WebSock.ts +81 -0
  154. package/assets/core/lib/net/net/WebSock.ts.meta +9 -0
  155. package/assets/core/lib/net/net/custom/NetChannelManager.ts +41 -0
  156. package/assets/core/lib/net/net/custom/NetChannelManager.ts.meta +9 -0
  157. package/assets/core/lib/net/net/custom/NetConfig.ts +11 -0
  158. package/assets/core/lib/net/net/custom/NetConfig.ts.meta +9 -0
  159. package/assets/core/lib/net/net/custom/NetErrorCode.ts +4 -0
  160. package/assets/core/lib/net/net/custom/NetErrorCode.ts.meta +9 -0
  161. package/assets/core/lib/net/net/custom/NetGameTips.ts +53 -0
  162. package/assets/core/lib/net/net/custom/NetGameTips.ts.meta +9 -0
  163. package/assets/core/lib/net/net/custom/NetNodeGame.ts +105 -0
  164. package/assets/core/lib/net/net/custom/NetNodeGame.ts.meta +9 -0
  165. package/assets/core/lib/net/net/custom.meta +9 -0
  166. package/assets/core/lib/net/net/protocol/NetProtocolJson.ts +39 -0
  167. package/assets/core/lib/net/net/protocol/NetProtocolJson.ts.meta +9 -0
  168. package/assets/core/lib/net/net/protocol/NetProtocolProtobuf.ts +85 -0
  169. package/assets/core/lib/net/net/protocol/NetProtocolProtobuf.ts.meta +9 -0
  170. package/assets/core/lib/net/net/protocol.meta +9 -0
  171. package/assets/core/lib/net/net.meta +9 -0
  172. package/assets/core/lib/net/prompt.meta +9 -0
  173. package/assets/core/lib/net.meta +9 -0
  174. package/assets/core/lib/old/VM2.ts +619 -0
  175. package/assets/core/lib/old/VM2.ts.meta +9 -0
  176. package/assets/core/lib/old/ViewModel.ts +905 -0
  177. package/assets/core/lib/old/ViewModel.ts.meta +9 -0
  178. package/assets/core/lib/old/ViewSearch.ts +125 -0
  179. package/assets/core/lib/old/ViewSearch.ts.meta +9 -0
  180. package/assets/core/lib/old.meta +9 -0
  181. package/assets/core/lib/tabbar/TabBarComponent.ts +113 -0
  182. package/assets/core/lib/tabbar/TabBarComponent.ts.meta +9 -0
  183. package/assets/core/lib/tabbar/TabBarController.ts +86 -0
  184. package/assets/core/lib/tabbar/TabBarController.ts.meta +9 -0
  185. package/assets/core/lib/tabbar/TabBarItem.ts +52 -0
  186. package/assets/core/lib/tabbar/TabBarItem.ts.meta +9 -0
  187. package/assets/core/lib/tabbar.meta +9 -0
  188. package/assets/core/lib.meta +12 -0
  189. package/assets/core.meta +9 -0
  190. package/assets.meta +9 -0
  191. package/index.ts +3 -0
  192. package/index.ts.meta +9 -0
  193. package/package.json +19 -0
  194. package/package.json.meta +11 -0
@@ -0,0 +1,11 @@
1
+ {
2
+ "ver": "1.0.1",
3
+ "importer": "text",
4
+ "imported": true,
5
+ "uuid": "bb01edca-4fe2-48d8-9d7f-83a698a54d29",
6
+ "files": [
7
+ ".json"
8
+ ],
9
+ "subMetas": {},
10
+ "userData": {}
11
+ }
@@ -0,0 +1,24 @@
1
+ syntax = "proto3";
2
+
3
+ package message;
4
+ option java_package = "com.game.tafang.protocol.message";
5
+ option java_outer_classname = "GameRequestProto";
6
+
7
+ import "command.proto";
8
+ import "domain/player_auth.proto";
9
+ import "domain/boos_battle_info.proto";
10
+
11
+
12
+ // ========== 通用请求 ==========
13
+ message GameRequest {
14
+ command.CommandType cmd = 1; // 命令类型
15
+ int64 seq = 2; // 序列号
16
+ int64 timestamp = 3; // 客户端时间戳
17
+ // 具体请求内容(类型安全)
18
+ oneof content {
19
+ //用户登录
20
+ domain.PlayerAuthRequest login = 10;
21
+ //用户登录
22
+ domain.BoosBattleRequest boos_battle = 11;
23
+ }
24
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "ver": "1.0.1",
3
+ "importer": "text",
4
+ "imported": true,
5
+ "uuid": "f36044ec-001a-409d-bcbf-81bfcf6c5b25",
6
+ "files": [
7
+ ".json"
8
+ ],
9
+ "subMetas": {},
10
+ "userData": {}
11
+ }
@@ -0,0 +1,24 @@
1
+ syntax = "proto3";
2
+
3
+ package message;
4
+ option java_package = "com.game.tafang.protocol.message";
5
+ option java_outer_classname = "GameResponseProto";
6
+
7
+ import "base.proto";
8
+ import "command.proto";
9
+ import "domain/player_auth.proto";
10
+
11
+ // ========== 通用响应 ==========
12
+ message GameResponse {
13
+ //命令
14
+ command.CommandType cmd = 1;
15
+ //序列
16
+ int64 seq = 2;
17
+ //头部信息
18
+ base.ResponseHeader header = 3;
19
+
20
+ oneof content {
21
+ //玩家信息
22
+ domain.PlayerInfoResponse player_info = 10;
23
+ }
24
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "ver": "1.0.1",
3
+ "importer": "text",
4
+ "imported": true,
5
+ "uuid": "d80c8802-494c-4e72-a771-5700e91b24c3",
6
+ "files": [
7
+ ".json"
8
+ ],
9
+ "subMetas": {},
10
+ "userData": {}
11
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "ver": "1.2.0",
3
+ "importer": "directory",
4
+ "imported": true,
5
+ "uuid": "b9f88a5d-267f-4e3f-af2b-20a028d7a0dc",
6
+ "files": [],
7
+ "subMetas": {},
8
+ "userData": {}
9
+ }
@@ -0,0 +1,43 @@
1
+ syntax = "proto3";
2
+
3
+ package push;
4
+ option java_package = "com.game.tafang.protocol.push";
5
+ option java_outer_classname = "BossBattleEventsProto";
6
+
7
+ // BOSS战斗同步对象
8
+ message BossBattleSync {
9
+
10
+ //Boss ID
11
+ int32 boss_id = 1;
12
+
13
+ //Boos类型
14
+ int32 boss_type = 2;
15
+
16
+ //Boos名称
17
+ string boss_name = 3;
18
+
19
+ //最大血量
20
+ int32 max_hp = 4;
21
+
22
+ //BOOS战斗帧列表
23
+ repeated BoosBattleFrame battle_info_list = 5;
24
+ }
25
+
26
+ //BOSS战斗信息对象
27
+ message BoosBattleFrame {
28
+
29
+ //玩家ID
30
+ int64 player_id = 1;
31
+
32
+ //伤害值
33
+ int32 damage = 2;
34
+
35
+ //技能ID
36
+ int32 skillId = 3;
37
+
38
+ //客户端操作时间
39
+ int64 timestamp = 4;
40
+
41
+ //当前血量
42
+ int32 current_hp = 5;
43
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "ver": "1.0.1",
3
+ "importer": "text",
4
+ "imported": true,
5
+ "uuid": "237a9f59-fa62-483d-931f-0e346d574848",
6
+ "files": [
7
+ ".json"
8
+ ],
9
+ "subMetas": {},
10
+ "userData": {}
11
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "ver": "1.2.0",
3
+ "importer": "directory",
4
+ "imported": true,
5
+ "uuid": "25ee18de-ff6f-43e1-bee4-d342a08cdfb9",
6
+ "files": [],
7
+ "subMetas": {},
8
+ "userData": {}
9
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "ver": "1.2.0",
3
+ "importer": "directory",
4
+ "imported": true,
5
+ "uuid": "c5aff8e1-992b-41fa-802b-ac5692bcf9ef",
6
+ "files": [],
7
+ "subMetas": {},
8
+ "userData": {
9
+ "compressionType": {},
10
+ "isRemoteBundle": {}
11
+ }
12
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "ver": "1.2.0",
3
+ "importer": "directory",
4
+ "imported": true,
5
+ "uuid": "b619fb46-6e26-4842-a8ca-363d9136f629",
6
+ "files": [],
7
+ "subMetas": {},
8
+ "userData": {}
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "ver": "1.2.0",
3
+ "importer": "directory",
4
+ "imported": true,
5
+ "uuid": "8414e4ad-c3ab-4a49-8b9a-8fc9c935dd7c",
6
+ "files": [],
7
+ "subMetas": {},
8
+ "userData": {}
9
+ }
@@ -0,0 +1,307 @@
1
+ /*
2
+ * @Author: dgflash
3
+ * @Date: 2022-09-01 18:00:28
4
+ * @LastEditors: dgflash
5
+ * @LastEditTime: 2022-09-09 18:10:50
6
+ */
7
+
8
+ import { IExtData } from "../../../config/CommonEnum";
9
+
10
+
11
+ /** HTTP请求返回值 */
12
+ export class HttpReturn<T> {
13
+ /** 是否请求成功 */
14
+ isSucc: boolean = false;
15
+ /** 请求返回数据 */
16
+ res?: T;
17
+ /** 请求错误数据 */
18
+ err?: HttpEvent;
19
+ }
20
+
21
+ /** 请求事件 */
22
+ export enum HttpEvent {
23
+ /** 断网 */
24
+ ERROR_NO_NETWORK = "ERROR_NO_NETWORK",
25
+ /** 未知错误 */
26
+ ERROR_UNKNOWN = "ERROR_UNKNOWN",
27
+ /** 请求超时 */
28
+ ERROR_TIMEOUT = "ERROR_TIMEOUT"
29
+ }
30
+
31
+ /** 请求后相应返回数据类型 */
32
+ enum HttpResponseType {
33
+ Text,
34
+ Json,
35
+ ArrayBuffer,
36
+ Blob,
37
+ FormData
38
+ }
39
+
40
+ /** 请求方法 */
41
+ enum HttpMethod {
42
+ GET = "GET",
43
+ POST = "POST"
44
+ }
45
+
46
+ const HeaderName = 'Content-Type';
47
+ const HeaderValueText = 'application/text';
48
+ const HeaderValueJson = 'application/json';
49
+ const HeaderValuePb = 'application/x-protobuf';
50
+
51
+ interface HttpRequestData {
52
+ /** 请求对象 */
53
+ xhr: XMLHttpRequest,
54
+ /** 请求参数字符串 */
55
+ pss: string;
56
+ }
57
+
58
+ /** 当前请求地址集合 */
59
+ let urls: Map<string, HttpRequestData> = new Map();
60
+
61
+ /** HTTP请求 */
62
+ export class HttpManager {
63
+ /** 服务器地址 */
64
+ server: string = "http://127.0.0.1/";
65
+ /** 请求超时(毫秒) */
66
+ timeout: number = 10000;
67
+ /**网络回调 函数 */
68
+ open: (finish: (isOk: boolean) => void) => void
69
+ /**
70
+ * GET请求获取文本格式数据
71
+ * @param name 协议名
72
+ * @param params 请求参数据
73
+ * @returns HTTP请求返回值
74
+ */
75
+ getText(name: string, params: BodyInit | null = null): Promise<HttpReturn<any>> {
76
+ let headers: Map<string, string> = new Map();
77
+ headers.set(HeaderName, HeaderValueText);
78
+ return this.request(name, params, HttpMethod.GET, HttpResponseType.Text, headers);
79
+ }
80
+
81
+ /**
82
+ * GET请求获取Json格式数据
83
+ * @param name 协议名
84
+ * @param params 请求参数据
85
+ * @returns HTTP请求返回值
86
+ */
87
+ getJson(name: string, params: BodyInit | null = null): Promise<HttpReturn<any>> {
88
+ let headers: Map<string, string> = new Map();
89
+ headers.set(HeaderName, HeaderValueJson);
90
+ return this.request(name, params, HttpMethod.GET, HttpResponseType.Json, headers);
91
+ }
92
+
93
+ /**
94
+ * POST请求获取Json格式数据
95
+ * @param name 协议名
96
+ * @param params 请求参数据
97
+ * @returns HTTP请求返回值
98
+ */
99
+ postJson(name: string, params: BodyInit | null = null, ext?: IExtData): Promise<HttpReturn<any>> {
100
+ let headers: Map<string, string> = new Map();
101
+ headers.set(HeaderName, HeaderValueJson);
102
+ return this.request(name, params, HttpMethod.POST, HttpResponseType.Json, headers, ext);
103
+ }
104
+
105
+ /**
106
+ * Protobuf请求处理
107
+ * @param req 请求参数Protobuf数据对象名
108
+ * @param res 相应数据Protobuf数据对象名
109
+ * @param cmd 请求协议命令名
110
+ * @param params 请求参参数对象
111
+ * @returns HTTP请求返回值
112
+ */
113
+ postProtobuf<T>(cmd: number, req: string, res: string, params?: any): Promise<HttpReturn<T>> {
114
+ return new Promise(async (resolve, reject) => {
115
+ let pc: any = proto;
116
+ let pb: BodyInit | null;
117
+ if (params) {
118
+ pb = pc[req].encode(params).finish();
119
+ }
120
+ else {
121
+ pb = null;
122
+ }
123
+
124
+ let headers: Map<string, string> = new Map();
125
+ headers.set(HeaderName, HeaderValuePb);
126
+
127
+ let r = await this.request<T>(cmd.toString(), pb, HttpMethod.POST, HttpResponseType.ArrayBuffer, headers);
128
+ if (r.isSucc) {
129
+ let u8a = new Uint8Array(r.res as any);
130
+ let decode = pc[res].decode(u8a);
131
+ r.res = decode as T;
132
+ }
133
+ resolve(r);
134
+ });
135
+ }
136
+
137
+ /**
138
+ * 取消请求中的请求
139
+ * @param name 请求命令
140
+ * @param params 请求参数
141
+ */
142
+ abort(name: string, params: any) {
143
+ let r = this.getRequestStr(name, params);
144
+ let key: string = r[1];
145
+ let data = urls.get(key);
146
+ if (data) {
147
+ data.xhr.abort();
148
+ }
149
+ }
150
+
151
+ /**
152
+ * 请求处理
153
+ * @param name 请求命令
154
+ * @param params 请求参数
155
+ * @param method 请求方式
156
+ * @param type 响应数据类型
157
+ * @param headers 请求头信息
158
+ * @returns
159
+ */
160
+ request<T>(name: string, params: any, method: HttpMethod, type: HttpResponseType, headers: Map<string, string>, ext?: IExtData): Promise<HttpReturn<T>> {
161
+ return new Promise((resolve, reject) => {
162
+ let r = this.getRequestStr(name, params);
163
+ let url: string = r[0];
164
+ let key: string = r[1];
165
+ let pss: string = r[2];
166
+
167
+ let hrd = urls.get(key);
168
+ if (hrd && hrd.pss == pss) {
169
+ console.warn(`地址【${key}】已正在请求中,不能重复请求`);
170
+ return;
171
+ }
172
+
173
+ let xhr = new XMLHttpRequest();
174
+
175
+ // 防重复请求功能
176
+ urls.set(key, { xhr, pss });
177
+ //console.warn(ext && ext.query ? key : url)
178
+ if (method == HttpMethod.POST)
179
+ xhr.open(HttpMethod.POST, ext && ext.query ? key : url);
180
+ else
181
+ xhr.open(HttpMethod.GET, key);
182
+
183
+ // 添加自定义请求头信息
184
+ for (const [key, value] of headers) xhr.setRequestHeader(key, value);
185
+
186
+ // 响应结果
187
+ let ret = new HttpReturn<T>();
188
+
189
+ // 请求超时
190
+ xhr.timeout = this.timeout;
191
+ xhr.ontimeout = () => {
192
+ urls.delete(key);
193
+
194
+ ret.isSucc = false;
195
+ ret.err = HttpEvent.ERROR_TIMEOUT; // 超时
196
+ resolve(ret);
197
+ }
198
+ xhr.onloadend = (ev: ProgressEvent) => {
199
+ if (xhr.status == 500) {
200
+ urls.delete(key);
201
+
202
+ ret.isSucc = false;
203
+ ret.err = HttpEvent.ERROR_NO_NETWORK; // 断网
204
+ resolve(ret);
205
+ }
206
+ }
207
+ xhr.onerror = (ev: ProgressEvent) => {
208
+ urls.delete(key);
209
+
210
+ ret.isSucc = false;
211
+ if (xhr.readyState == 0 || xhr.readyState == 1 || xhr.status == 0) {
212
+ ret.err = HttpEvent.ERROR_NO_NETWORK; // 断网
213
+ }
214
+ else {
215
+ ret.err = HttpEvent.ERROR_UNKNOWN; // 未知错误
216
+ }
217
+ resolve(ret);
218
+ };
219
+ xhr.onreadystatechange = (ev: Event) => {
220
+ if (xhr.readyState != 4) return;
221
+
222
+ urls.delete(key);
223
+
224
+ if (xhr.status == 200) {
225
+ switch (type) {
226
+ case HttpResponseType.Text:
227
+ ret.res = xhr.response;
228
+ break;
229
+ case HttpResponseType.Json:
230
+ ret.res = JSON.parse(xhr.response);
231
+ break;
232
+ case HttpResponseType.ArrayBuffer:
233
+ ret.res = xhr.response;
234
+ break;
235
+ case HttpResponseType.Blob:
236
+ ret.res = xhr.response;
237
+ break;
238
+ case HttpResponseType.FormData:
239
+ ret.res = xhr.response;
240
+ break;
241
+ }
242
+
243
+ ret.isSucc = true;
244
+ resolve(ret);
245
+ }
246
+ };
247
+
248
+ // 发送请求
249
+ if (params == null || params == "") {
250
+ xhr.send();
251
+ }
252
+ else {
253
+ xhr.send(pss);
254
+ }
255
+ });
256
+ }
257
+
258
+ /**
259
+ * 获取请求字符串
260
+ * @param name 请求命令
261
+ * @param params 请求参数
262
+ * @returns
263
+ */
264
+ private getRequestStr(name: string, params: any): [string, string, string] {
265
+ let url = "";
266
+ let key = "";
267
+ let paramsStr: string = "";
268
+ if (name.toLocaleLowerCase().indexOf("http") == 0) {
269
+ url = name;
270
+ }
271
+ else {
272
+ url = this.server + name;
273
+ }
274
+
275
+ if (params) {
276
+ paramsStr = this.getParamString(params);
277
+ if (url.indexOf("?") > -1)
278
+ key = url + "&" + paramsStr;
279
+ else
280
+ key = url + "?" + paramsStr;
281
+ }
282
+ else {
283
+ key = url;
284
+ }
285
+ return [url, key, paramsStr];
286
+ }
287
+
288
+ /**
289
+ * 获得字符串形式的参数
290
+ * @param params 参数对象
291
+ * @returns 参数字符串
292
+ */
293
+ private getParamString(params: any) {
294
+ let result = "";
295
+ for (let name in params) {
296
+ let data = params[name];
297
+ if (data instanceof Object) {
298
+ for (let key in data)
299
+ result += `${key}=${data[key]}&`;
300
+ }
301
+ else {
302
+ result += `${name}=${data}&`;
303
+ }
304
+ }
305
+ return result.substring(0, result.length - 1);
306
+ }
307
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "ver": "4.0.24",
3
+ "importer": "typescript",
4
+ "imported": true,
5
+ "uuid": "42b714af-f09e-4aba-94f8-0033dd8a1321",
6
+ "files": [],
7
+ "subMetas": {},
8
+ "userData": {}
9
+ }
@@ -0,0 +1,114 @@
1
+ /*
2
+ * @Author: dgflash
3
+ * @Date: 2022-09-01 18:00:28
4
+ * @LastEditors: dgflash
5
+ * @LastEditTime: 2022-09-09 18:31:18
6
+ */
7
+
8
+ /*
9
+ * 网络相关接口定义
10
+ */
11
+ export type NetData = (string | ArrayBufferLike | Blob | ArrayBufferView);
12
+ export type NetCallFunc = (data: any) => void;
13
+
14
+ /** 请求协议 */
15
+ export interface IRequestProtocol {
16
+ /** 请求唯一编号 */
17
+ id?: number,
18
+ /** 协议名 */
19
+ cmd: number,
20
+ /** 请求对象名 */
21
+ reqName?: string,
22
+ /** 接受对象名 */
23
+ respName?: string,
24
+ /** 消息内容 */
25
+ params?: any;
26
+ /** 请求二进制数据 */
27
+ buffer?: NetData,
28
+ /** 等待响应的回调对象 */
29
+ callback: CallbackObject,
30
+ }
31
+
32
+ /** 响应协议 */
33
+ export interface IResponseProtocol {
34
+ /** 请求唯一编号 */
35
+ id: number,
36
+ /** 响应协议命令码*/
37
+ cmd: number,
38
+ /** 响应协议错误码(0为请求成功,否则为对应的错误信息码) */
39
+ code: number,
40
+ /** 协议数据 */
41
+ data?: any
42
+ }
43
+
44
+ /** 回调对象 */
45
+ export interface CallbackObject {
46
+ /** 回调对象 */
47
+ target: any,
48
+ /** 回调函数 */
49
+ callback: NetCallFunc,
50
+ }
51
+
52
+ /** 协议辅助接口 */
53
+ export class IProtocolHelper {
54
+ protected _requestId: number = 0; // 请求唯一编号
55
+
56
+ /** 获取请求唯一编号 */
57
+ protected getRequestId() {
58
+ if (this._requestId == 30000)
59
+ this._requestId = 1;
60
+ this._requestId++;
61
+ return this._requestId;
62
+ }
63
+
64
+ /** 处理请求包数据 */
65
+ encode(ireqp: IRequestProtocol): void { };
66
+ /** 解析通用响应数据 */
67
+ decodeCommon(msg: NetData): IResponseProtocol { return null! };
68
+ /** 解析自定义响应数据 */
69
+ decodeCustom(ireqp: IRequestProtocol, iresp: IResponseProtocol): void { };
70
+ /** 返回一个心跳包 */
71
+ onHearbeat(): void { };
72
+ }
73
+
74
+ export type SocketFunc = (event: any) => void;
75
+ export type MessageFunc = (msg: NetData) => void;
76
+
77
+ /** Socket接口 */
78
+ export interface ISocket {
79
+ /** 连接回调 */
80
+ onConnected: SocketFunc | null;
81
+ /** 消息回调 */
82
+ onMessage: MessageFunc | null;
83
+ /** 错误回调 */
84
+ onError: SocketFunc | null;
85
+ /** 关闭回调 */
86
+ onClosed: SocketFunc | null;
87
+ /** 连接状态 */
88
+ connect(options: any): any;
89
+ /** 数据发送接口 */
90
+ send(buffer: NetData): number;
91
+ /** 关闭接口 */
92
+ close(code?: number, reason?: string): void;
93
+ }
94
+
95
+ /** 网络提示接口 */
96
+ export interface INetworkTips {
97
+ /**
98
+ * 连接提示回调
99
+ * @param isShow false为准备触发连接,true为已连接
100
+ */
101
+ connectTips(isShow: boolean): void;
102
+ /**
103
+ * 断开连接提示回调
104
+ * @param isShow false为准备触发断开连接,true为已断开连接
105
+ */
106
+ disconnectTips(isShow: boolean): void;
107
+ /** 重连接开始提示回调 */
108
+ reconnectTips(): void;
109
+ /**
110
+ * 请求提示回调
111
+ * @param isShow false为所有请求结束,true为有请求等待返回
112
+ */
113
+ requestTips(isShow: boolean): void;
114
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "ver": "4.0.24",
3
+ "importer": "typescript",
4
+ "imported": true,
5
+ "uuid": "30df3d0f-b563-43c6-8a8c-59e4fd5652b0",
6
+ "files": [],
7
+ "subMetas": {},
8
+ "userData": {}
9
+ }