@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,9 @@
1
+ {
2
+ "ver": "4.0.24",
3
+ "importer": "javascript",
4
+ "imported": true,
5
+ "uuid": "9c6741c3-5fa2-4e02-8d7c-81055fc2b3f6",
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": "c56bcaf9-0d58-4e9e-8136-fe0a38b95ac6",
6
+ "files": [],
7
+ "subMetas": {},
8
+ "userData": {
9
+ "compressionType": {},
10
+ "isRemoteBundle": {}
11
+ }
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "ver": "1.2.0",
3
+ "importer": "directory",
4
+ "imported": true,
5
+ "uuid": "b8e0e668-5502-4e93-a3b1-3e31cdc2a6c4",
6
+ "files": [],
7
+ "subMetas": {},
8
+ "userData": {
9
+ "compressionType": {},
10
+ "isRemoteBundle": {}
11
+ }
12
+ }
@@ -0,0 +1,11 @@
1
+ export interface ISceneParam {
2
+ /** bundle*/
3
+ bundleName: string;
4
+ /** 跳转场景名*/
5
+ sceneName: string;
6
+ /** 参数*/
7
+ param?: any;
8
+ /**加载进度 */
9
+ /**出错了*/
10
+ error?: (error: string) => void;
11
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "ver": "4.0.24",
3
+ "importer": "typescript",
4
+ "imported": true,
5
+ "uuid": "4daf387d-aef9-46f1-abed-5890401f68f2",
6
+ "files": [],
7
+ "subMetas": {},
8
+ "userData": {}
9
+ }
@@ -0,0 +1,160 @@
1
+ import { Asset, Sprite, sp, Vec3 } from "cc";
2
+ import { IHttpConfig, IBundleConfig, IInitConfig, IWindowParam } from "../config/CommonEnum";
3
+ import { LayerType } from "../config/LayerType";
4
+ import { LayerUI } from "../config/LayerUI";
5
+ import { AssetsType } from "../home/ResourceManager";
6
+ import { TimeManager } from "../home/TimeManager";
7
+ import { LanguageManager } from "../lib/language/Language";
8
+ import { HttpManager, HttpReturn } from "../lib/net/net/HttpManager";
9
+ import { ISceneParam } from "./ISceneParam";
10
+ import { StorageManager } from "../home/StorageManager";
11
+ import { Component } from "cc";
12
+ import { MLogger } from "../lib/logger/MLogger";
13
+
14
+ declare global {
15
+ /** 日志打印类 */
16
+ const Logger: typeof MLogger;
17
+
18
+ /**工具中间层======================================= */
19
+ namespace MainModule {
20
+ /**当前所在bundle名称 */
21
+ const bundleName: string;
22
+ /**ui */
23
+ const gui: LayerUI;
24
+ /**网络 */
25
+ const http: HttpManager;
26
+ /**存储层 */
27
+ const storage: StorageManager;
28
+ /**场景参数 */
29
+ const scenesParm: ISceneParam;
30
+ /**时间管理 */
31
+ const timeManager: TimeManager;
32
+ /**多语言 */
33
+ const language: LanguageManager;
34
+
35
+ /**=====================================✅✅✅ 初始化======================= */
36
+ /** 初始化配置*/
37
+ function InitGameConfig(param: IInitConfig): Promise<void>;
38
+ /**打开场景 */
39
+ function OpenScene(param: ISceneParam)
40
+ /**打开遮罩 */
41
+ function OpenBlockEvents(type: LayerType, is_show: boolean)
42
+
43
+ /**=====================================✅✅✅ 必须实现的监听======================= */
44
+ /**监听:打开场景加载进度窗口 -open 回调方法需要执行 finish() 方法 */
45
+ function OnProgess(param: { open: (finish: () => void) => void, close: () => void, progess: (progress: number) => void })
46
+ /**监听:显示加载动画 -open 回调方法需要执行 finish() 方法 */
47
+ function OnLoading(param: { open: (finish: () => void) => void, close: () => void })
48
+ /**监听:是否打开网络接口重连窗口 -open 回调方法需要执行 finish() 方法 */
49
+ function OnRequstNet(param: { open: (finish: (isOk: boolean) => void) => void })
50
+ /**=====================================✅✅消息发送======================= */
51
+ function Emit(eventName: string, params?: any);
52
+ function On(eventName: string, callback: any, target?: any);
53
+ function Off(eventName: string, callback?: any, target?: any);
54
+ function OffAll(target: any);
55
+ /**=====================================✅✅Http请求======================= */
56
+ /**网络接口 */
57
+ function Requst<T>(config: IHttpConfig, params?: any, ext?: { is_show_alert?: boolean }): Promise<HttpReturn<T>>;
58
+
59
+ /**=====================================✅✅资源加载======================= */
60
+ /**
61
+ * 加载资源并自动记录
62
+ * @param bundleName Bundle 名称
63
+ * @param path 资源路径
64
+ * @param type 资源类型
65
+ * @returns 加载的资源
66
+ */
67
+ /**
68
+ * 异步
69
+ * 加载资源并自动记录---
70
+ * @param bundleName Bundle 名称
71
+ * @param path 资源路径
72
+ * @param type 资源类型
73
+ * @returns 加载的资源
74
+ */
75
+ function loadAsset<T extends Asset>(bundleName: string, path: string, type: AssetsType<T>): Promise<T>;
76
+ /**
77
+ * 获取已经加载过的资源
78
+ * 获取资源
79
+ * @param bundleName Bundle 名称
80
+ * @param path 资源路径
81
+ * @param type 资源类型
82
+ * @returns 加载的资源
83
+ */
84
+ function getAsset<T extends Asset>(bundleName: string, path: string, type?: { new(): T }): T;
85
+ function releaseAssetsByBundle(bundleName: string)
86
+ function releaseAsset(bundleName: string, node: any)
87
+ function releaseAssetPath(path: string, bundleName: string): void
88
+ function preloadDir(bundleName: string, dirName: string, pre: Function): Promise<void>;
89
+ function loadDir(bundleName: string, dirName: string, type: any, pre: Function): Promise<void>;
90
+ /**加载图片 */
91
+ function LoadSprite(sp: Sprite, params: { path: string, bundle?: string, callback?: () => void })
92
+ /**加载spine骨骼动画 */
93
+ function LoadSpine(spine: sp.Skeleton, params: { path: string, bundle?: string, callback?: () => void })
94
+
95
+ /**=======================================✅✅打开Window======================= */
96
+ /**加载窗口 */
97
+ function LoadWindow<T extends Component>(config: IBundleConfig, param?: IWindowParam): Promise<T>
98
+ /**打开窗口 */
99
+ function OpenWindow<T extends Component>(config: IBundleConfig, param?: IWindowParam): Promise<T>
100
+ /**打开窗口--根窗口 备注移除层: LayerType.LayerUI, LayerType.LayerDialog, LayerType.LayerPopUp 里的窗口*/
101
+ function RootWindow<T extends Component>(config: IBundleConfig, param?: IWindowParam): Promise<T>
102
+ /**通过配置关闭窗口*/
103
+ function CloseWindowTarget(config: { path: string; bundle: string }): boolean;
104
+ /**为 target 补全缺失的方法 */
105
+ function RegisterModule(target: any)
106
+ /**✅✅✅监听窗口的打开 */
107
+ //MainModule.On(SystemMessage.OpenWindow)
108
+ /**✅✅✅监听窗口的关闭 */
109
+ //MainModule.On(SystemMessage.CloseWindow)
110
+ /**
111
+ * 显示加载转圈
112
+ */
113
+ function OpenLoading(is_show: boolean);
114
+ /**=======================================✅✅音乐======================= */
115
+ function playOneShot(sound: string, volume?: number);
116
+ function play(sound: string, volume?: number);
117
+ function stop();
118
+ function pause();
119
+ function resume();
120
+ function musicVolume(volume: number);
121
+ function soundVolume(volume: number);
122
+ function getMusicVolume(): number;
123
+ function getSoundVolume(): number;
124
+ /**=======================================✅✅抖音======================= */
125
+
126
+ function UpdatePlayerRankData_tt(param);//抖音排行榜
127
+ function IsDouYin();
128
+ /**=======================================微信======================= */
129
+ function GetWxRatio(param);
130
+
131
+ /**=======================================✅✅常用工具======================= */
132
+ function twoBezier(param1, param2, param3, param4);
133
+ function customEaseOutInWithSpeed(param)
134
+ function Collision(param1, param2)
135
+ function CalculateAngle(param1, param2)
136
+ function LookAtTarget(param1, param2)
137
+ /**向量的新的位置 */
138
+ function DirectionPosition(start: Vec3, endPos: Vec3, scalar: number)
139
+ function DateNow();
140
+ function DeepCopy<T>(obj: T): T;
141
+ /**
142
+ * 开始抛物线缓动
143
+ * @param item 运动节点
144
+ * @param target_postion 目标位置
145
+ * @param update 更新 运动中回调
146
+ * @param offset_ratio 最高点 的偏移量
147
+ * @param time 动画时间
148
+ */
149
+ function RunParabolaTween(item: any, target_postion: Vec3, update: (ratio: number) => void, param?: { offset_ratio?: number, is_random?: boolean, time?: number, start_position?: Vec3 })
150
+
151
+ /**任务进度队列 */
152
+ function PromiseQueue<T>(promises: Promise<T>[], onProgress: (completed: number, total: number) => void): Promise<T[]>
153
+ /**播放skpine动画 */
154
+ function PlaySpine(skeleton: sp.Skeleton, animations: { name: string, loop?: boolean, call?: (name?: string) => void, event?: (name?: string) => void }[])
155
+ }
156
+
157
+
158
+
159
+ }
160
+
@@ -0,0 +1 @@
1
+ {"ver":"4.0.24","importer":"typescript","imported":true,"uuid":"7be443b6-0cd5-4d13-85fd-bf3be2360076","files":[],"subMetas":{},"userData":{}}