com.taptap.sdk.login 4.3.0-aplha.5

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 (202) hide show
  1. package/Mobile/Editor/NativeDependencies.xml +20 -0
  2. package/Mobile/Editor/NativeDependencies.xml.meta +7 -0
  3. package/Mobile/Editor/TapLoginIOSProcessor.cs +91 -0
  4. package/Mobile/Editor/TapLoginIOSProcessor.cs.meta +11 -0
  5. package/Mobile/Editor/TapLoginMobileProcessBuild.cs +20 -0
  6. package/Mobile/Editor/TapLoginMobileProcessBuild.cs.meta +11 -0
  7. package/Mobile/Editor/TapSDK.Login.Mobile.Editor.asmdef +17 -0
  8. package/Mobile/Editor/TapSDK.Login.Mobile.Editor.asmdef.meta +7 -0
  9. package/Mobile/Editor.meta +8 -0
  10. package/Mobile/Runtime/AccountWrapper.cs +32 -0
  11. package/Mobile/Runtime/AccountWrapper.cs.meta +3 -0
  12. package/Mobile/Runtime/TapSDK.Login.Mobile.Runtime.asmdef +20 -0
  13. package/Mobile/Runtime/TapSDK.Login.Mobile.Runtime.asmdef.meta +7 -0
  14. package/Mobile/Runtime/TapTapLoginImpl.cs +81 -0
  15. package/Mobile/Runtime/TapTapLoginImpl.cs.meta +3 -0
  16. package/Mobile/Runtime.meta +8 -0
  17. package/Mobile.meta +8 -0
  18. package/Plugins/iOS/TapTapSDKLoginAppDelegate.mm +40 -0
  19. package/Plugins/iOS/TapTapSDKLoginAppDelegate.mm.meta +37 -0
  20. package/Plugins/iOS.meta +8 -0
  21. package/Plugins/zxing.unity.dll +0 -0
  22. package/Plugins/zxing.unity.dll.meta +33 -0
  23. package/Plugins.meta +8 -0
  24. package/Runtime/Internal/ITapTapLoginPlatform.cs +15 -0
  25. package/Runtime/Internal/ITapTapLoginPlatform.cs.meta +3 -0
  26. package/Runtime/Internal/Init/LoginInitTask.cs +20 -0
  27. package/Runtime/Internal/Init/LoginInitTask.cs.meta +11 -0
  28. package/Runtime/Internal/Init.meta +8 -0
  29. package/Runtime/Internal/Region.cs +98 -0
  30. package/Runtime/Internal/Region.cs.meta +11 -0
  31. package/Runtime/Internal/TapTapLoginManager.cs +38 -0
  32. package/Runtime/Internal/TapTapLoginManager.cs.meta +3 -0
  33. package/Runtime/Internal.meta +8 -0
  34. package/Runtime/Public/AccessToken.cs +83 -0
  35. package/Runtime/Public/AccessToken.cs.meta +11 -0
  36. package/Runtime/Public/Profile.cs +51 -0
  37. package/Runtime/Public/Profile.cs.meta +11 -0
  38. package/Runtime/Public/TapTapAccount.cs +70 -0
  39. package/Runtime/Public/TapTapAccount.cs.meta +3 -0
  40. package/Runtime/Public/TapTapLogin.cs +39 -0
  41. package/Runtime/Public/TapTapLogin.cs.meta +3 -0
  42. package/Runtime/Public/TapTapSdk.cs +26 -0
  43. package/Runtime/Public/TapTapSdk.cs.meta +11 -0
  44. package/Runtime/Public.meta +8 -0
  45. package/Runtime/TapSDK.Login.Runtime.asmdef +15 -0
  46. package/Runtime/TapSDK.Login.Runtime.asmdef.meta +7 -0
  47. package/Runtime.meta +8 -0
  48. package/Standalone/Editor/TapLoginStandaloneProcessBuild.cs +22 -0
  49. package/Standalone/Editor/TapLoginStandaloneProcessBuild.cs.meta +11 -0
  50. package/Standalone/Editor/TapSDK.Login.Standalone.Editor.asmdef +17 -0
  51. package/Standalone/Editor/TapSDK.Login.Standalone.Editor.asmdef.meta +7 -0
  52. package/Standalone/Editor.meta +8 -0
  53. package/Standalone/Resources/Prefabs/TapLogin/LoginPanel.prefab +811 -0
  54. package/Standalone/Resources/Prefabs/TapLogin/LoginPanel.prefab.meta +8 -0
  55. package/Standalone/Resources/Prefabs/TapLogin/LoginWithPermissionPanel.prefab +820 -0
  56. package/Standalone/Resources/Prefabs/TapLogin/LoginWithPermissionPanel.prefab.meta +8 -0
  57. package/Standalone/Resources/Prefabs/TapLogin/PermissionItem.prefab +314 -0
  58. package/Standalone/Resources/Prefabs/TapLogin/PermissionItem.prefab.meta +7 -0
  59. package/Standalone/Resources/Prefabs/TapLogin/QRCodeContainer.prefab +1501 -0
  60. package/Standalone/Resources/Prefabs/TapLogin/QRCodeContainer.prefab.meta +7 -0
  61. package/Standalone/Resources/Prefabs/TapLogin/Tips.prefab +286 -0
  62. package/Standalone/Resources/Prefabs/TapLogin/Tips.prefab.meta +7 -0
  63. package/Standalone/Resources/Prefabs/TapLogin/TopBar.prefab +485 -0
  64. package/Standalone/Resources/Prefabs/TapLogin/TopBar.prefab.meta +7 -0
  65. package/Standalone/Resources/Prefabs/TapLogin/WebContainer.prefab +514 -0
  66. package/Standalone/Resources/Prefabs/TapLogin/WebContainer.prefab.meta +7 -0
  67. package/Standalone/Resources/Prefabs/TapLogin/WebWithPermissionContainer.prefab +988 -0
  68. package/Standalone/Resources/Prefabs/TapLogin/WebWithPermissionContainer.prefab.meta +7 -0
  69. package/Standalone/Resources/Prefabs/TapLogin.meta +8 -0
  70. package/Standalone/Resources/Prefabs/TapTapSdkWindow.prefab +175 -0
  71. package/Standalone/Resources/Prefabs/TapTapSdkWindow.prefab.meta +8 -0
  72. package/Standalone/Resources/Prefabs.meta +8 -0
  73. package/Standalone/Resources/Sprites/taptap-client-bg.png +0 -0
  74. package/Standalone/Resources/Sprites/taptap-client-bg.png.meta +92 -0
  75. package/Standalone/Resources/Sprites/taptap-divider.png +0 -0
  76. package/Standalone/Resources/Sprites/taptap-divider.png.meta +146 -0
  77. package/Standalone/Resources/Sprites/taptap-login-android-client.png +0 -0
  78. package/Standalone/Resources/Sprites/taptap-login-android-client.png.meta +128 -0
  79. package/Standalone/Resources/Sprites/taptap-login-auth-bg.png +0 -0
  80. package/Standalone/Resources/Sprites/taptap-login-auth-bg.png.meta +128 -0
  81. package/Standalone/Resources/Sprites/taptap-login-auth-checked-v2.png +0 -0
  82. package/Standalone/Resources/Sprites/taptap-login-auth-checked-v2.png.meta +128 -0
  83. package/Standalone/Resources/Sprites/taptap-login-auth-checked.png +0 -0
  84. package/Standalone/Resources/Sprites/taptap-login-auth-checked.png.meta +128 -0
  85. package/Standalone/Resources/Sprites/taptap-login-auth-unchecked.png +0 -0
  86. package/Standalone/Resources/Sprites/taptap-login-auth-unchecked.png.meta +128 -0
  87. package/Standalone/Resources/Sprites/taptap-login-button-bg.png +0 -0
  88. package/Standalone/Resources/Sprites/taptap-login-button-bg.png.meta +128 -0
  89. package/Standalone/Resources/Sprites/taptap-login-confirm-triangle.png +0 -0
  90. package/Standalone/Resources/Sprites/taptap-login-confirm-triangle.png.meta +128 -0
  91. package/Standalone/Resources/Sprites/taptap-login-ios-client.png +0 -0
  92. package/Standalone/Resources/Sprites/taptap-login-ios-client.png.meta +128 -0
  93. package/Standalone/Resources/Sprites/taptap-login-tips-bg.png +0 -0
  94. package/Standalone/Resources/Sprites/taptap-login-tips-bg.png.meta +128 -0
  95. package/Standalone/Resources/Sprites/taptap-logo.png +0 -0
  96. package/Standalone/Resources/Sprites/taptap-logo.png.meta +130 -0
  97. package/Standalone/Resources/Sprites/taptap-scan-tips-bg.png +0 -0
  98. package/Standalone/Resources/Sprites/taptap-scan-tips-bg.png.meta +128 -0
  99. package/Standalone/Resources/Sprites/taptap-scan-tips-error.png +0 -0
  100. package/Standalone/Resources/Sprites/taptap-scan-tips-error.png.meta +128 -0
  101. package/Standalone/Resources/Sprites/taptap-scan-tips-info.png +0 -0
  102. package/Standalone/Resources/Sprites/taptap-scan-tips-info.png.meta +128 -0
  103. package/Standalone/Resources/Sprites/taptap-scan-tips-success.png +0 -0
  104. package/Standalone/Resources/Sprites/taptap-scan-tips-success.png.meta +128 -0
  105. package/Standalone/Resources/Sprites/taptap-scan-tips-warning.png +0 -0
  106. package/Standalone/Resources/Sprites/taptap-scan-tips-warning.png.meta +128 -0
  107. package/Standalone/Resources/Sprites/taptap-sdk-bg.png +0 -0
  108. package/Standalone/Resources/Sprites/taptap-sdk-bg.png.meta +128 -0
  109. package/Standalone/Resources/Sprites/taptap-sdk-cancel.png +0 -0
  110. package/Standalone/Resources/Sprites/taptap-sdk-cancel.png.meta +128 -0
  111. package/Standalone/Resources/Sprites/taptap-sdk-guide.png +0 -0
  112. package/Standalone/Resources/Sprites/taptap-sdk-guide.png.meta +128 -0
  113. package/Standalone/Resources/Sprites/taptap-sdk-logo.png +0 -0
  114. package/Standalone/Resources/Sprites/taptap-sdk-logo.png.meta +128 -0
  115. package/Standalone/Resources/Sprites/taptap-sdk-qrcode-bg-grey.png +0 -0
  116. package/Standalone/Resources/Sprites/taptap-sdk-qrcode-bg-grey.png.meta +128 -0
  117. package/Standalone/Resources/Sprites/taptap-sdk-qrcode-bg.png +0 -0
  118. package/Standalone/Resources/Sprites/taptap-sdk-qrcode-bg.png.meta +128 -0
  119. package/Standalone/Resources/Sprites/taptap-sdk-refresh-btn-bg.png +0 -0
  120. package/Standalone/Resources/Sprites/taptap-sdk-refresh-btn-bg.png.meta +128 -0
  121. package/Standalone/Resources/Sprites/taptap-sdk-refresh.png +0 -0
  122. package/Standalone/Resources/Sprites/taptap-sdk-refresh.png.meta +128 -0
  123. package/Standalone/Resources/Sprites/taptap-tap-log-v2.png +0 -0
  124. package/Standalone/Resources/Sprites/taptap-tap-log-v2.png.meta +128 -0
  125. package/Standalone/Resources/Sprites/taptap-tap-logo.png +0 -0
  126. package/Standalone/Resources/Sprites/taptap-tap-logo.png.meta +128 -0
  127. package/Standalone/Resources/Sprites/taptap-web-login-icon-v2.png +0 -0
  128. package/Standalone/Resources/Sprites/taptap-web-login-icon-v2.png.meta +128 -0
  129. package/Standalone/Resources/Sprites/taptap-web-login-icon.png +0 -0
  130. package/Standalone/Resources/Sprites/taptap-web-login-icon.png.meta +128 -0
  131. package/Standalone/Resources/Sprites/taptap-web-login.png +0 -0
  132. package/Standalone/Resources/Sprites/taptap-web-login.png.meta +146 -0
  133. package/Standalone/Resources/Sprites.meta +8 -0
  134. package/Standalone/Resources.meta +8 -0
  135. package/Standalone/Runtime/Internal/ContainerWindow.cs +67 -0
  136. package/Standalone/Runtime/Internal/ContainerWindow.cs.meta +11 -0
  137. package/Standalone/Runtime/Internal/LoginLanguage.cs +1117 -0
  138. package/Standalone/Runtime/Internal/LoginLanguage.cs.meta +11 -0
  139. package/Standalone/Runtime/Internal/Net.cs +291 -0
  140. package/Standalone/Runtime/Internal/Net.cs.meta +11 -0
  141. package/Standalone/Runtime/Internal/QRCodeWindow.cs +776 -0
  142. package/Standalone/Runtime/Internal/QRCodeWindow.cs.meta +11 -0
  143. package/Standalone/Runtime/Internal/UI.cs +22 -0
  144. package/Standalone/Runtime/Internal/UI.cs.meta +11 -0
  145. package/Standalone/Runtime/Internal/UIAnimator.cs +77 -0
  146. package/Standalone/Runtime/Internal/UIAnimator.cs.meta +11 -0
  147. package/Standalone/Runtime/Internal/UIBase.cs +27 -0
  148. package/Standalone/Runtime/Internal/UIBase.cs.meta +11 -0
  149. package/Standalone/Runtime/Internal/UIElement.cs +185 -0
  150. package/Standalone/Runtime/Internal/UIElement.cs.meta +11 -0
  151. package/Standalone/Runtime/Internal/UIManager.cs +100 -0
  152. package/Standalone/Runtime/Internal/UIManager.cs.meta +11 -0
  153. package/Standalone/Runtime/Internal/WebLoginRequestManager.cs +185 -0
  154. package/Standalone/Runtime/Internal/WebLoginRequestManager.cs.meta +11 -0
  155. package/Standalone/Runtime/Internal.meta +8 -0
  156. package/Standalone/Runtime/Internal2/AccountManager.cs +87 -0
  157. package/Standalone/Runtime/Internal2/AccountManager.cs.meta +3 -0
  158. package/Standalone/Runtime/Internal2/AuthorizationProviderImpl.cs +13 -0
  159. package/Standalone/Runtime/Internal2/AuthorizationProviderImpl.cs.meta +3 -0
  160. package/Standalone/Runtime/Internal2/Http/LoginHttpClient.cs +139 -0
  161. package/Standalone/Runtime/Internal2/Http/LoginHttpClient.cs.meta +11 -0
  162. package/Standalone/Runtime/Internal2/Http/Response/ErrorResponse.cs +16 -0
  163. package/Standalone/Runtime/Internal2/Http/Response/ErrorResponse.cs.meta +11 -0
  164. package/Standalone/Runtime/Internal2/Http/Response/ProfileResponse.cs +28 -0
  165. package/Standalone/Runtime/Internal2/Http/Response/ProfileResponse.cs.meta +11 -0
  166. package/Standalone/Runtime/Internal2/Http/Response/QRCodeResponse.cs +22 -0
  167. package/Standalone/Runtime/Internal2/Http/Response/QRCodeResponse.cs.meta +11 -0
  168. package/Standalone/Runtime/Internal2/Http/Response/TokenResponse.cs +33 -0
  169. package/Standalone/Runtime/Internal2/Http/Response/TokenResponse.cs.meta +11 -0
  170. package/Standalone/Runtime/Internal2/Http/Response.meta +8 -0
  171. package/Standalone/Runtime/Internal2/Http.meta +8 -0
  172. package/Standalone/Runtime/Internal2/LoginService.cs +127 -0
  173. package/Standalone/Runtime/Internal2/LoginService.cs.meta +11 -0
  174. package/Standalone/Runtime/Internal2/QRCodeUtils.cs +50 -0
  175. package/Standalone/Runtime/Internal2/QRCodeUtils.cs.meta +11 -0
  176. package/Standalone/Runtime/Internal2/TapLoginStandaloneImpl.cs +181 -0
  177. package/Standalone/Runtime/Internal2/TapLoginStandaloneImpl.cs.meta +3 -0
  178. package/Standalone/Runtime/Internal2/UI/ClientButtonListener.cs +20 -0
  179. package/Standalone/Runtime/Internal2/UI/ClientButtonListener.cs.meta +11 -0
  180. package/Standalone/Runtime/Internal2/UI/LoginPanelController.cs +72 -0
  181. package/Standalone/Runtime/Internal2/UI/LoginPanelController.cs.meta +11 -0
  182. package/Standalone/Runtime/Internal2/UI/QRCodeController.cs +180 -0
  183. package/Standalone/Runtime/Internal2/UI/QRCodeController.cs.meta +11 -0
  184. package/Standalone/Runtime/Internal2/UI/TitleController.cs +20 -0
  185. package/Standalone/Runtime/Internal2/UI/TitleController.cs.meta +11 -0
  186. package/Standalone/Runtime/Internal2/UI/WebController.cs +125 -0
  187. package/Standalone/Runtime/Internal2/UI/WebController.cs.meta +11 -0
  188. package/Standalone/Runtime/Internal2/UI.meta +8 -0
  189. package/Standalone/Runtime/Internal2.meta +8 -0
  190. package/Standalone/Runtime/Public/IAuthorizationProvider.cs +9 -0
  191. package/Standalone/Runtime/Public/IAuthorizationProvider.cs.meta +3 -0
  192. package/Standalone/Runtime/Public/IComplianceProvider.cs +7 -0
  193. package/Standalone/Runtime/Public/IComplianceProvider.cs.meta +3 -0
  194. package/Standalone/Runtime/Public/TapTapLoginStandalone.cs +38 -0
  195. package/Standalone/Runtime/Public/TapTapLoginStandalone.cs.meta +3 -0
  196. package/Standalone/Runtime/Public.meta +8 -0
  197. package/Standalone/Runtime/TapSDK.Login.Standalone.Runtime.asmdef +24 -0
  198. package/Standalone/Runtime/TapSDK.Login.Standalone.Runtime.asmdef.meta +7 -0
  199. package/Standalone/Runtime.meta +8 -0
  200. package/Standalone.meta +8 -0
  201. package/package.json +11 -0
  202. package/package.json.meta +7 -0
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 1feada2e0e7bd49db8a8fa50ad07bc6e
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,38 @@
1
+ using System.Threading.Tasks;
2
+ using TapSDK.Core;
3
+ using TapSDK.Core.Internal.Utils;
4
+
5
+ namespace TapSDK.Login.Internal
6
+ {
7
+ public class TapTapLoginManager
8
+ {
9
+ private static TapTapLoginManager instance;
10
+ private ITapTapLoginPlatform platformWrapper;
11
+
12
+ private TapTapLoginManager()
13
+ {
14
+ platformWrapper = BridgeUtils.CreateBridgeImplementation(typeof(ITapTapLoginPlatform),
15
+ "TapSDK.Login") as ITapTapLoginPlatform;
16
+ }
17
+
18
+ public static TapTapLoginManager Instance
19
+ {
20
+ get
21
+ {
22
+ if (instance == null)
23
+ {
24
+ instance = new TapTapLoginManager();
25
+ }
26
+ return instance;
27
+ }
28
+ }
29
+
30
+ public void Init(string clientId, TapTapRegionType regionType) => platformWrapper.Init(clientId, regionType);
31
+
32
+ public Task<TapTapAccount> Login(string[] scopes) => platformWrapper.Login(scopes);
33
+
34
+ public void Logout() => platformWrapper.Logout();
35
+
36
+ public Task<TapTapAccount> GetCurrentAccount() => platformWrapper.GetCurrentAccount();
37
+ }
38
+ }
@@ -0,0 +1,3 @@
1
+ fileFormatVersion: 2
2
+ guid: fd6e014b00be4fc3ae9bcf0413be955b
3
+ timeCreated: 1716540316
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: 24cd5e31f29ae47b5866be602d4bd83c
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,83 @@
1
+ using System;
2
+ using System.Collections.Generic;
3
+ using TapSDK.Core;
4
+ using Newtonsoft.Json;
5
+
6
+ namespace TapSDK.Login
7
+ {
8
+ public class AccessToken
9
+ {
10
+ [JsonProperty("kid")]
11
+ public string kid;
12
+
13
+ [JsonProperty("token_type")]
14
+ public string tokenType;
15
+
16
+ [JsonProperty("mac_key")]
17
+ public string macKey;
18
+
19
+ [JsonProperty("mac_algorithm")]
20
+ public string macAlgorithm;
21
+
22
+ [JsonProperty("scope")]
23
+ public HashSet<string> scopeSet;
24
+
25
+ public AccessToken(string json)
26
+ {
27
+ if (string.IsNullOrEmpty(json))
28
+ {
29
+ return;
30
+ }
31
+ var dic = Json.Deserialize(json) as Dictionary<string, object>;
32
+ ConstructFromDict(dic);
33
+ }
34
+
35
+ public AccessToken(Dictionary<string, object> dic)
36
+ {
37
+ ConstructFromDict(dic);
38
+ }
39
+
40
+ public AccessToken()
41
+ {
42
+
43
+ }
44
+
45
+ public Dictionary<string, string> ToDict()
46
+ {
47
+ return new Dictionary<string, string>
48
+ {
49
+ ["kid"] = kid,
50
+ ["token_type"] = tokenType,
51
+ ["mac_key"] = macKey,
52
+ ["mac_algorithm"] = macAlgorithm,
53
+ ["scope"] = string.Join(" ", scopeSet)
54
+ };
55
+ }
56
+
57
+ public String ToJson() => Json.Serialize(ToDict());
58
+
59
+ private void ConstructFromDict(Dictionary<string, object> dic)
60
+ {
61
+ kid = SafeDictionary.GetValue<string>(dic, "kid");
62
+ tokenType = SafeDictionary.GetValue<string>(dic, "token_type");
63
+ macKey = SafeDictionary.GetValue<string>(dic, "mac_key");
64
+ macAlgorithm = SafeDictionary.GetValue<string>(dic, "mac_algorithm");
65
+ string scopeStr = SafeDictionary.GetValue<string>(dic, "scope");
66
+ if (string.IsNullOrEmpty(scopeStr))
67
+ {
68
+ scopeSet = new HashSet<string>();
69
+ }
70
+ else
71
+ {
72
+ try
73
+ {
74
+ scopeSet = new HashSet<string>(scopeStr.Split(' '));
75
+ }
76
+ catch (Exception e)
77
+ {
78
+ scopeSet = new HashSet<string>();
79
+ }
80
+ }
81
+ }
82
+ }
83
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 6b1c85172abe742f18d2bb494252eed8
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,51 @@
1
+ using System.Collections.Generic;
2
+ using TapSDK.Core;
3
+ using UnityEngine;
4
+ using Newtonsoft.Json;
5
+
6
+ namespace TapSDK.Login
7
+ {
8
+ public class Profile
9
+ {
10
+ [JsonProperty("name")]
11
+ public string name;
12
+
13
+ [JsonProperty("gender")]
14
+ public string gender;
15
+
16
+ [JsonProperty("avatar")]
17
+ public string avatar;
18
+
19
+ [JsonProperty("openid")]
20
+ public string openid;
21
+
22
+ [JsonProperty("unionid")]
23
+ public string unionid;
24
+
25
+ [JsonIgnore]
26
+ public string email;
27
+
28
+ [JsonIgnore]
29
+ public bool emailVerified;
30
+
31
+ public Profile() {
32
+
33
+ }
34
+
35
+ public Profile(string json)
36
+ {
37
+ var dic = Json.Deserialize(json) as Dictionary<string, object>;
38
+ name = SafeDictionary.GetValue<string>(dic, "name");
39
+ avatar = SafeDictionary.GetValue<string>(dic, "avatar");
40
+ openid = SafeDictionary.GetValue<string>(dic, "openid");
41
+ unionid = SafeDictionary.GetValue<string>(dic, "unionid");
42
+ email = SafeDictionary.GetValue<string>(dic, "email");
43
+ emailVerified = SafeDictionary.GetValue<bool>(dic, "email_verified");
44
+ }
45
+
46
+ public string ToJson()
47
+ {
48
+ return JsonUtility.ToJson(this);
49
+ }
50
+ }
51
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 6645cb881ce9c41d5a8cc4708dd67200
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,70 @@
1
+ using System.Collections.Generic;
2
+ using JetBrains.Annotations;
3
+ using Newtonsoft.Json;
4
+ using TapSDK.Core;
5
+ using TapSDK.Login;
6
+ using UnityEngine;
7
+
8
+ namespace TapSDK.Login
9
+ {
10
+ public class TapTapAccount
11
+ {
12
+ [JsonProperty("access_token")]
13
+ public AccessToken accessToken { get; }
14
+
15
+ [JsonProperty("openid")]
16
+ public string openId { get; }
17
+
18
+ [JsonProperty("unionid")]
19
+ public string uniontId { get; }
20
+
21
+ [JsonProperty("name")]
22
+ [CanBeNull] public string name { get; }
23
+
24
+ [JsonProperty("avatar")]
25
+ [CanBeNull] public string avatar { get; }
26
+
27
+ [JsonProperty("email")]
28
+ [CanBeNull] public string email { get; }
29
+
30
+ public TapTapAccount(Dictionary<string, object> dict)
31
+ {
32
+ accessToken = new AccessToken(SafeDictionary.GetValue<Dictionary<string, object>>(dict, "access_token"));
33
+ openId = SafeDictionary.GetValue<string>(dict, "openid");
34
+ uniontId = SafeDictionary.GetValue<string>(dict, "unionid");
35
+ name = SafeDictionary.GetValue<string>(dict, "name");
36
+ avatar = SafeDictionary.GetValue<string>(dict, "avatar");
37
+ email = SafeDictionary.GetValue<string>(dict, "email");
38
+ }
39
+
40
+ public TapTapAccount(AccessToken accessToken, string openId, string uniontId, string name, string avatar, string email)
41
+ {
42
+ this.accessToken = accessToken;
43
+ this.openId = openId;
44
+ this.uniontId = uniontId;
45
+ this.name = name;
46
+ this.avatar = avatar;
47
+ this.email = email;
48
+ }
49
+
50
+ public string ToJson()
51
+ {
52
+ var dict = new Dictionary<string, object>
53
+ {
54
+ ["access_token"] = accessToken.ToDict(),
55
+ ["openid"] = openId,
56
+ ["unionid"] = uniontId,
57
+ ["name"] = name,
58
+ ["avatar"] = avatar,
59
+ ["email"] = email
60
+ };
61
+ return Json.Serialize(dict);
62
+ }
63
+
64
+ public TapTapAccount()
65
+ {
66
+
67
+ }
68
+
69
+ }
70
+ }
@@ -0,0 +1,3 @@
1
+ fileFormatVersion: 2
2
+ guid: fc6326de081c471ca42341046f86529e
3
+ timeCreated: 1716432226
@@ -0,0 +1,39 @@
1
+ using System.Threading.Tasks;
2
+ using TapSDK.Core.Internal.Utils;
3
+ using TapSDK.Login.Internal;
4
+
5
+ namespace TapSDK.Login
6
+ {
7
+ public class TapTapLogin
8
+ {
9
+ public const string TAP_LOGIN_SCOPE_BASIC_INFO = "basic_info";
10
+ public const string TAP_LOGIN_SCOPE_PUBLIC_PROFILE = "public_profile";
11
+ public const string TAP_LOGIN_SCOPE_EMAIL = "email";
12
+ public const string TAP_LOGIN_SCOPE_USER_FRIENDS = "user_friends";
13
+
14
+ private static TapTapLogin instance;
15
+
16
+ private TapTapLogin()
17
+ {
18
+
19
+ }
20
+
21
+ public static TapTapLogin Instance
22
+ {
23
+ get
24
+ {
25
+ if (instance == null)
26
+ {
27
+ instance = new TapTapLogin();
28
+ }
29
+ return instance;
30
+ }
31
+ }
32
+
33
+ public Task<TapTapAccount> Login(string[] scopes) => TapTapLoginManager.Instance.Login(scopes);
34
+
35
+ public void Logout() => TapTapLoginManager.Instance.Logout();
36
+
37
+ public Task<TapTapAccount> GetCurrentAccount() => TapTapLoginManager.Instance.GetCurrentAccount();
38
+ }
39
+ }
@@ -0,0 +1,3 @@
1
+ fileFormatVersion: 2
2
+ guid: 4f67206b88ed4babb25755ed4ac4e60e
3
+ timeCreated: 1716431545
@@ -0,0 +1,26 @@
1
+ using System;
2
+ using System.Threading.Tasks;
3
+ using TapSDK.Core;
4
+ using TapSDK.Core.Internal;
5
+ using UnityEngine;
6
+
7
+ namespace TapSDK.Login.Internal
8
+ {
9
+ public static class TapTapSdk
10
+ {
11
+ // todo
12
+ public const string Version = "1.2.0";
13
+
14
+ public static string ClientId { get; private set; }
15
+
16
+ public static Region CurrentRegion { get; private set; }
17
+
18
+ public static void SDKInitialize(string clientId, bool isCn) {
19
+ if (string.IsNullOrEmpty(clientId))
20
+ throw new ArgumentException("[TapSDK] clientId is null or empty!");
21
+ ClientId = clientId;
22
+ CurrentRegion = isCn ? (Region)new RegionCN() : new RegionIO();
23
+ TapLocalizeManager.SetCurrentRegion(isCn);
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 762c5963339fb430e974398fae5bb511
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: 397e36f43b9fe4d309a388111a8cb950
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "TapSDK.Login.Runtime",
3
+ "references": [
4
+ "GUID:7d5ef2062f3704e1ab74aac0e4d5a1a7"
5
+ ],
6
+ "includePlatforms": [],
7
+ "excludePlatforms": [],
8
+ "allowUnsafeCode": false,
9
+ "overrideReferences": false,
10
+ "precompiledReferences": [],
11
+ "autoReferenced": true,
12
+ "defineConstraints": [],
13
+ "versionDefines": [],
14
+ "noEngineReferences": false
15
+ }
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: e8754b6153389406c963cd52996cc80f
3
+ AssemblyDefinitionImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
package/Runtime.meta ADDED
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: 2ae9b1c1f703a4bdc9ee0b6d24c4194a
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,22 @@
1
+ using System;
2
+ using UnityEditor.Build.Reporting;
3
+ using TapSDK.Core.Editor;
4
+
5
+ namespace TapSDK.Login.Editor
6
+ {
7
+ public class TapLoginStandaloneProcessBuild : SDKLinkProcessBuild
8
+ {
9
+ public override int callbackOrder => 0;
10
+
11
+ public override string LinkPath => "TapSDK/Login/link.xml";
12
+
13
+ public override LinkedAssembly[] LinkedAssemblies => new LinkedAssembly[] {
14
+ new LinkedAssembly { Fullname = "TapSDK.Login.Runtime" },
15
+ new LinkedAssembly { Fullname = "TapSDK.Login.Standalone.Runtime" }
16
+ };
17
+
18
+ public override Func<BuildReport, bool> IsTargetPlatform => (report) => {
19
+ return BuildTargetUtils.IsSupportStandalone(report.summary.platform);
20
+ };
21
+ }
22
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 7661a47473b9c438980a7d4b0be90e2e
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "TapSDK.Login.Standalone.Editor",
3
+ "references": [
4
+ "GUID:56f3da7a178484843974054bafe77e73"
5
+ ],
6
+ "includePlatforms": [
7
+ "Editor"
8
+ ],
9
+ "excludePlatforms": [],
10
+ "allowUnsafeCode": false,
11
+ "overrideReferences": false,
12
+ "precompiledReferences": [],
13
+ "autoReferenced": true,
14
+ "defineConstraints": [],
15
+ "versionDefines": [],
16
+ "noEngineReferences": false
17
+ }
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: ff2731b992f0b4736afeff3719a96ad4
3
+ AssemblyDefinitionImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: b5994a776f5ee4f8998f23dd47cb2fef
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant: