com.xd.sdk.common 7.1.2 → 7.2.1-alpha

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 (92) hide show
  1. package/Editor/Steam/SteamBuildProcessor.cs +1 -4
  2. package/Editor/XD.SDK.Common.Editor.asmdef +2 -1
  3. package/Plugins/Android/libs/{XDGBridgeCommon_v7_7.1.2.aar → XDGBridgeCommon_v7_7.2.0.aar} +0 -0
  4. package/Plugins/Android/libs/XDGCommon_7.2.0.aar +0 -0
  5. package/Plugins/Android/libs/{XDGTapTapWrapperInternal_7.1.2.aar → XDGTapTapWrapperInternal_7.2.0.aar} +0 -0
  6. package/Plugins/Android/libs/{XDTapTapWrapper_7.1.2.aar → XDTapTapWrapper_7.2.0.aar} +0 -0
  7. package/Plugins/iOS/Resource/TapTapLoginResource.bundle/userProfile/dark/tap_profile_chat.png.meta +7 -0
  8. package/Plugins/iOS/Resource/TapTapLoginResource.bundle/userProfile/dark/tap_profile_invite.png.meta +7 -0
  9. package/Plugins/iOS/Resource/TapTapLoginResource.bundle/userProfile/dark/tap_profile_unfollow.png.meta +7 -0
  10. package/Plugins/iOS/Resource/TapTapLoginResource.bundle/userProfile/dark.meta +8 -0
  11. package/Plugins/iOS/Resource/TapTapLoginResource.bundle/userProfile/light/tap_profile_chat.png.meta +7 -0
  12. package/Plugins/iOS/Resource/TapTapLoginResource.bundle/userProfile/light/tap_profile_invite.png.meta +7 -0
  13. package/Plugins/iOS/Resource/TapTapLoginResource.bundle/userProfile/light/tap_profile_unfollow.png.meta +7 -0
  14. package/Plugins/iOS/Resource/TapTapLoginResource.bundle/userProfile/light.meta +8 -0
  15. package/Plugins/iOS/Resource/TapTapLoginResource.bundle/userProfile/tap_profile_achievement.png.meta +7 -0
  16. package/Plugins/iOS/Resource/TapTapLoginResource.bundle/userProfile/tap_profile_achievement_platinum.png.meta +7 -0
  17. package/Plugins/iOS/Resource/TapTapLoginResource.bundle/userProfile/tap_profile_arrow.png.meta +7 -0
  18. package/Plugins/iOS/Resource/TapTapLoginResource.bundle/userProfile/tap_profile_close.png.meta +7 -0
  19. package/Plugins/iOS/Resource/TapTapLoginResource.bundle/userProfile/tap_profile_default_background.png.meta +7 -0
  20. package/Plugins/iOS/Resource/TapTapLoginResource.bundle/userProfile/tap_profile_logo.png.meta +7 -0
  21. package/Plugins/iOS/Resource/TapTapLoginResource.bundle/userProfile.meta +8 -0
  22. package/Plugins/iOS/XDCommonSDK.framework/Headers/NSError+XDG.h +1 -0
  23. package/Plugins/iOS/XDCommonSDK.framework/Headers/TDSGlobalRouterSchemes.h +2 -0
  24. package/Plugins/iOS/XDCommonSDK.framework/Headers/XDGCloudLogHelper.h +4 -0
  25. package/Plugins/iOS/XDCommonSDK.framework/Headers/XDTapTapInfo.h +3 -0
  26. package/Plugins/iOS/XDCommonSDK.framework/Headers/XDVersion.h +3 -3
  27. package/Plugins/iOS/XDCommonSDK.framework/Info.plist +0 -0
  28. package/Plugins/iOS/XDCommonSDK.framework/XDCommonSDK +0 -0
  29. package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Headers/XDTapSDK4WrapperSDK-Swift.h +1 -1
  30. package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Headers/XDTapSDK4WrapperSDK.h +3 -3
  31. package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Info.plist +0 -0
  32. package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Modules/XDTapSDK4WrapperSDK.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  33. package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Modules/XDTapSDK4WrapperSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  34. package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Modules/XDTapSDK4WrapperSDK.swiftmodule/arm64-apple-ios.swiftmodule +0 -0
  35. package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/XDTapSDK4WrapperSDK +0 -0
  36. package/Resources/Localization/LocalizableString.json +56 -56
  37. package/Resources/Prefabs/AccountCell.prefab +24 -15
  38. package/Resources/Prefabs/AgreementOptionAll.prefab +15 -9
  39. package/Resources/Prefabs/AgreementOptionNormal.prefab +16 -10
  40. package/Resources/Prefabs/AreaCodeCell.prefab +13 -8
  41. package/Resources/Prefabs/CancelAccountAlert.prefab +23 -23
  42. package/Resources/Prefabs/CenterErrorView.prefab +8 -8
  43. package/Resources/Prefabs/ConfirmDialog.prefab +20 -20
  44. package/Resources/Prefabs/DeleteAccountAlert.prefab +48 -45
  45. package/Resources/Prefabs/DeleteCell.prefab +6 -6
  46. package/Resources/Prefabs/Dialog.prefab +24 -24
  47. package/Resources/Prefabs/DisagreeConfirmAlert.prefab +15 -15
  48. package/Resources/Prefabs/GeneralAgreementAlert.prefab +53 -31
  49. package/Resources/Prefabs/LoadFailedView.prefab +12 -12
  50. package/Resources/Prefabs/LoadingView.prefab +9 -6
  51. package/Resources/Prefabs/PayHintAlert.prefab +17 -15
  52. package/Resources/Prefabs/PayLoadFailedView.prefab +13 -13
  53. package/Resources/Prefabs/PaymentAlert.prefab +9 -5
  54. package/Resources/Prefabs/SmallLoadingView.prefab +4 -4
  55. package/Resources/Prefabs/UserCenterAlert.prefab +76 -46
  56. package/Resources/Prefabs/XDCodeUnbindAlert.prefab +56 -34
  57. package/Resources/Prefabs/XDEmailAlert.prefab +84 -49
  58. package/Resources/Prefabs/XDPhoneAlertIO.prefab +129 -65
  59. package/Resources/Prefabs/XDPhoneNumberInputAlert.prefab +46 -28
  60. package/Resources/Prefabs/XDRiskControlAlert.prefab +12 -7
  61. package/Resources/Prefabs/XDSDKUI.prefab +3 -3
  62. package/Resources/Prefabs/XDVerifyCodeInputAlert.prefab +47 -28
  63. package/Resources/Prefabs/XDWebBridgeView.prefab +11 -11
  64. package/Resources/Prefabs/XDWebViewAlert.prefab +10 -10
  65. package/Resources/Shaders/UI/UI-Default-Gamma.shader +129 -0
  66. package/Resources/Shaders/UI/UI-Default-Gamma.shader.meta +9 -0
  67. package/Resources/Shaders/UI/UI_Default-Gamma.mat +36 -0
  68. package/Resources/Shaders/UI/UI_Default-Gamma.mat.meta +8 -0
  69. package/Resources/Shaders/UI/UI_Default-Mask.mat +36 -0
  70. package/Resources/Shaders/UI/UI_Default-Mask.mat.meta +8 -0
  71. package/Resources/Shaders/UI.meta +8 -0
  72. package/Resources/Shaders.meta +8 -0
  73. package/Runtime/Internal/Events/XDGEventBus.cs +135 -13
  74. package/Runtime/Internal/Standalone/CommonFeaturesImpl.cs +2 -2
  75. package/Runtime/Internal/Standalone/Http/Interceptor/MacAuthenticationInterceptor.cs +4 -4
  76. package/Runtime/Internal/Standalone/Steam/SteamManager.cs +358 -0
  77. package/Runtime/Internal/Standalone/Steam/SteamManager.cs.meta +8 -0
  78. package/Runtime/Internal/Standalone/{Utils → Steam}/SteamWrapper.cs +48 -49
  79. package/Runtime/Internal/Standalone/Track/AliyunTrack.cs +36 -29
  80. package/Runtime/Internal/Standalone/UI/Base/UIManager.cs +1 -1
  81. package/Runtime/Internal/Standalone/UI/Base/XDGCommonUIResources.cs +107 -0
  82. package/Runtime/Internal/Standalone/{Steam/SteamUtils.cs.meta → UI/Base/XDGCommonUIResources.cs.meta} +1 -1
  83. package/Runtime/Internal/Standalone/Web/Function/CloseWebFunction.cs +10 -1
  84. package/Runtime/Internal/Standalone/Web/WebRequest.cs +1 -1
  85. package/package.json +2 -2
  86. package/Plugins/Android/libs/XDGCommon_7.1.2.aar +0 -0
  87. package/Runtime/Internal/Standalone/Steam/SteamUtils.cs +0 -48
  88. /package/Plugins/Android/libs/{XDGBridgeCommon_v7_7.1.2.aar.meta → XDGBridgeCommon_v7_7.2.0.aar.meta} +0 -0
  89. /package/Plugins/Android/libs/{XDGCommon_7.1.2.aar.meta → XDGCommon_7.2.0.aar.meta} +0 -0
  90. /package/Plugins/Android/libs/{XDGTapTapWrapperInternal_7.1.2.aar.meta → XDGTapTapWrapperInternal_7.2.0.aar.meta} +0 -0
  91. /package/Plugins/Android/libs/{XDTapTapWrapper_7.1.2.aar.meta → XDTapTapWrapper_7.2.0.aar.meta} +0 -0
  92. /package/Runtime/Internal/Standalone/{Utils → Steam}/SteamWrapper.cs.meta +0 -0
