/// <summary> /// 提前刷新相对应的云的token,如果没过期,直接返旧token /// </summary> /// <param name="cloudid"></param> /// <returns></returns> private static void RefreshCloudToken(Guid cloudid) { var cloudbase = GetCloud(cloudid); if (cloudbase != null) { if (true) //判断是否过期 { string response = ConnectPHP.Instence().RefreToken(cloudbase.Cloud.CloudDriveId, userInfo.UserToken); Dictionary <string, string> dic = JsonConvert.DeserializeObject <Dictionary <string, string> >(response); cloudbase.Cloud.CloudToken = dic["token"].ToString(); cloudbase.Cloud.CloudExpiresAt = dic["expires_at"].ToString(); cloudbase.Cloud.CloudExpiresIn = dic["expires_in"].ToString(); } } }
/// <summary> /// 获取账户下所有云的列表,并创建后放在列表里 /// </summary> public static void GetCouldList() { if (!string.IsNullOrEmpty(userInfo.UserToken)) { try { string response = ConnectPHP.Instence().GetCloudList(userInfo.UserToken); List <DriveList> cloudList = JsonConvert.DeserializeObject <List <DriveList> >(response); GetClouds(cloudList); } catch (Exception e) { Console.WriteLine(e); throw; } } }
/// <summary> /// 向服务器获取自家token /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <returns></returns> public static void Login(string username, string password) { try { Dictionary <string, string> postData = new Dictionary <string, string> { { "email", username }, { "password", password } }; string response = ConnectPHP.Instence().GetUserInfo(postData); Dictionary <string, string> dic = JsonConvert.DeserializeObject <Dictionary <string, string> >(response); userInfo.UserEmail = dic["email"]; userInfo.UserToken = dic["token"]; GetCouldList(); } catch (Exception e) { Console.WriteLine(e); } }