Skip to content

Commit 8bd5713

Browse files
authored
Merge pull request #53 from AnonymousDotNet/lida_Dev
Lida dev
2 parents 961d2b0 + ae2049c commit 8bd5713

File tree

3 files changed

+20
-7
lines changed

3 files changed

+20
-7
lines changed

src/Infrastructure/BotSharp.Core/Infrastructures/Utilities.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,16 @@ public static string HashTextSha256(string text)
3030
return sb.ToString();
3131
}
3232

33-
public static (string, string) SplitAsTuple(this string str, string sep)
33+
public static (string, string, string) SplitAsTuple(this string str, string sep)
3434
{
3535
var splits = str.Split(sep);
36-
return (splits[0], splits[1]);
36+
37+
if (splits.Length == 2 || string.IsNullOrWhiteSpace(splits[2]))
38+
{
39+
return (splits[0], splits[1], "CN");
40+
}
41+
42+
return (splits[0], splits[1], splits[2]);
3743
}
3844

3945
/// <summary>

src/Infrastructure/BotSharp.Core/Users/Services/UserService.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ public async Task<bool> UpdatePassword(string password, string verificationCode)
148148
public async Task<Token?> GetAffiliateToken(string authorization)
149149
{
150150
var base64 = Encoding.UTF8.GetString(Convert.FromBase64String(authorization));
151-
var (id, password) = base64.SplitAsTuple(":");
151+
var (id, password, regionCode) = base64.SplitAsTuple(":");
152152
var db = _services.GetRequiredService<IBotSharpRepository>();
153153
var record = db.GetAffiliateUserByPhone(id);
154154
var isCanLogin = record != null && !record.IsDisabled && record.Type == UserType.Affiliate;
@@ -170,7 +170,7 @@ public async Task<bool> UpdatePassword(string password, string verificationCode)
170170
public async Task<Token?> GetAdminToken(string authorization)
171171
{
172172
var base64 = Encoding.UTF8.GetString(Convert.FromBase64String(authorization));
173-
var (id, password) = base64.SplitAsTuple(":");
173+
var (id, password, regionCode) = base64.SplitAsTuple(":");
174174
var db = _services.GetRequiredService<IBotSharpRepository>();
175175
var record = db.GetUserByPhone(id, type: UserType.Internal);
176176
var isCanLogin = record != null && !record.IsDisabled
@@ -210,13 +210,13 @@ public async Task<bool> UpdatePassword(string password, string verificationCode)
210210
public async Task<Token?> GetToken(string authorization)
211211
{
212212
var base64 = Encoding.UTF8.GetString(Convert.FromBase64String(authorization));
213-
var (id, password) = base64.SplitAsTuple(":");
213+
var (id, password, regionCode) = base64.SplitAsTuple(":");
214214

215215
var db = _services.GetRequiredService<IBotSharpRepository>();
216216
var record = id.Contains("@") ? db.GetUserByEmail(id) : db.GetUserByUserName(id);
217217
if (record == null)
218218
{
219-
record = db.GetUserByPhone(id);
219+
record = db.GetUserByPhone(id, regionCode: regionCode);
220220
}
221221

222222
if (record != null && record.Type == UserType.Affiliate)

src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.User.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,14 @@ public partial class MongoRepository
2222
return null;
2323
}
2424

25-
phoneSecond = phone.StartsWith("+86") ? phone.Replace("+86", "") : $"+86{phone}";
25+
if (regionCode == "CN")
26+
{
27+
phoneSecond = (phone ?? "").StartsWith("+86") ? (phone ?? "").Replace("+86", "") : ($"+86{phone ?? ""}");
28+
}
29+
else
30+
{
31+
phoneSecond = (phone ?? "").Substring(regionCode == "US" ? 2 : 3);
32+
}
2633

2734
var user = _dc.Users.AsQueryable().FirstOrDefault(x => (x.Phone == phone || x.Phone == phoneSecond)
2835
&& (x.RegionCode == regionCode || string.IsNullOrWhiteSpace(x.RegionCode))

0 commit comments

Comments
 (0)