@@ -0,0 +1,36 @@
1
+ %YAML 1.1
2
+ %TAG !u! tag:unity3d.com,2011:
3
+ --- !u!21 &2100000
4
+ Material:
5
+ serializedVersion: 6
6
+ m_ObjectHideFlags: 0
7
+ m_CorrespondingSourceObject: {fileID: 0}
8
+ m_PrefabInstance: {fileID: 0}
9
+ m_PrefabAsset: {fileID: 0}
10
+ m_Name: UI_Default-Gamma
11
+ m_Shader: {fileID: 4800000, guid: 09659b2e9120d6a4490f5e5a7f7619c0, type: 3}
12
+ m_ShaderKeywords:
13
+ m_LightmapFlags: 4
14
+ m_EnableInstancingVariants: 0
15
+ m_DoubleSidedGI: 0
16
+ m_CustomRenderQueue: -1
17
+ stringTagMap: {}
18
+ disabledShaderPasses: []
19
+ m_SavedProperties:
20
+ serializedVersion: 3
21
+ m_TexEnvs:
22
+ - _MainTex:
23
+ m_Texture: {fileID: 0}
24
+ m_Scale: {x: 1, y: 1}
25
+ m_Offset: {x: 0, y: 0}
26
+ m_Floats:
27
+ - _ColorMask: 15
28
+ - _Stencil: 0
29
+ - _StencilComp: 8
30
+ - _StencilOp: 0
31
+ - _StencilReadMask: 255
32
+ - _StencilWriteMask: 255
33
+ - _UseUIAlphaClip: 0
34
+ m_Colors:
35
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
36
+ m_BuildTextureStacks: []
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: cb7e1a0e9ae57274b80858a808d7c9ba
3
+ NativeFormatImporter:
4
+ externalObjects: {}
5
+ mainObjectFileID: 2100000
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,36 @@
1
+ %YAML 1.1
2
+ %TAG !u! tag:unity3d.com,2011:
3
+ --- !u!21 &2100000
4
+ Material:
5
+ serializedVersion: 6
6
+ m_ObjectHideFlags: 0
7
+ m_CorrespondingSourceObject: {fileID: 0}
8
+ m_PrefabInstance: {fileID: 0}
9
+ m_PrefabAsset: {fileID: 0}
10
+ m_Name: UI_Default-Mask
11
+ m_Shader: {fileID: 4800000, guid: 09659b2e9120d6a4490f5e5a7f7619c0, type: 3}
12
+ m_ShaderKeywords:
13
+ m_LightmapFlags: 4
14
+ m_EnableInstancingVariants: 0
15
+ m_DoubleSidedGI: 0
16
+ m_CustomRenderQueue: -1
17
+ stringTagMap: {}
18
+ disabledShaderPasses: []
19
+ m_SavedProperties:
20
+ serializedVersion: 3
21
+ m_TexEnvs:
22
+ - _MainTex:
23
+ m_Texture: {fileID: 0}
24
+ m_Scale: {x: 1, y: 1}
25
+ m_Offset: {x: 0, y: 0}
26
+ m_Floats:
27
+ - _ColorMask: 15
28
+ - _Stencil: 1
29
+ - _StencilComp: 8
30
+ - _StencilOp: 3
31
+ - _StencilReadMask: 255
32
+ - _StencilWriteMask: 255
33
+ - _UseUIAlphaClip: 0
34
+ m_Colors:
35
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
36
+ m_BuildTextureStacks: []
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: a950954ffa1698d4094aaf27b366d2b1
3
+ NativeFormatImporter:
4
+ externalObjects: {}
5
+ mainObjectFileID: 2100000
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: ec1f9b439431f0b48bef66f6de8c3c4a
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: ecee73b12a3c5984083e9dc5559a0a1a
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -2,9 +2,90 @@ using System;
2
2
  using System.Collections.Generic;
