Ejemplo n.º 1
0
 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;
             }
         }
     });
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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生效";
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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();
        }
Ejemplo n.º 8
0
        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);
        }