Beispiel #1
0
 public void GoLogin()
 {
     if ((tc.user_name != "" && NameBox.IsAlphanumeric(tc.user_name)) && tc.room_no > 0 && tc.room_no <= 500 && p)
     {
         p    = false;
         tc.p = false;
         Debug.Log("ログインします");
         Dictionary <string, string> post = new Dictionary <string, string> {
             { "name", tc.user_name }, { "room_no", tc.room_no.ToString() }
         };
         WWWForm form = new WWWForm();
         foreach (KeyValuePair <string, string> post_arg in post)
         {
             form.AddField(post_arg.Key, post_arg.Value);
         }
         string url = "http://192.168.3.83:" + tc.port.ToString() + "/users/login";
         WWW    www = new WWW(url, form);
         StartCoroutine(WaitForRequest(www));
     }
     else if (p)
     {
         Debug.Log("ログインできません");
         RoomBox.check(tc.room_no);
         NameBox.check(tc.user_name);
     }
 }
 private async Task LoadRoomsForBuilding(int buildingId)
 {
     RoomBox.ClearValue(ItemsControl.ItemsSourceProperty);
     RoomBox.DisplayMemberPath = "Code";
     RoomBox.SelectedValuePath = "RoomID";
     RoomBox.ItemsSource = await roomCore.GetRoomsForBuildingAsync(buildingId);
 }
Beispiel #3
0
    public void OnMatchList(bool success, string extendedInfo, List <MatchInfoSnapshot> matches)
    {
        status.text = "Room Found";
        if (matches == null)
        {
            status.text = "No rooms...";
            return;
        }

        foreach (MatchInfoSnapshot match in matches)
        {
            GameObject roomBoxgo = Instantiate(roomBoxPre);
            roomBoxgo.transform.SetParent(roomListParent);
            roomBoxgo.transform.localScale = transform.localScale;
            RoomBox roomBoxx = roomBoxgo.GetComponent <RoomBox>();
            if (roomBoxx != null)
            {
                roomBoxx.Setup(match, JoinRoom);
            }

            roomList.Add(roomBoxgo);
        }
        if (roomList.Count == 0)
        {
            status.text = "No rooms here!";
        }
    }
 private static void InitRoomRoom(Room room)
 {
     RoomBox   = room.GetBoundingBox(Doc);
     RoomEdges = room.GetEdgeList();
     RowNum    = 1;
     InsBox    = RoomBox.GetInsBox(PickBox);
     InsEdges  = InsBox.GetPlaneEdges();
 }
 private async Task LoadBuildings()
 {
     BuildingBox.ClearValue(ItemsControl.ItemsSourceProperty);
     BuildingBox.DisplayMemberPath = "Name";
     BuildingBox.SelectedValuePath = "BuildingID";
     BuildingBox.ItemsSource = await roomCore.GetAssignedBuildingsForConferenceAsync(UserCredentials.Conference.ConferenceId);
     RoomBox.ClearValue(ItemsControl.ItemsSourceProperty);
 }
Beispiel #6
0
        public void SaveRoomInfo()
        {
            RoomBox RB = new RoomBox()
            {
                data = Roomlist
            };                                             //房间信息

            MMPU.SaveFile(MMPU.RoomConfigFile, JsonConvert.SerializeObject(RB));
        }
Beispiel #7
0
        public void SaveRoomInfo()
        {
            RoomBox RB = new RoomBox()
            {
                data = Roomlist
            };                                          //房间信息

            MMPU.SaveFile("./RoomListConfig.ini", JsonConvert.SerializeObject(RB));
        }
Beispiel #8
0
    public bool AddNewPlayerToRoom(RoomBox.PlayersID player, int connectionId, Room room)
    {
        RoomBox roomBox = GetRoomBoxFromRoom(room);

        if (roomBox != null)
        {
            roomBox.AddPlayer(player, connectionId);
            UpdateGUI(roomBox);
            return(true);
        }
        return(false);
    }
Beispiel #9
0
    private void UpdateGUI(RoomBox room)
    {
        GameObject box     = GameObject.Find("ResetButtonText" + room.boxId);
        Text       boxText = box.GetComponent <Text>();

        boxText.text = "RESET" + room.boxId + "\n";
        foreach (RoomBox.PlayersID player in room.currentPlayers.Values)
        {
            boxText.text += player.ToString()[0] + " ";
        }
        //TODO: Hacer que se muestre el room
    }