3
3
  using System.Threading.Tasks;
4
4
  using UnityEngine;
5
+ using XD.SDK.Common;
5
6
 
6
7
  namespace XD.SDK.Common.Internal.Events
7
8
  {
9
+ /// <summary>
10
+ /// 事件执行结果包装类,使用 XDGError 统一封装错误信息。
11
+ /// </summary>
12
+ /// <typeparam name="T">返回值类型</typeparam>
13
+ public class EventResult<T>
14
+ {
15
+ public bool IsSuccess { get; private set; }
16
+
17
+ public T Value { get; private set; }
18
+
19
+ /// <summary>
20
+ /// 业务错误信息(包含错误码、错误文案等)。
21
+ /// </summary>
22
+ public XDGError Error { get; private set; }
23
+
24
+ public string ErrorMessage
25
+ {
26
+ get { return Error != null ? Error.ErrorMsg : null; }
27
+ }
28
+
29
+ private EventResult(bool isSuccess, T value, XDGError error)
30
+ {
31
+ IsSuccess = isSuccess;
32
+ Value = value;
33
+ Error = error;
34
+ }
35
+
36
+ public static EventResult<T> Success(T value)
37
+ {
38
+ return new EventResult<T>(true, value, null);
39
+ }
40
+
41
+ public static EventResult<T> Failure(XDGError error)
42
+ {
43
+ return new EventResult<T>(false, default(T), error);
44
+ }
45
+
46
+ public static EventResult<T> Failure(Exception exception)
47
+ {
48
+ if (exception is XDGError xdError)
49
+ {
50
+ return Failure(xdError);
51
+ }
52
+
53
+ // 非 XDGError 的异常,统一包装成一个 UnknownError,detail 中保留原始异常信息
54
+ var wrapped = new XDGError(
55
+ code: ResponseCode.Common.Failed,
56
+ errorMsg: exception != null ? exception.Message : "Unknown error",
57
+ detail: exception != null ? exception.ToString() : null);
58
+
59
+ return Failure(wrapped);
60
+ }
61
+
62
+ public static EventResult<T> Failure(string errorMessage)
63
+ {
64
+ return Failure(new XDGError(errorMessage));
65
+ }
66
+
67
+ /// <summary>
68
+ /// 获取值,如果失败则抛出 XDGError。
69
+ /// </summary>
70
+ public T GetValueOrThrow()
71
+ {
72
+ if (!IsSuccess)
73
+ {
74
+ throw Error ?? new XDGError("Event execution failed.");
75
+ }
76
+
77
+ return Value;
78
+ }
79
+
80
+ /// <summary>
81
+ /// 获取值,如果失败则返回默认值。
82
+ /// </summary>
83
+ public T GetValueOrDefault(T defaultValue = default(T))
84
+ {
85
+ return IsSuccess ? Value : defaultValue;
86
+ }
87
+ }
88
+
8
89
  public static class XDGEventBus
9
90
  {
10
91
  private static readonly Dictionary<string, List<Func<object[], object>>> SyncHandlers = new Dictionary<string, List<Func<object[], object>>>();
@@ -31,29 +112,50 @@ namespace XD.SDK.Common.Internal.Events
31
112
  });
