public static object loginByEmail() { return(new ThunkAction <AppState>((dispatcher, getState) => { var email = getState().loginState.email; var password = getState().loginState.password; return LoginApi.LoginByEmail(email, password) .Then(loginInfo => { var user = new User { id = loginInfo.userId, fullName = loginInfo.userFullName, avatar = loginInfo.userAvatar, title = loginInfo.title, coverImage = loginInfo.coverImageWithCDN }; var dict = new Dictionary <string, User> { { user.id, user } }; dispatcher.dispatch(new UserMapAction { userMap = dict }); dispatcher.dispatch(new LoginByEmailSuccessAction { loginInfo = loginInfo }); dispatcher.dispatch(new MainNavigatorPopAction()); dispatcher.dispatch(new CleanEmailAndPasswordAction()); UserInfoManager.saveUserInfo(loginInfo); AnalyticsManager.LoginEvent("email"); AnalyticsManager.AnalyticsLogin("email", loginInfo.userId); JPushPlugin.setJPushAlias(loginInfo.userId); }); })); }
public static object loginByEmail() { return(new ThunkAction <AppState>((dispatcher, getState) => { var email = getState().loginState.email; var password = getState().loginState.password; return LoginApi.LoginByEmail(email: email, password: password) .Then(loginInfo => { var user = new User { id = loginInfo.userId, fullName = loginInfo.userFullName, avatar = loginInfo.userAvatar, title = loginInfo.title, coverImage = loginInfo.coverImageWithCDN }; var dict = new Dictionary <string, User> { { user.id, user } }; dispatcher.dispatch(new UserMapAction { userMap = dict }); dispatcher.dispatch(new LoginByEmailSuccessAction { loginInfo = loginInfo }); dispatcher.dispatch(fetchChannels(1)); dispatcher.dispatch(fetchCreateChannelFilter()); dispatcher.dispatch <IPromise>(fetchUserProfile(loginInfo.userId)); dispatcher.dispatch(new CleanEmailAndPasswordAction()); UserInfoManager.saveUserInfo(loginInfo); AnalyticsManager.LoginEvent("email"); AnalyticsManager.AnalyticsLogin("email", loginInfo.userId); JPushPlugin.setJPushAlias(loginInfo.userId); BuglyAgent.SetUserId(loginInfo.userId); EventBus.publish(sName: EventBusConstant.login_success, new List <object> { loginInfo.userId }); dispatcher.dispatch(new MainNavigatorPopAction()); }) .Catch(error => { dispatcher.dispatch(new LoginByEmailFailureAction()); Debuger.LogError(message: error); var customSnackBar = new CustomSnackBar( "登录失败,请重试。" ); customSnackBar.show(); }); })); }