/// <summary> /// 通过手机号注册 /// </summary> /// <param name="phone">手机号</param> /// <param name="code">手机号验证码</param> /// <param name="password">密码</param> /// <param name="profile">用户资料</param> /// <param name="forceLogin">强制登录</param> /// <param name="generateToken">自动生成 token</param> /// <param name="cancellationToken"></param> /// <returns>User</returns> public async Task<User> RegisterByPhoneCode( string phone, string code, string password = null, RegisterProfile profile = null, bool forceLogin = false, bool generateToken = false, CancellationToken cancellationToken = default) { var param = new RegisterByPhoneCodeParam() { Input = new RegisterByPhoneCodeInput() { Phone = phone, Code = code, Password = Encrypt(password), Profile = profile, ForceLogin = forceLogin, GenerateToken = generateToken, } }; var res = await Request<RegisterByPhoneCodeResponse>(param.CreateRequest(), cancellationToken); CurrentUser = res.Result; return res.Result; }
public void Register(bool isTestProfile, string username, string password, string firstName, string lastName, string email, string parentEmail, string languagePreference, string assertedCountry, DateTime?dateOfBirth, IEnumerable <KeyValuePair <IMarketingItem, bool> > marketingAgreements, IEnumerable <ILegalDocument> acceptedLegalDocuments, Action <IRegisterResult> callback) { try { database.ClearServerTimeOffsetMillis(); List <Disney.Mix.SDK.Internal.GuestControllerDomain.MarketingItem> marketing = (from p in marketingAgreements select new Disney.Mix.SDK.Internal.GuestControllerDomain.MarketingItem { code = p.Key.Id, subscribed = p.Value }).ToList(); object obj; if (!dateOfBirth.HasValue) { obj = new BaseRegisterProfile(); } else { RegisterProfile registerProfile = new RegisterProfile(); registerProfile.dateOfBirth = dateOfBirth.Value.ToString("yyyy-MM-dd"); obj = registerProfile; } BaseRegisterProfile baseRegisterProfile = (BaseRegisterProfile)obj; baseRegisterProfile.testProfileFlag = (isTestProfile ? "Y" : "N"); baseRegisterProfile.username = username; baseRegisterProfile.firstName = firstName; baseRegisterProfile.lastName = lastName; baseRegisterProfile.email = email; baseRegisterProfile.parentEmail = parentEmail; baseRegisterProfile.languagePreference = languagePreference; baseRegisterProfile.region = assertedCountry; BaseRegisterProfile profile = baseRegisterProfile; List <string> legalAssertions = (from doc in acceptedLegalDocuments select doc.Id).ToList(); RegisterRequest registerRequest = new RegisterRequest(); registerRequest.password = password; registerRequest.profile = profile; registerRequest.marketing = marketing; registerRequest.legalAssertions = legalAssertions; RegisterRequest request = registerRequest; IGuestControllerClient guestControllerClient = guestControllerClientFactory.Create("NoSwid"); guestControllerClient.Register(request, delegate(GuestControllerResult <LogInResponse> r) { HandleRegisterSuccess(r, marketing, callback); }); } catch (CorruptionException arg) { logger.Fatal("Corruption detected during registration: " + arg); callback(new RegisterCorruptionDetectedResult()); } catch (Exception arg2) { logger.Critical("Unhandled exception: " + arg2); callback(new RegisterResult(success: false, null, null)); } }
/// <summary> /// 通过用户名注册 /// </summary> /// <param name="username">用户名</param> /// <param name="password">密码</param> /// <param name="profile">用户资料</param> /// <param name="forceLogin">强制登录</param> /// <param name="generateToken">自动生成 token</param> /// <param name="cancellationToken"></param> /// <returns>User</returns> public async Task <User> RegisterByUsername( string username, string password, RegisterProfile profile = null, bool forceLogin = false, bool generateToken = false, CancellationToken cancellationToken = default) { var param = new RegisterByUsernameParam( new RegisterByUsernameInput(username, Encrypt(password)) { Profile = profile, ForceLogin = forceLogin, GenerateToken = generateToken, } ); var res = await Request <RegisterByUsernameResponse>(param.CreateRequest(), cancellationToken); User = res.Result; return(res.Result); }