32
113
  }
33
114
 
34
- public static T Publish<T>(string eventName, params object[] args)
115
+ /// <summary>
116
+ /// 发布带返回值的同步事件,直接返回 EventResult(破坏性变更:原来返回 T)。
117
+ /// </summary>
118
+ public static EventResult<T> Publish<T>(string eventName, params object[] args)
35
119
  {
36
120
  if (SyncHandlers.TryGetValue(eventName, out var handlers) && handlers.Count > 0)
37
121
  {
38
122
  try
39
123
  {
40
124
  var result = handlers[0](args);
41
- return result is T ? (T)result : default(T);
125
+ var typedResult = result is T ? (T)result : default(T);
126
+ return EventResult<T>.Success(typedResult);
42
127
  }
43
128
  catch (Exception ex)
44
129
  {
45
- XDGLogger.Error($"[XDEventBus] Error publishing sync event {eventName}: {ex.Message}", XDGLoggerTag.Common);
46
- return default(T);
130
+ XDGLogger.Error($"[XDEventBus] Error publishing sync event {eventName}: {ex}", XDGLoggerTag.Common);
131
+ return EventResult<T>.Failure(ex);
47
132
  }
48
133
  }
49
134
 
50
135
  XDGLogger.Debug($"[XDEventBus] No handler found for sync event: {eventName}", XDGLoggerTag.Common);
51
- return default(T);
136
+ return EventResult<T>.Failure($"No handler found for event: {eventName}");
52
137
  }
