com.taptap.sdk.login 4.5.1 → 4.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,14 +4,14 @@
4
4
  <repositories>
5
5
  <repository>https://repo.maven.apache.org/maven2</repository>
6
6
  </repositories>
7
- <androidPackage spec="com.taptap.sdk:tap-login-unity:4.5.1"/>
7
+ <androidPackage spec="com.taptap.sdk:tap-login-unity:4.5.2"/>
8
8
  </androidPackages>
9
9
  <iosPods>
10
10
  <sources>
11
11
  <source>https://github.com/CocoaPods/Specs.git</source>
12
12
  </sources>
13
13
  <iosPod name="Kingfisher" version="~> 6.0" bitcodeEnabled="false" addToAllTargets="false"/>
14
- <iosPod name="TapTapLoginSDK" version="~> 4.5.1" bitcodeEnabled="false" addToAllTargets="false"/>
15
- <iosPod name="TapTapGidSDK" version="~> 4.5.1" bitcodeEnabled="false" addToAllTargets="false"/>
14
+ <iosPod name="TapTapLoginSDK" version="~> 4.5.2" bitcodeEnabled="false" addToAllTargets="false"/>
15
+ <iosPod name="TapTapGidSDK" version="~> 4.5.2" bitcodeEnabled="false" addToAllTargets="false"/>
16
16
  </iosPods>
17
17
  </dependencies>
@@ -7,7 +7,7 @@ namespace TapSDK.Login
7
7
  public class TapTapLogin
