/// <summary> /// 登陆 /// </summary> /// <param name="state"></param> private async void LoginAsync(object state) { if (string.IsNullOrWhiteSpace(PhoneVerifyCode)) { await ShowNotifyAsync("请输入正确的验证码"); } else { try { var loginResult = await OfoApi.LoginAsync(PhoneVerifyCode.Trim()); if (await CheckOfoApiResultHttpStatus(loginResult)) { if (loginResult.IsSuccess) { Global.AppConfig.Token = loginResult.Data.Token; Global.SaveAppConfig(); ClientCookieManager.AddCookies(Global.COOKIE_DOMAIN, $"ofo-tokened={loginResult.Data.Token}"); Global.OfoApi.CurUser.Token = loginResult.Data.Token; await TryNavigateAsync(typeof(MainPage)); } else { await ShowNotifyAsync(loginResult.Message); } } } catch (Exception ex) { Debug.WriteLine(ex); await ShowNotifyAsync($"登陆出现异常:{ex}"); } } }
/// <summary> /// 清理用户相关设置 /// </summary> public static void ClearUserStatus() { try { ClientCookieManager.ClearCookie($"http://{COOKIE_DOMAIN}"); AppConfig.ClearUserStatus(); SaveAppConfig(); } catch (Exception ex) { Debug.WriteLine(ex); } }
public void start() { object cookieSavePath; if (!siteConfig.TryGetValue(SiteConfigConstant.key_cookieSavePath, out cookieSavePath)) { cookieSavePath = "/sdcard/mappingRpc"; } object cookieConnectionName; if (!siteConfig.TryGetValue(SiteConfigConstant.key_cookieConnectionName, out cookieConnectionName)) { Random random = new Random(); cookieConnectionName = random.Next().ToString(); } CookieStoreManager cookieStoreManager = new CookieStoreManager(cookieConnectionName.ToString(), cookieSavePath.ToString()); cookieManager = new ClientCookieManager(cookieStoreManager); cookieManager.start(); makeConnectionInCallerThread(1); }
/// <summary> /// 检查已保存的用户Token /// </summary> /// <returns></returns> private async Task <LoginStatus> CheckSavedUserTokenAsync() { LoginStatus result = LoginStatus.Default; if (!NetworkStatusUtility.IsNetworkAvailable) { await ShowNotifyAsync("无法正常访问网络,请检查网络状态", new TimeSpan(0, 0, 5)); result = LoginStatus.NetWorkFailed; } else { var token = Global.AppConfig.Token; OfoApi.CurUser.Token = token; ClientCookieManager.AddCookies(Global.COOKIE_DOMAIN, $"ofo-tokened={token}"); //验证登录状态 result = await OfoApi.CheckLoginStatus(); } return(result); }