53
138
 
139
+ /// <summary>
140
+ /// 发布不关心返回值的同步事件,保持原有 fire-and-forget 行为。
141
+ /// </summary>
54
142
  public static void Publish(string eventName, params object[] args)
55
143
  {
56
- Publish<object>(eventName, args);
144
+ if (SyncHandlers.TryGetValue(eventName, out var handlers) && handlers.Count > 0)
145
+ {
146
+ try
147
+ {
148
+ handlers[0](args);
149
+ }
150
+ catch (Exception ex)
151
+ {
152
+ XDGLogger.Error($"[XDEventBus] Error publishing sync event {eventName}: {ex}", XDGLoggerTag.Common);
153
+ }
154
+ }
155
+ else
156
+ {
157
+ XDGLogger.Debug($"[XDEventBus] No handler found for sync event: {eventName}", XDGLoggerTag.Common);
158
+ }
57
159
  }
58
160
 
59
161
  #endregion
@@ -78,30 +180,50 @@ namespace XD.SDK.Common.Internal.Events
78
180
  });
79
181
  }
80
182
 
81
- public static async Task<T> PublishAsync<T>(string eventName, params object[] args)
183
+ /// <summary>
184
+ /// 发布带返回值的异步事件,直接返回 EventResult(破坏性变更:原来返回 Task&lt;T&gt;)。
185
+ /// </summary>
186
+ public static async Task<EventResult<T>> PublishAsync<T>(string eventName, params object[] args)
82
187
  {
83
188
  if (AsyncHandlers.TryGetValue(eventName, out var handlers) && handlers.Count > 0)
84
189
  {
85
190
  try
86
191
  {
87
192
  var result = await handlers[0](args);
88
- XDGLogger.Debug($"[XDEventBus] publishing async event {eventName}, result: {result}", XDGLoggerTag.Common);
89
- return result is T ? (T)result : default(T);
193
+ var typedResult = result is T ? (T)result : default(T);
194
+ return EventResult<T>.Success(typedResult);
90
195
  }
91
196
  catch (Exception ex)
92
197
  {
93
- XDGLogger.Error($"[XDEventBus] Error publishing async event {eventName}: {ex.Message}", XDGLoggerTag.Common);
94
- return default(T);
198
+ XDGLogger.Warn($"[XDEventBus] Error publishing async event {eventName}: {ex}", XDGLoggerTag.Common);
199
+ return EventResult<T>.Failure(ex);
95
200
  }
96
201
  }
97
202
 
98
203
  XDGLogger.Debug($"[XDEventBus] No handler found for async event: {eventName}", XDGLoggerTag.Common);
99
- return default(T);
204
+ return EventResult<T>.Failure($"No handler found for event: {eventName}");
100
205
  }
