/// <summary> /// 注销后重新登录 /// </summary> public async void Logout() { // 先停止接收,再清空用户信息 PushHandler.StopRecvPush(); // 注销时清空用户信息 Kit.ResetUser(); AtState.DeleteCookie("LoginPhone"); AtState.DeleteCookie("LoginPwd"); await Kit.Stub.OnLogout(); Startup.ShowLogin(false); }
/// <summary> /// 按默认流程启动: /// 1. 更新打开模型库 /// 2. 已登录过,先自动登录 /// 3. 未登录或登录失败时,根据 p_loginFirst 显示登录页或主页 /// </summary> /// <param name="p_loginFirst">是否强制先登录</param> /// <returns></returns> public static async Task Run(bool p_loginFirst) { // 更新打开模型库 if (!await OpenModelDb()) { return; } string phone = AtState.GetCookie("LoginPhone"); string pwd = AtState.GetCookie("LoginPwd"); if (!string.IsNullOrEmpty(phone) && !string.IsNullOrEmpty(pwd)) { // 自动登录 var result = await new UnaryRpc( _svcName, "Entry.LoginByPwd", phone, pwd ).Call <LoginResult>(); // 登录成功 if (result.IsSuc) { Kit.InitUser(result); // 切换到主页 ShowHome(); // 接收服务器推送 PushHandler.Register(); return; } } // 未登录或登录失败 if (p_loginFirst) { // 强制先登录 ShowLogin(false); } else { // 未登录先显示主页 ShowHome(); } }
/// <summary> /// 主动停止接收推送 /// </summary> public static void StopSysPush() { PushHandler.StopRecvPush(); }
/// <summary> /// 注册接收服务器推送 /// </summary> public static void RegisterSysPush() { PushHandler.Register(); }