Beispiel #10
0
    public bool DeletePlayerFromRoom(int connectionId, Room room)
    {
        RoomBox roomBox = GetRoomBoxFromRoom(room);

        if (roomBox != null)
        {
            //occupiedRooms[roomBox.boxId] = false;
            roomBox.DeletePlayer(connectionId);
            UpdateGUI(roomBox);
            return(true);
        }
        return(false);
    }
Beispiel #11
0
    public void AddNewRoom(Room room)
    {
        if (activeRooms > maxRooms)
        {
            Debug.LogError("No es posible mostrar mas de 15 rooms en la interfaz. Se intentó agregar room numero " + activeRooms);
            //TODO: LLevar la cuenta de los rooms a nivel de servidor para que no puedan existir más de maxNumber.
        }
        int id = room.id;

        activeRooms++;
        RoomBox newRoom = new RoomBox(id, GetFreePosition(), room);

        roomBoxs.Add(newRoom);
        UpdateGUI(newRoom);
    }
Beispiel #12
0
        private async Task LoadBuildings()
        {
            BuildingBox.ClearValue(ItemsControl.ItemsSourceProperty);
            BuildingBox.DisplayMemberPath = "Name";
            BuildingBox.SelectedValuePath = "BuildingID";
            BuildingBox.ItemsSource       = await roomCore.GetAssignedBuildingsForConferenceAsync(UserCredentials.Conference.ConferenceId);

            if (RoomBox.SelectedIndex >= 0)
            {
                lastSelectedRoom = (RoomDTO)RoomBox.SelectedItem;
            }
            RoomBox.ClearValue(ItemsControl.ItemsSourceProperty);
            if (lastSelectedRoom != null)
            {
                BuildingBox.SelectedValue = lastSelectedRoom.BuildingID;
            }
        }
Beispiel #13
0
        /// <summary>
        /// 初始化房间列表
        /// </summary>
        public static void InitializeRoomList()
        {
            var rlc = new RoomBox();

            rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile));
            List <RoomCadr> RoomConfigList = new List <RoomCadr>();//房间信息1List

            RoomConfigList = rlc?.data;
            if (RoomConfigList == null)
            {
                RoomConfigList = new List <RoomCadr>();
            }
            bilibili.RoomList.Clear();
            if (初始化储存房间储存一次)
            {
                string JOO = JsonConvert.SerializeObject(rlc);
                MMPU.储存文本(JOO, RoomConfigFile);
                初始化储存房间储存一次 = false;
            }

            foreach (var item in RoomConfigList)
            {
                if (item.Types == "bilibili")
                {
                    bilibili.RoomList.Add(new bilibili.RoomInfo
                    {
                        房间号    = item.RoomNumber,
                        标题     = "",
                        是否录制弹幕 = item.VideoStatus,
                        是否录制视频 = item.VideoStatus,
                        UID    = "",
                        直播开始时间 = "",
                        称      = item.Name,
                        直播状态   = item.LiveStatus,
                        原名     = item.OfficialName,
                        是否提醒   = item.RemindStatus
                    });
                    if (首次启动)
                    {
                        bilibili.RoomList[bilibili.RoomList.Count() - 1].直播状态 = false;
                    }
                }
            }
            首次启动 = false;
        }
Beispiel #14
0
 private void checkBox1_CheckedChanged(object sender, EventArgs e)
 {
     if (checkBox1.Checked)
     {
         RoomBox.Hide();
         RoomCombo.Show();
         RoomCombo.DataSource    = WindowHandler.controllerObj.ViewConsoles();
         RoomCombo.DisplayMember = "room_no";
         AddConsoleBTN.Text      = "Update";
         InsertGroup.Text        = "Update Console";
     }
     else
     {
         RoomBox.Show();
         RoomCombo.Hide();
         AddConsoleBTN.Text = "Add";
         InsertGroup.Text   = "Add Console";
     }
 }
Beispiel #15
0
        private async Task LoadAvailableRooms()
        {
            if (RoomBox.SelectedIndex >= 0)
            {
                lastSelectedRoom = (RoomDTO)RoomBox.SelectedItem;
            }
            RoomBox.ClearValue(ItemsControl.ItemsSourceProperty);
            RoomBox.DisplayMemberPath = "Code";
            RoomBox.SelectedValuePath = "RoomID";
            var roomId = currentSession == null ? (currentSpecialSession == null ? 0 : currentSpecialSession.RoomId) : currentSession.RoomId;

            if (BeginDatePicker.SelectedDate.HasValue && EndDatePicker.SelectedDate.HasValue && BuildingBox.SelectedIndex >= 0)
            {
                RoomBox.ItemsSource = await roomCore.GetAvailableRoomsAsync(((BuildingDTO)BuildingBox.SelectedItem).BuildingID,
                                                                            BeginDatePicker.SelectedDate.Value, EndDatePicker.SelectedDate.Value, roomId);
            }
            if (lastSelectedRoom != null)
            {
                RoomBox.SelectedValue = lastSelectedRoom.RoomID;
            }
        }