101
206
 
207
+ /// <summary>
208
+ /// 发布不关心返回值的异步事件,保持原有 fire-and-forget 行为。
209
+ /// </summary>
102
210
  public static async Task PublishAsync(string eventName, params object[] args)
103
211
  {
104
- await PublishAsync<object>(eventName, args);
212
+ if (AsyncHandlers.TryGetValue(eventName, out var handlers) && handlers.Count > 0)
213
+ {
214
+ try
215
+ {
216
+ await handlers[0](args);
217
+ }
218
+ catch (Exception ex)
219
+ {
220
+ XDGLogger.Error($"[XDEventBus] Error publishing async event {eventName}: {ex}", XDGLoggerTag.Common);
221
+ }
222
+ }
223
+ else
224
+ {
225
+ XDGLogger.Debug($"[XDEventBus] No handler found for async event: {eventName}", XDGLoggerTag.Common);
226
+ }
105
227
  }
106
228
 
107
229
  #endregion
@@ -195,10 +195,10 @@ namespace XD.SDK.Common.Internal.Standalone
195
195
 
196
196
  isInited = true;
197
197
  }
198
- catch (Exception e)
198
+ catch (Exception)
199
199
  {
200
200
  isInited = false;
201
- throw e;
201
+ throw;
202
202
  }
203
203
  finally
204
204
  {
@@ -36,12 +36,12 @@ namespace XD.SDK.Common.Internal.Standalone.Http.Interceptor
36
36
  {
37
37
  try
38
38
  {
39
- var accessToken = await XDGEventBus.PublishAsync<XDGAccessToken>(XDGEvents.AccountGetAccessToken);
39
+ var accessTokenResult = await XDGEventBus.PublishAsync<XDGAccessToken>(XDGEvents.AccountGetAccessToken);
40
+ var accessToken = accessTokenResult.GetValueOrThrow();
40
41
  if (accessToken == null)
41
42
  {
42
43
  return null;
43
44
  }
44
-
45
45
  var uri = new Uri(url);
46
46
  var timeStr = ServerTime.GetTimestamp();
47
47
  var nonce = GetRandomStr(5);
@@ -57,9 +57,9 @@ namespace XD.SDK.Common.Internal.Standalone.Http.Interceptor
57
57
  XDGLogger.Debug($"generate MAC token: {authToken}", XDGLoggerTag.Http);
58
58
  return authToken;
59
59
  }
60
- catch (Exception ex)
60
+ catch (XDGError ex)
61
61
  {
62
- XDGLogger.Error($"Failed to generate MAC token: {ex.Message}", XDGLoggerTag.Http);
62
+ XDGLogger.Error($"Failed to generate MAC token: {ex.ErrorMsg}", XDGLoggerTag.Http);
63
63
  return null;
64
64
  }
65
65
  }