Merge pull request #128 from onerain88/fix-user-save

Fix user save
oneRain 2021-05-07 16:35:56 +08:00 committed by GitHub
commit f833cd6953
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 8 deletions

View File

@ -19,7 +19,7 @@ namespace LeanCloud.Common {
} }
string path = GetFileFullPath(filename); string path = GetFileFullPath(filename);
using (FileStream fs = IOFile.OpenWrite(path)) { using (FileStream fs = IOFile.Create(path)) {
byte[] buffer = Encoding.UTF8.GetBytes(text); byte[] buffer = Encoding.UTF8.GetBytes(text);
await fs.WriteAsync(buffer, 0, buffer.Length); await fs.WriteAsync(buffer, 0, buffer.Length);
} }

View File

@ -572,8 +572,8 @@ namespace LeanCloud.Storage {
public void Merge(LCObjectData objectData) { public void Merge(LCObjectData objectData) {
data.ClassName = objectData.ClassName ?? data.ClassName; data.ClassName = objectData.ClassName ?? data.ClassName;
data.ObjectId = objectData.ObjectId ?? data.ObjectId; data.ObjectId = objectData.ObjectId ?? data.ObjectId;
data.CreatedAt = objectData.CreatedAt != null ? objectData.CreatedAt : data.CreatedAt; data.CreatedAt = !objectData.CreatedAt.Equals(default) ? objectData.CreatedAt : data.CreatedAt;
data.UpdatedAt = objectData.UpdatedAt != null ? objectData.UpdatedAt : data.UpdatedAt; data.UpdatedAt = !objectData.UpdatedAt.Equals(default) ? objectData.UpdatedAt : data.UpdatedAt;
// 先将本地的预估数据直接替换 // 先将本地的预估数据直接替换
data.CustomPropertyDict = estimatedData; data.CustomPropertyDict = estimatedData;
// 再将服务端的数据覆盖 // 再将服务端的数据覆盖

View File

@ -127,9 +127,6 @@ namespace LeanCloud.Storage {
throw new ArgumentException("Cannot sign up a user that already exists."); throw new ArgumentException("Cannot sign up a user that already exists.");
} }
await Save(); await Save();
currentUser = this;
await SaveToLocal();
return this; return this;
} }
@ -555,7 +552,7 @@ namespace LeanCloud.Storage {
{ authType, data } { authType, data }
}; };
try { try {
await Save(); await base.Save();
oriAuthData[authType] = data; oriAuthData[authType] = data;
await UpdateAuthData(oriAuthData); await UpdateAuthData(oriAuthData);
} catch (Exception e) { } catch (Exception e) {
@ -570,7 +567,7 @@ namespace LeanCloud.Storage {
{ authType, null } { authType, null }
}; };
try { try {
await Save(); await base.Save();
oriAuthData.Remove(authType); oriAuthData.Remove(authType);
await UpdateAuthData(oriAuthData); await UpdateAuthData(oriAuthData);
} catch (Exception e) { } catch (Exception e) {
@ -765,5 +762,12 @@ namespace LeanCloud.Storage {
} }
return result; return result;
} }
public new async Task<LCUser> Save(bool fetchWhenSave = false, LCQuery<LCObject> query = null) {
await base.Save(fetchWhenSave, query);
currentUser = this;
await SaveToLocal();
return this;
}
} }
} }