Beispiel #16
0
        /// <summary>
        /// 初始化房间列表
        /// </summary>
        /// <param name="roomId">有变动的房间号</param>
        /// <param name="R">是否是删除操作</param>
        public static void InitializeRoomList(int roomId, bool Rem, bool Rst)
        {
            //if(Rst)
            //{
            //    首次启动 = true;
            //    foreach (var BWSitem in biliWebSocket)
            //    {
            //        BWSitem.listener.Close();
            //        BWSitem.listener.Dispose();
            //        biliWebSocket.Remove(BWSitem);
            //    }
            //}
            //if (roomId > 0)
            //{
            //    if(!Rem)
            //    {
            //        BiliWebSocket BWS = new BiliWebSocket();
            //        BWS.WebSocket(roomId);
            //        biliWebSocket.Add(BWS);
            //    }
            //    else
            //    {
            //        foreach (var item in biliWebSocket)
            //        {
            //            if(item.room_id==roomId)
            //            {
            //                item.listener.Close();
            //                item.listener.Dispose();
            //                biliWebSocket.Remove(item);
            //                break;
            //            }
            //        }
            //    }
            //}
            InfoLog.InfoPrintf("开始刷新本地房间列表", InfoLog.InfoClass.Debug);
            var rlc = new RoomBox();

            try
            {
                rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile));
            }
            catch (Exception)
            {
                rlc = JsonConvert.DeserializeObject <RoomBox>("{}");
                InfoLog.InfoPrintf("房间json配置文件格式错误!请检测核对!", InfoLog.InfoClass.系统错误信息);
                InfoLog.InfoPrintf("房间json配置文件格式错误!请检测核对!", InfoLog.InfoClass.系统错误信息);
                InfoLog.InfoPrintf("房间json配置文件格式错误!请检测核对!", InfoLog.InfoClass.系统错误信息);
                return;
            }
            List <RoomCadr> RoomConfigList = new List <RoomCadr>();//房间信息1List

            RoomConfigList = rlc?.data;
            if (RoomConfigList == null)
            {
                RoomConfigList = new List <RoomCadr>();
            }
            bilibili.RoomList.Clear();
            youtube.RoomList.Clear();
            if (初始化储存房间储存一次)
            {
                string JOO = JsonConvert.SerializeObject(rlc);
                MMPU.储存文本(JOO, RoomConfigFile);
                初始化储存房间储存一次 = false;
            }

            foreach (var item in RoomConfigList)
            {
                if (item.Types == "bilibili")
                {
                    //if(首次启动)
                    //{

                    //    BiliWebSocket BWS = new BiliWebSocket();
                    //    BWS.WebSocket(int.Parse(item.RoomNumber));
                    //    biliWebSocket.Add(BWS);
                    //}
                    bilibili.RoomList.Add(new RoomInfo
                    {
                        房间号    = item.RoomNumber,
                        标题     = "",
                        是否录制弹幕 = item.VideoStatus,
                        是否录制视频 = item.VideoStatus,
                        UID    = "",
                        直播开始时间 = "",
                        称      = item.Name,
                        直播状态   = item.LiveStatus,
                        原名     = item.OfficialName,
                        是否提醒   = item.RemindStatus,
                        平台     = "bilibili"
                    });
                    if (首次启动)
                    {
                        bilibili.RoomList[bilibili.RoomList.Count - 1].直播状态 = false;
                    }
                }
                else if (item.Types == "youtube")
                {
                    youtube.RoomList.Add(new RoomInfo
                    {
                        房间号    = item.RoomNumber,
                        标题     = "",
                        是否录制弹幕 = item.VideoStatus,
                        是否录制视频 = item.VideoStatus,
                        UID    = "",
                        直播开始时间 = "",
                        称      = item.Name,
                        直播状态   = item.LiveStatus,
                        原名     = item.OfficialName,
                        是否提醒   = item.RemindStatus,
                        平台     = "youtube"
                    });
                    if (首次启动)
                    {
                        youtube.RoomList[youtube.RoomList.Count - 1].直播状态 = false;
                    }
                }
            }
            if (首次启动)
            {
                InfoLog.InfoPrintf("监控列表中有" + (bilibili.RoomList.Count() + youtube.RoomList.Count()) + "个单推对象,开始监控", InfoLog.InfoClass.载必要提示);
            }
            首次启动 = false;
            InfoLog.InfoPrintf("刷新本地房间列表完成", InfoLog.InfoClass.Debug);
        }