8
8
  {
9
9
 
10
- public static readonly string Version = "4.5.1";
10
+ public static readonly string Version = "4.5.2";
11
11
 
12
12
  public const string TAP_LOGIN_SCOPE_BASIC_INFO = "basic_info";
13
13
  public const string TAP_LOGIN_SCOPE_PUBLIC_PROFILE = "public_profile";
@@ -16,6 +16,9 @@ namespace TapSDK.Login.Internal
16
16
  {
17
17
  private static TapLoginStandaloneImpl instance;
18
18
 
19
+ // 当前是否正在登录中
20
+ private volatile bool IsLogging = false;
21
+
19
22
  private TapLoginStandaloneImpl()
20
23
  {
21
24
 
@@ -43,6 +46,13 @@ namespace TapSDK.Login.Internal
43
46
 
44
47
  public Task<TapTapAccount> Login(string[] scopes)
45
48
  {
49
+ // 正在登录时,返回登录异常
50
+ if(IsLogging){
51
+ var defaultTcs = new TaskCompletionSource<TapTapAccount>();
52
+ defaultTcs.TrySetException(new TapException((int) TapErrorCode.ERROR_CODE_LOGOUT_INVALID_LOGIN_STATE, "Currently logging in"));
53
+ return defaultTcs.Task;
54
+ }
55
+ IsLogging = true;
46
56
  string sessionId = Guid.NewGuid().ToString();
47
57
  TapLoginTracker.Instance.TrackStart("loginWithScopes", sessionId);
48
58
 
@@ -52,7 +62,7 @@ namespace TapSDK.Login.Internal
52
62
  }
53
63
  IComplianceProvider provider = BridgeUtils.CreateBridgeImplementation(typeof(IComplianceProvider),
54
64
  "TapSDK.Compliance") as IComplianceProvider;
55
- String complianceScope = provider?.GetAgeRangeScope();
65
+ string complianceScope = provider?.GetAgeRangeScope(TapTapSdk.CurrentRegion is RegionCN _);
56
66
  if (complianceScope != null)
57
67
  {
58
68
  scopes = scopes.Append(complianceScope).ToArray();
@@ -64,6 +74,7 @@ namespace TapSDK.Login.Internal
64
74
  OnAuth = async (tokenData, loginType) => {
65
75
  if (tokenData == null) {
66
76
  TapLoginTracker.Instance.TrackFailure("loginWithScopes", sessionId, loginType, (int) TapErrorCode.ERROR_CODE_UNDEFINED, "UnKnow Error");
77
+ IsLogging = false;
67
78
  tcs.TrySetException(new TapException((int) TapErrorCode.ERROR_CODE_UNDEFINED, "UnKnow Error"));
68
79
  } else {
69
80
  // 将 TokenData 转化为 AccessToken
@@ -81,21 +92,25 @@ namespace TapSDK.Login.Internal
81
92
  AccountManager.Instance.Account = new TapTapAccount(
82
93
  refreshToken, profileData.OpenId, profileData.UnionId, profileData.Name, profileData.Avatar,
83
94
  profileData.Email);
95
+ IsLogging = false;
84
96
  tcs.TrySetResult(AccountManager.Instance.Account);
85
97
  }
86
98
  else
87
99
  {
88
100
  TapLoginTracker.Instance.TrackFailure("loginWithScopes", sessionId, loginType, (int) TapErrorCode.ERROR_CODE_UNDEFINED, "UnKnow Error");
101
+ IsLogging = false;
89
102
  tcs.TrySetException(new TapException((int) TapErrorCode.ERROR_CODE_UNDEFINED, "UnKnow Error"));
90
103
  }
91
104
  }
92
105
  },
93
106
  OnError = (e, loginType) => {
94
107
  TapLoginTracker.Instance.TrackFailure("loginWithScopes", sessionId, loginType, e.Code, e.Message);
108
+ IsLogging = false;
95
109
  tcs.TrySetException(e);
96
110
  },
97
111
  OnClose = () => {
98
112
  TapLoginTracker.Instance.TrackCancel("loginWithScopes", sessionId);
113
+ IsLogging = false;
99
114
  tcs.TrySetCanceled();
100
115
  }
101
116
  };
@@ -2,6 +2,6 @@ namespace TapSDK.Login.Standalone
2
2
  {
3
3
  public interface IComplianceProvider
4
4
  {
5
- string GetAgeRangeScope();
5
+ string GetAgeRangeScope(bool isCN);
6
6
  }
7
7
  }
@@ -16,16 +16,29 @@ namespace TapSDK.Login.Standalone
16
16
 
17
17
  public Task<TapTapAccount> Login(string[] scopes)
18
18
  {
19
+ if(!TapCoreStandalone.CheckInitState()){
20
+ var defaultTcs = new TaskCompletionSource<TapTapAccount>();
21
+ defaultTcs.TrySetResult(null);
22
+ return defaultTcs.Task;
23
+ }
19
24
  return TapLoginStandaloneImpl.Instance.Login(scopes);
20
25
  }
21
26
 
22
27
  public void Logout()
23
28
  {
29
+ if(!TapCoreStandalone.CheckInitState()){
30
+ return;
31
+ }
24
32
  TapLoginStandaloneImpl.Instance.Logout();
25
33
  }
26
34
 
27
35
  public Task<TapTapAccount> GetCurrentAccount()
28
36
  {
37
+ if(!TapCoreStandalone.CheckInitState()){
38
+ var defaultTcs = new TaskCompletionSource<TapTapAccount>();
39
+ defaultTcs.TrySetResult(null);
40
+ return defaultTcs.Task;
41
+ }
29
42
  return TapLoginStandaloneImpl.Instance.GetCurrentAccount();
30
43
  }
31
44
  }
package/package.json CHANGED
@@ -2,10 +2,10 @@
2
2
  "name": "com.taptap.sdk.login",
3
3
  "displayName": "TapTapSDK Login",
4
4
  "description": "TapTapSDK Login",
5
- "version": "4.5.1",
5
+ "version": "4.5.2",
6
6
  "unity": "2019.4",
7
7
  "license": "MIT",
8
8
  "dependencies": {
9
- "com.taptap.sdk.core": "4.5.1"
9
+ "com.taptap.sdk.core": "4.5.2"
10
10
  }
11
11
  }
package/link.xml DELETED
@@ -1,4 +0,0 @@
1
- <linker>
2
- <assembly fullname="TapSDK.Login.Runtime" preserve="all" />
3
- <assembly fullname="TapSDK.Login.Mobile.Runtime" preserve="all" />
4
- </linker>
package/link.xml.meta DELETED
@@ -1,7 +0,0 @@
1
- fileFormatVersion: 2
2
- guid: 233dc61db84f84cceb309285fc5087b5
3
- TextScriptImporter:
4
- externalObjects: {}
5
- userData:
6
- assetBundleName:
7
- assetBundleVariant: