void AddDownloadButton() { if (checkBox1.Checked) { Program.config.DownloadPath = textBox1.Text; Program.config.save(); } if (!Directory.Exists(textBox1.Text)) { MessageBox.Show("下载文件夹不存在!"); return; } if (info.isdir == 1) { Directory.CreateDirectory(textBox1.Text + "\\" + info.getName()); JObject jobj = JObject.Parse(WebTool.GetHtml(string.Format("https://pcs.baidu.com/rest/2.0/pcs/file?method=list&access_token={0}&path={1}", Program.config.Access_Token, info.path))); foreach (JObject job in jobj["list"]) { BaiduPanDownload.Data.FileInfo fileinfo = JsonConvert.DeserializeObject <BaiduPanDownload.Data.FileInfo>(job.ToString()); main.AddDownloadFile(fileinfo, textBox1.Text + "\\" + info.getName(), fileinfo.getName()); } this.Close(); return; } main.AddDownloadFile(info, textBox1.Text, info.getName()); this.Close(); }
void updateFileList(object path) { try { Path_Lab.Text = "当前路径:" + path.ToString().Replace("apps", "我的应用数据"); var jobj = JObject.Parse(WebTool.GetHtml($"https://pcs.baidu.com/rest/2.0/pcs/file?method=list&access_token={Program.config.Access_Token}&path=" + Uri.EscapeDataString($"{path.ToString()}"))); FilelistView.BeginUpdate(); FilelistView.Items.Clear(); Fileinfo.Clear(); foreach (JObject job in jobj["list"]) { DiskFileInfo fileinfo = JsonConvert.DeserializeObject <DiskFileInfo>(job.ToString()); FilelistView.Items.Add(fileinfo.getName()); this.Fileinfo.Add(fileinfo.getName(), fileinfo); if (fileinfo.isdir == 1) { setEndItemImageKey("Dir.png"); } else { setEndItemImageKey(getIconImage(fileinfo.getSuffix())); } } FilelistView.EndUpdate(); } catch (Exception ex) { MessageBox.Show("更新文件列表时遇到意外的错误: " + ex.ToString()); } Info_Lab.Text = "等待中..."; }
private void Main_Load(object sender, EventArgs e) { System.Net.ServicePointManager.DefaultConnectionLimit = 999999; if (!Directory.Exists(Program.config.TempPath)) { Directory.CreateDirectory(Program.config.TempPath); } LoadConfig(); if (Program.config.WebDownload) { new WebDownload().Listen(); } new Thread(Upgraded).Start(); if (Program.config.Access_Token == "null" || Program.config.Access_Token == string.Empty) { return; } try { SpaceInfo info = JsonConvert.DeserializeObject <SpaceInfo>(WebTool.GetHtml("https://pcs.baidu.com/rest/2.0/pcs/quota?method=info&access_token=" + Program.config.Access_Token)); // Used_Lab.Text = string.Format("网盘已使用: {0} / {1} (GB)", (float)info.used / 1024 / 1024 / 1024, (float)info.quota / 1024 / 1024 / 1024); Text = string.Format("已登录账户 [{0}],已使用容量 {1} / {2} (GB)", DiskAPI.GetName(Program.config.Access_Token), (float)info.used / 1024 / 1024 / 1024, (float)info.quota / 1024 / 1024 / 1024); } catch (Exception ex) { LogTool.WriteLogError(typeof(Main), "更新容量信息时出现错误", ex); MessageBox.Show("更新容量信息时出现错误,请尝试重新登录"); return; } DownloadListView.View = View.Details; new Thread(updateFileList).Start(HomePath + Path); }
/// <summary> /// 检查更新 /// </summary> void Upgraded() { try { JObject job = JObject.Parse(WebTool.GetHtml("http://www.mrs4s.top/api/update.json")); if ((int)job["Build"] > 2) { DialogResult dr = MessageBox.Show((string)job["Message"] + "\r\n\r\n是否更新?", "发现更新", MessageBoxButtons.OKCancel); if (dr == DialogResult.OK) { try { System.Diagnostics.Process.Start((string)job["Yes_Button"]); } catch (Exception ex) { MessageBox.Show("调用浏览器失败! " + ex.Message); } } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void button2_Click(object sender, EventArgs e) { if (Program.config.Access_Token == "null" || Program.config.Access_Token == string.Empty) { MessageBox.Show("你还未登录呢"); return; } if (Info_Lab.Text == "正在刷新") { return; } Info_Lab.Text = "正在刷新"; try { SpaceInfo info = JsonConvert.DeserializeObject <SpaceInfo>(WebTool.GetHtml("https://pcs.baidu.com/rest/2.0/pcs/quota?method=info&access_token=" + Program.config.Access_Token)); Used_Lab.Text = string.Format("网盘已使用: {0} / {1} (GB)", (float)info.used / 1024 / 1024 / 1024, (float)info.quota / 1024 / 1024 / 1024); Text = string.Format("已登录账户 [{0}],已使用容量 {1} / {2} (GB)", DiskAPI.GetName(Program.config.Access_Token), (float)info.used / 1024 / 1024 / 1024, (float)info.quota / 1024 / 1024 / 1024); } catch (Exception ex) { LogTool.WriteLogError(typeof(Main), "更新容量信息时出现错误", ex); MessageBox.Show("更新容量信息时出现错误,请尝试重新登录"); return; } new Thread(updateFileList).Start(HomePath + Path); }
private void Main_Load(object sender, EventArgs e) { System.Net.ServicePointManager.DefaultConnectionLimit = 99999; if (Program.config.Access_Token == "null" || Program.config.Access_Token == string.Empty) { return; } SpaceInfo info = JsonConvert.DeserializeObject <SpaceInfo>(WebTool.GetHtml("https://pcs.baidu.com/rest/2.0/pcs/quota?method=info&access_token=" + Program.config.Access_Token)); Used_Lab.Text = string.Format("网盘已使用: {0} / {1} (GB)", (float)info.used / 1024 / 1024 / 1024, (float)info.quota / 1024 / 1024 / 1024); DownloadListView.View = View.Details; new Thread(updateFileList).Start(HomePath + Path); }
private void button2_Click(object sender, EventArgs e) { if (Program.config.Access_Token == "null" || Program.config.Access_Token == string.Empty) { MessageBox.Show("你还未登录呢"); return; } if (Info_Lab.Text == "正在刷新...") { return; } Info_Lab.Text = "正在刷新..."; SpaceInfo info = JsonConvert.DeserializeObject <SpaceInfo>(WebTool.GetHtml("https://pcs.baidu.com/rest/2.0/pcs/quota?method=info&access_token=" + Program.config.Access_Token)); Used_Lab.Text = string.Format("网盘已使用: {0} / {1} (GB)", (float)info.used / 1024 / 1024 / 1024, (float)info.quota / 1024 / 1024 / 1024); new Thread(updateFileList).Start(HomePath + Path); }
private void Create_Button_Click(object sender, EventArgs e) { if (Name_Textbox.Text == string.Empty) { MessageBox.Show("请输入名字!"); return; } if (ContainsStringList(Name_Textbox.Text, new string[] { "\\", "?", "|", "\"", ">", "<", ":", "*", ".", "\r", "\n", "\r\n", " ", "\0", "\x08" })) { MessageBox.Show("文件夹名字存在非法字符!"); return; } if (WebTool.GetHtml(string.Format("https://pcs.baidu.com/rest/2.0/pcs/file?method=mkdir&access_token={0}&path={1}", Program.config.Access_Token, path + "/" + Name_Textbox.Text)).Contains("ERROR")) { MessageBox.Show("创建失败,可能是目录已存在!"); } this.Close(); }
private void 除ToolStripMenuItem_Click(object sender, EventArgs e) { for (int i = 0; i < FilelistView.SelectedIndices.Count; i++) { if (!Fileinfo.ContainsKey(FilelistView.SelectedItems[i].Text)) { MessageBox.Show("出现了未知错误! 请刷新重试"); return; } DiskFileInfo info = Fileinfo[FilelistView.SelectedItems[i].Text]; if (WebTool.GetHtml(string.Format("https://pcs.baidu.com/rest/2.0/pcs/file?method=delete&access_token={0}&path={1}", Program.config.Access_Token, info.path)).Contains("ERROR")) { MessageBox.Show("删除失败"); return; } } new Thread(updateFileList).Start(HomePath + Path); }
public DiskFileInfo[] getFileList() { if (isdir != 1) { return(null); } ArrayList FileList = new ArrayList(); JObject jobj = JObject.Parse(WebTool.GetHtml($"https://pcs.baidu.com/rest/2.0/pcs/file?method=list&access_token={Program.config.Access_Token}&path=" + Uri.EscapeDataString(path))); foreach (JObject job in jobj["list"]) { DiskFileInfo fileinfo = JsonConvert.DeserializeObject <BaiduPanDownload.Data.DiskFileInfo>(job.ToString()); if (fileinfo.isdir == 1) { foreach (DiskFileInfo info in fileinfo.getFileList()) { FileList.Add(info); } continue; } FileList.Add(fileinfo); } return((DiskFileInfo[])FileList.ToArray(typeof(DiskFileInfo))); }