Beispiel #17
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();
        }
Beispiel #18
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="a">T修改录制设置,F修改提醒设置</param>
        public void 修改列表设置(bool a)
        {
            Console.WriteLine(已选内容);
            bool 是否改过 = false;

            if (string.IsNullOrEmpty(已选内容))
            {
                System.Windows.MessageBox.Show("未选择");
                return;
            }
            //编号 = 1, 名称 = 智障爱, 状态 = ○未直播, 平台 = bilibili, 是否提醒 = √, 是否录制 = , 唯一码 = 1485080, 原名 =
            等待框.Visibility = Visibility.Visible;
            RoomBox RB = new RoomBox
            {
                data = new List <RoomCadr>()
            };

            while (RoomInit.房间主表长度 != 房间主表.Count() && RoomInit.房间主表长度 != 0)
            {
                Thread.Sleep(10);
            }
            int rlclen = 房间主表.Count();

            for (int i = 0; i < rlclen; i++)
            {
                if (房间主表[i].唯一码 == MMPU.获取livelist平台和唯一码.唯一码(已选内容))
                {
                    if (!是否改过)
                    {
                        是否改过 = true;

                        房间主表.Remove(房间主表[i]);
                        rlclen--;
                        i--;
                        bool 是否录制 = MMPU.获取livelist平台和唯一码.是否录制(已选内容) == "√" ? true : false;
                        bool 是否提醒 = MMPU.获取livelist平台和唯一码.是否提醒(已选内容) == "√" ? true : false;
                        if (a)
                        {
                            是否录制 = !是否录制;
                            if (是否录制)
                            {
                                已选内容 = 已选内容.Replace("是否录制 = ", "是否录制 = √");
                            }
                            else
                            {
                                已选内容 = 已选内容.Replace("是否录制 = √", "是否录制 = ");
                            }
                        }
                        else
                        {
                            是否提醒 = !是否提醒;
                            if (是否提醒)
                            {
                                已选内容 = 已选内容.Replace("是否提醒 = ", "是否提醒 = √");
                            }
                            else
                            {
                                已选内容 = 已选内容.Replace("是否提醒 = √", "是否提醒 = ");
                            }
                        }

                        RB.data.Add(new RoomCadr
                        {
                            Name         = MMPU.获取livelist平台和唯一码.称(已选内容),
                            RoomNumber   = MMPU.获取livelist平台和唯一码.唯一码(已选内容),
                            Types        = MMPU.获取livelist平台和唯一码.平台(已选内容),
                            RemindStatus = 是否提醒,
                            status       = MMPU.获取livelist平台和唯一码.状态(已选内容) == "●直播中" ? true : false,
                            VideoStatus  = 是否录制,
                            OfficialName = MMPU.获取livelist平台和唯一码.原名(已选内容),
                            LiveStatus   = MMPU.获取livelist平台和唯一码.状态(已选内容) == "●直播中" ? true : false
                        });
                    }
                }
                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;
                    }
                }
            }
            string JOO = JsonConvert.SerializeObject(RB);

            MMPU.储存文本(JOO, RoomConfigFile);
            InitializeRoomList();
            //更新房间列表(平台.SelectedItem.ToString(), 唯一码.Text,2);
            //System.Windows.MessageBox.Show("修改成功");
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(称.Text) || string.IsNullOrEmpty(唯一码.Text))
            {
                提示.Content = "名称或唯一码不能为空!";
            }
            else
            {
                int roomId = 0;
                try
                {
                    roomId = int.Parse(唯一码.Text);

                    string roomDD = bilibili.根据房间号获取房间信息.获取真实房间号(roomId.ToString());
                    if (!string.IsNullOrEmpty(roomDD))
                    {
                        roomId = int.Parse(roomDD);
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("输入的直播间房间号不符合房间号规则(数字)");
                    return;
                }
                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)
                    {
                        if (item.RoomNumber == 唯一码.Text)
                        {
                            提示.Content = "配置文件中已有改房间号存在!";
                            return;
                        }
                        RB.data.Add(item);
                    }
                }
                long UID = 0;
                if (DataCache.读缓存(DataCache.缓存头.通过房间号获取UID + roomId, 0, out string GETUID))
                {
                    try
                    {
                        UID = long.Parse(GETUID);
                    }
                    catch (Exception) {}
                }
                if (UID < 1)
                {
                    try
                    {
                        UID = long.Parse(bilibili.根据房间号获取房间信息.通过房间号获取UID(roomId.ToString()));
                    }
                    catch (Exception) {}
                }

                RB.data.Add(new RoomCadr()
                {
                    Name = 称.Text, OfficialName = 称.Text, RoomNumber = roomId.ToString(), UID = UID
                });
                string JOO = JsonConvert.SerializeObject(RB);
                MMPU.储存文本(JOO, RoomConfigFile);
                提示.Content = 称.Text + "[" + 唯一码.Text + "]添加完成";
                bilibili.已连接的直播间状态.Add(new 直播间状态()
                {
                    房间号 = roomId
                });

                bilibili.RoomList.Add(new RoomInfo
                {
                    房间号    = roomId.ToString(),
                    标题     = "",
                    是否录制弹幕 = false,
                    是否录制视频 = false,
                    UID    = UID.ToString(),
                    直播开始时间 = "",
                    称      = 称.Text,
                    直播状态   = false,
                    原名     = 称.Text,
                    是否提醒   = false,
                    平台     = "bilibili"
                });
                称.Text   = "";
                唯一码.Text = "";
            }
        }
