private void Button_Click(object sender, RoutedEventArgs e) { 更新网络房间列表.IsEnabled = false; 中内容展示.Content = "更新中"; NewThreadTask.Run(runOnLocalThread => { if (MMPU.加载网络房间方法.列表缓存1.Count < 1) { MessageBox.Show("网络缓存同步未完成,请稍后再试"); MMPU.加载网络房间方法.更新网络房间缓存(); return; } runOnLocalThread(() => { NetWorkRoomList.Items.Clear(); foreach (var item in MMPU.加载网络房间方法.列表缓存1) { NetWorkRoomList.Items.Add(new { 编号 = item.编号, 称 = item.称, 官方名称 = item.官方名称, 平台 = item.平台, 账号UID = item.UID, 类型 = item.类型 }); } 中内容展示.Content = ""; 更新网络房间列表.IsEnabled = true; }); }, this); }
private void 播放窗口退出事件(object sender, EventArgs e) { NewThreadTask.Run(() => { MMPU.当前直播窗口数量--; PlayW.MainWindow p = (PlayW.MainWindow)sender; playList1.Remove(p); foreach (var item in MMPU.DownList) { if (item.DownIofo.事件GUID == p.DD.DownIofo.事件GUID) { item.DownIofo.WC.CancelAsync(); item.DownIofo.载状态 = false; item.DownIofo.备注 = "播放串口关闭,停止下载"; item.DownIofo.结束时间 = Convert.ToInt32((DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds); if (item.DownIofo.是否保存) { } else { MMPU.文件删除委托(p.DD.DownIofo.文件保存路径); } break; } } }); }
private void 搜索按钮_Click(object sender, RoutedEventArgs e) { List <MMPU.加载网络房间方法.列表加载缓存> 搜索缓存 = new List <MMPU.加载网络房间方法.列表加载缓存>(); string 搜索内容 = 搜索栏.Text; if (!string.IsNullOrEmpty(搜索内容)) { int B = 1; foreach (var item in MMPU.加载网络房间方法.列表缓存1) { if (item.称.Contains(搜索内容) || item.官方名称.Contains(搜索内容) || item.UID.Contains(搜索内容)) { 搜索缓存.Add(new MMPU.加载网络房间方法.列表加载缓存 { 编号 = B, 称 = item.称, 官方名称 = item.官方名称, 平台 = item.平台, UID = item.UID, 类型 = item.类型 }); B++; } } } else { MessageBox.Show("请输入搜索内容"); return; } NewThreadTask.Run(runOnLocalThread => { if (搜索缓存.Count < 1) { MessageBox.Show("云端数据中没有满足条件的数据"); return; } runOnLocalThread(() => { NetWorkRoomList.Items.Clear(); foreach (var item in 搜索缓存) { NetWorkRoomList.Items.Add(new { 编号 = item.编号, 称 = item.称, 官方名称 = item.官方名称, 平台 = item.平台, 账号UID = item.UID, 类型 = item.类型 }); } 中内容展示.Content = ""; 更新网络房间列表.IsEnabled = true; }); }, this); }
private void 监控非VTB直播间使能按钮开关点击事件(object sender, RoutedEventArgs e) { if (监控非VTB直播间使能按钮.IsChecked == true) { NewThreadTask.Run(() => { 持续连接获取阿B房间信息类.初始化所有房间连接(); }); bilibili.是否启动WS连接组 = true; MMPU.setFiles("NotVTBStatus", "1"); } else { //bilibili.是否启动WS连接组 = false; //MMPU.setFiles("NotVTBStatus", "0"); } 提示.Content = "监控非VTB直播间状态使能发生变化,需手动重启DDTV生效"; }
public 载工具() { InitializeComponent(); NewThreadTask.Loop(runOnLocalThread => { //更新下载队列 int i = 1; runOnLocalThread(() => DownList.Items.Clear()); try { foreach (var item in Auxiliary.MMPU.DownList) { runOnLocalThread(() => { DownList.Items.Add(new { 编号 = i, 唯一码 = item.DownIofo.房间_频道号, 称 = item.DownIofo.标题, 状态 = item.DownIofo.结束时间 > 0 ? "下载结束" : "下载中", 备注 = item.DownIofo.备注, 平台 = item.DownIofo.平台, 已下载 = item.DownIofo.已下载大小str, 开始时间 = Auxiliary.MMPU.Unix转换为DateTime( item.DownIofo.开始时间.ToString() ).ToString("yyyy-MM-dd HH:mm:ss"), 结束时间 = item.DownIofo.结束时间 > 0 ? Auxiliary.MMPU.Unix转换为DateTime( item.DownIofo.结束时间.ToString() ).ToString("yyyy-MM-dd HH:mm:ss") : "", 保存地址 = item.DownIofo.文件保存路径 }); }); i++; } } catch (Exception) { } }, this, 1 * 1000); }
public static void 导入VTBVUP(Action <string> callback, System.Windows.Window W, bool 是否初始化) { NewThreadTask.Run(runOnLocalThread => { try { if (string.IsNullOrEmpty(MMPU.Cookie)) { callback("未登录,请先登录"); return; } MMPU.加载网络房间方法.更新网络房间缓存(); MMPU.加载网络房间方法.是否正在缓存 = true; while (MMPU.加载网络房间方法.是否正在缓存) { Thread.Sleep(500); } if (是否初始化) { RoomInit.RoomConfigFile = MMPU.读取exe默认配置文件("RoomConfiguration", "./RoomListConfig.json"); RoomInit.InitializeRoomConfigFile(); RoomInit.InitializeRoomList(0, false, false); } int 增加的数量 = 0; int 已经存在的数量 = 0; RoomBox rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile)); RoomBox RB = new RoomBox { data = new List <RoomCadr>() }; if (rlc.data != null) { foreach (var item in rlc.data) { RB.data.Add(item); } } List <MMPU.加载网络房间方法.中的网络房间> 符合条件的房间 = new List <MMPU.加载网络房间方法.中的网络房间>(); JObject BB = bilibili.根据UID获取关注列表(MMPU.UID); foreach (var 账号关注数据 in BB["data"]) { foreach (var 网络房间数据 in MMPU.加载网络房间方法.列表缓存1) { if (账号关注数据["UID"].ToString() == 网络房间数据.UID) { 符合条件的房间.Add(new MMPU.加载网络房间方法.中的网络房间() { UID = 网络房间数据.UID, 称 = 网络房间数据.称, 官方名称 = 网络房间数据.官方名称, 平台 = 网络房间数据.平台, 房间号 = 网络房间数据.roomId, 编号 = 0 }); break; } } } foreach (var 符合条件的 in 符合条件的房间) { bool BF = false; if (!string.IsNullOrEmpty(符合条件的.UID)) { string 房间号 = string.Empty; if (string.IsNullOrEmpty(符合条件的.房间号)) { BF = true; 房间号 = bilibili.通过UID获取房间号(符合条件的.UID); 符合条件的.房间号 = 房间号; } else { 房间号 = 符合条件的.房间号; } bool 是否已经存在 = false; foreach (var item in bilibili.RoomList) { if (item.房间号 == 房间号) { 是否已经存在 = true; break; } } if (!是否已经存在 && !string.IsNullOrEmpty(房间号.Trim('0'))) { 增加的数量++; long UIDD = 0; try { UIDD = long.Parse(符合条件的.UID); } catch (Exception) {} RB.data.Add(new RoomCadr { Name = 符合条件的.称, RoomNumber = 符合条件的.房间号, Types = 符合条件的.平台, RemindStatus = false, status = false, VideoStatus = false, OfficialName = 符合条件的.官方名称, LiveStatus = false, UID = UIDD }); } else { 已经存在的数量++; } } if (BF) { Thread.Sleep(200); } } string JOO = JsonConvert.SerializeObject(RB); MMPU.储存文本(JOO, RoomConfigFile); InitializeRoomList(0, false, false); runOnLocalThread(() => { callback("导入成功!原有:" + 已经存在的数量 + "个,新增VTB/VUP数:" + 增加的数量); }); } catch (Exception E) { ; } }, W); }
private void BT1_Click(object sender, RoutedEventArgs e) { try { if (string.IsNullOrEmpty(平台.SelectedItem.ToString())) { MessageBox.Show("未选择平台"); return; } } catch (Exception) { MessageBox.Show("未选择平台"); return; } if (string.IsNullOrEmpty(中文名称.Text) || string.IsNullOrEmpty(平台.SelectedItem.ToString()) || string.IsNullOrEmpty(唯一码.Text)) { MessageBox.Show("不能留空"); return; } if (this.Title == "添加新单推" || this.Title == "从网络添加房间") { if (平台.SelectedItem.ToString() == "bilibili") { foreach (var item in RoomInit.bilibili房间主表) { if (item.唯一码 == 唯一码.Text) { MessageBox.Show("已存在相同的房间号!\n" + item.称 + " " + item.平台 + " " + item.唯一码); return; } } } else if (平台.SelectedItem.ToString() == "youtube") { foreach (var item in RoomInit.youtube房间主表) { if (item.唯一码 == 唯一码.Text) { MessageBox.Show("已存在相同的房间号!\n" + item.称 + " " + item.平台 + " " + item.唯一码); return; } } } 新增V信息 NEWV = new 新增V信息() { CN_Name = 中文名称.Text, LA_Name = 官方名称.Text, Platform = 平台.SelectedItem.ToString(), GUID = 唯一码.Text }; NewThreadTask.Run(() => { MMPU.TcpSend(Server.RequestCode.GET_NEW_MEMBER_LIST_CONTENT, JsonConvert.SerializeObject(NEWV), true); }); RoomBox rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile)); RoomBox RB = new RoomBox(); RB.data = new List <RoomCadr>(); if (rlc.data != null) { foreach (var item in rlc.data) { RB.data.Add(item); if (RoomInit.根据唯一码获取直播状态(item.RoomNumber)) { RB.data[RB.data.Count() - 1].LiveStatus = true; } } } RB.data.Add(new RoomCadr { Name = 中文名称.Text, RoomNumber = 唯一码.Text, Types = 平台.SelectedItem.ToString(), RemindStatus = false, status = false, VideoStatus = false, OfficialName = 官方名称.Text, LiveStatus = RoomInit.根据唯一码获取直播状态(GUID) }); string JOO = JsonConvert.SerializeObject(RB); MMPU.储存文本(JOO, RoomConfigFile); if (平台.SelectedItem.ToString() == "bilibili") { InitializeRoomList(int.Parse(唯一码.Text), false, false); } else { InitializeRoomList(0, false, false); } //更新房间列表(平台.SelectedItem.ToString(), 唯一码.Text,1); //MessageBox.Show("添加成功"); } else if (this.Title == "修改单推属性") { 新增V信息 NEWV = new 新增V信息() { CN_Name = 中文名称.Text, LA_Name = 官方名称.Text, Platform = 平台.SelectedItem.ToString(), GUID = 唯一码.Text }; NewThreadTask.Run(() => { MMPU.TcpSend(Server.RequestCode.GET_NEW_MEMBER_LIST_CONTENT, JsonConvert.SerializeObject(NEWV), true); }); RoomBox rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile)); RoomBox RB = new RoomBox(); RB.data = new List <RoomCadr>(); if (rlc.data != null) { foreach (var item in rlc.data) { if (item.RoomNumber == GUID) { RB.data.Add(item); RB.data[RB.data.Count - 1].Name = 中文名称.Text; RB.data[RB.data.Count - 1].OfficialName = 官方名称.Text; RB.data[RB.data.Count - 1].Types = 平台.SelectedItem.ToString(); } else { RB.data.Add(item); if (RoomInit.根据唯一码获取直播状态(item.RoomNumber)) { RB.data[RB.data.Count() - 1].LiveStatus = true; } } } } string JOO = JsonConvert.SerializeObject(RB); MMPU.储存文本(JOO, RoomConfigFile); InitializeRoomList(0, false, false); //var rlc2 = JsonConvert.DeserializeObject<RoomBox>(ReadConfigFile(RoomConfigFile)); //RoomBox RB = new RoomBox(); //RB.data = new List<RoomCadr>(); //int rlclen = 房间主表.Count()-1; //int 覆盖的编号 = 0; //for (int i =0;i< rlclen; i++) //{ // if(房间主表[i].唯一码==GUID) // { // 覆盖的编号 = i; // //房间主表.Remove(房间主表[i]); // //i--; // RB.data.Add(new RoomCadr { Name = 中文名称.Text, RoomNumber = 唯一码.Text, Types = 平台.SelectedItem.ToString(), RemindStatus = false, status = false, VideoStatus = false, OfficialName = 官方名称.Text,LiveStatus= RoomInit.根据唯一码获取直播状态(GUID) }); // } // else // { // RB.data.Add(new RoomCadr(){ LiveStatus= 房间主表[i] .直播状态,Name= 房间主表[i] .名称,OfficialName= 房间主表[i] .原名,RoomNumber= 房间主表[i] .唯一码,VideoStatus= 房间主表[i] .是否录制,Types= 房间主表[i] .平台, RemindStatus= 房间主表[i] .是否提醒,status=false }); // if (RoomInit.根据唯一码获取直播状态(房间主表[i].唯一码)) // { // RB.data[RB.data.Count() - 1].LiveStatus = true; // } // } //} //房间主表.Clear(); //foreach (var item in RB.data) //{ // 房间主表.Add(new RL { 名称=item.Name,原名=item.OfficialName,唯一码=item.RoomNumber,平台=item.Types,是否录制=item.VideoStatus,是否提醒=item.RemindStatus,直播状态=item.LiveStatus}); //} //新增V信息 NEWV = new 新增V信息() { CN_Name = 中文名称.Text, LA_Name = 官方名称.Text, Platform = 平台.SelectedItem.ToString(), GUID = 唯一码.Text }; //new Task(() => { MMPU.TcpSend(20001, JsonConvert.SerializeObject(NEWV), true); }).Start(); //string JOO = JsonConvert.SerializeObject(RB); //MMPU.储存文本(JOO, RoomConfigFile); //InitializeRoomList(); ////MessageBox.Show("修改成功"); } this.Close(); }
private void 导入VTBVUP(Action <int, int> callback) { NewThreadTask.Run(runOnLocalThread => { runOnLocalThread(() => 导入VTBVUP提示文本.Text = "正在加载房间列表数据,该过程耗时较长,请耐心等待……"); MMPU.加载网络房间方法.更新网络房间缓存(); MMPU.加载网络房间方法.是否正在缓存 = true; while (MMPU.加载网络房间方法.是否正在缓存) { Thread.Sleep(500); } runOnLocalThread(() => 导入VTBVUP提示文本.Text = "正在导入关注列表里符合的VTB/VUP数据,请稍候……"); int 增加的数量 = 0; int 已经存在的数量 = 0; RoomInit.RoomConfigFile = MMPU.读取exe默认配置文件("RoomConfiguration", "./RoomListConfig.json"); RoomInit.InitializeRoomConfigFile(); RoomInit.InitializeRoomList(0, false, false); RoomBox rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile)); RoomBox RB = new RoomBox { data = new List <RoomCadr>() }; if (rlc.data != null) { foreach (var item in rlc.data) { RB.data.Add(item); } } List <MMPU.加载网络房间方法.中的网络房间> 符合条件的房间 = new List <MMPU.加载网络房间方法.中的网络房间>(); JObject BB = bilibili.根据UID获取关注列表(MMPU.UID); foreach (var 账号关注数据 in BB["data"]) { foreach (var 网络房间数据 in MMPU.加载网络房间方法.列表缓存1) { if (账号关注数据["UID"].ToString() == 网络房间数据.UID) { 符合条件的房间.Add(new MMPU.加载网络房间方法.中的网络房间() { UID = 网络房间数据.UID, 称 = 网络房间数据.称, 官方名称 = 网络房间数据.官方名称, 平台 = 网络房间数据.平台, 房间号 = null, 编号 = 0 }); break; } } } foreach (var 符合条件的 in 符合条件的房间) { if (!string.IsNullOrEmpty(符合条件的.UID)) { string 房间号 = bilibili.通过UID获取房间号(符合条件的.UID); 符合条件的.房间号 = 房间号; bool 是否已经存在 = false; foreach (var item in bilibili.RoomList) { if (item.房间号 == 房间号) { 是否已经存在 = true; break; } } if (!是否已经存在 && !string.IsNullOrEmpty(房间号.Trim('0'))) { 增加的数量++; RB.data.Add(new RoomCadr { Name = 符合条件的.称, RoomNumber = 符合条件的.房间号, Types = 符合条件的.平台, RemindStatus = false, status = false, VideoStatus = false, OfficialName = 符合条件的.官方名称, LiveStatus = false }); } else { 已经存在的数量++; } } Thread.Sleep(100); } string JOO = JsonConvert.SerializeObject(RB); MMPU.储存文本(JOO, RoomConfigFile); InitializeRoomList(0, false, false); _已导入 = true; runOnLocalThread(() => { callback(增加的数量, 已经存在的数量); }); }, this); }