Beispiel #20
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);
        }
Beispiel #21
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);
        }
Beispiel #22
0
        /// <summary>
        /// 初始化房间列表
        /// </summary>
        public static void InitializeRoomList()
        {
            InfoLog.InfoPrintf("开始刷新本地房间列表", InfoLog.InfoClass.Debug);
            var rlc = new RoomBox();

            try
            {
                rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile));
            }
            catch (Exception)
            {
                rlc = JsonConvert.DeserializeObject <RoomBox>("{}");
                InfoLog.InfoPrintf("房间json配置文件格式错误!请检测核对!", InfoLog.InfoClass.系统错误信息);
                InfoLog.InfoPrintf("房间json配置文件格式错误!请检测核对!", InfoLog.InfoClass.系统错误信息);
                InfoLog.InfoPrintf("房间json配置文件格式错误!请检测核对!", InfoLog.InfoClass.系统错误信息);
                return;
            }
            List <RoomCadr> RoomConfigList = new List <RoomCadr>();//房间信息1List

            RoomConfigList = rlc?.data;
            if (RoomConfigList == null)
            {
                RoomConfigList = new List <RoomCadr>();
            }
            bilibili.RoomList.Clear();
            youtube.RoomList.Clear();
            if (初始化储存房间储存一次)
            {
                string JOO = JsonConvert.SerializeObject(rlc);
                MMPU.储存文本(JOO, RoomConfigFile);
                初始化储存房间储存一次 = false;
            }

            foreach (var item in RoomConfigList)
            {
                if (item.Types == "bilibili")
                {
                    bilibili.RoomList.Add(new RoomInfo
                    {
                        房间号    = item.RoomNumber,
                        标题     = "",
                        是否录制弹幕 = item.VideoStatus,
                        是否录制视频 = item.VideoStatus,
                        UID    = "",
                        直播开始时间 = "",
                        称      = item.Name,
                        直播状态   = item.LiveStatus,
                        原名     = item.OfficialName,
                        是否提醒   = item.RemindStatus,
                        平台     = "bilibili"
                    });
                    if (首次启动)
                    {
                        bilibili.RoomList[bilibili.RoomList.Count - 1].直播状态 = false;
                    }
                }
                else if (item.Types == "youtube")
                {
                    youtube.RoomList.Add(new RoomInfo
                    {
                        房间号    = item.RoomNumber,
                        标题     = "",
                        是否录制弹幕 = item.VideoStatus,
                        是否录制视频 = item.VideoStatus,
                        UID    = "",
                        直播开始时间 = "",
                        称      = item.Name,
                        直播状态   = item.LiveStatus,
                        原名     = item.OfficialName,
                        是否提醒   = item.RemindStatus,
                        平台     = "youtube"
                    });
                    if (首次启动)
                    {
                        youtube.RoomList[youtube.RoomList.Count - 1].直播状态 = false;
                    }
                }
            }
            if (首次启动)
            {
                InfoLog.InfoPrintf("监控列表中有" + (bilibili.RoomList.Count() + youtube.RoomList.Count()) + "个单推对象,开始监控", InfoLog.InfoClass.载必要提示);
            }
            首次启动 = false;
            InfoLog.InfoPrintf("刷新本地房间列表完成", InfoLog.InfoClass.Debug);
        }