コード例 #1
0
ファイル: ShellViewModel.cs プロジェクト: wuscier/MeetingSdk2
        public async void Loaded(object source)
        {
            _windowManager.Initialize();
            MeetingSdkEventsRegister.Instance.RegisterSdkEvents();

            var deviceNameAccessor = IoC.Get <IDeviceNameAccessor>();
            var providers          = IoC.GetAll <IDeviceNameProvider>();

            foreach (var provider in providers)
            {
                await provider.Provider(deviceNameAccessor);
            }


            _regionManager.RequestNavigate("ContentRegion", "MainView");
        }
コード例 #2
0
        private async Task LoadAsync()
        {
            _windowManager.Initialize();

            MeetingSdkEventsRegister.Instance.RegisterSdkEvents();

            var deviceNameAccessor = IoC.Get <IDeviceNameAccessor>();
            var providers          = IoC.GetAll <IDeviceNameProvider>();

            foreach (var provider in providers)
            {
                await provider.Provider(deviceNameAccessor);
            }



            Log.Logger.Debug("LoadAsync => LoginView");
            try
            {
                if (GlobalData.Instance.RunMode == RunMode.Development)
                {
                    _loginView.Topmost = false;
                }

                LoadConfigFromGlobalConfig();


                if (AutoLogin && !_userInfo.IsLogouted)
                {
                    await Login();
                }
            }
            catch (Exception ex)
            {
                string errorMsg = ex.InnerException?.Message.Replace("\r\n", string.Empty) ??
                                  ex.Message.Replace("\r\n", string.Empty);
                HasErrorMsg("-1", errorMsg);
            }
        }
コード例 #3
0
        private async Task LoadAsync()
        {
            Log.Logger.Debug("LoadAsync => DeviceLoginView");


            _windowManager.Initialize();

            MeetingSdkEventsRegister.Instance.RegisterSdkEvents();

            var deviceNameAccessor = IoC.Get <IDeviceNameAccessor>();
            var providers          = IoC.GetAll <IDeviceNameProvider>();

            foreach (var provider in providers)
            {
                await provider.Provider(deviceNameAccessor);
            }



            DialogContent = Messages.InfoLogging;
            IsDialogOpen  = true;

            bool succeeded = await AuthenticateUserAsync().ConfigureAwait(false);

            if (succeeded)
            {
                TimerManager.Instance.StartTimer();

                RtClientManager.Instance.SigninRtServiceBackground();

                await CacheLessonTypesAsync();

                IsLoginSucceeded = true;
                await _deviceLoginView.Dispatcher.BeginInvoke(new Action(() => { _deviceLoginView.Close(); }));
            }
        }
コード例 #4
0
ファイル: LoginViewModel.cs プロジェクト: wuscier/Classroom3
        private async Task LoginingAsync()
        {
            InvitationService.Instance.Initialize();
            _windowManager.Initialize();

            MeetingSdkEventsRegister.Instance.RegisterSdkEvents();

            var deviceNameAccessor = IoC.Get <IDeviceNameAccessor>();
            var providers          = IoC.GetAll <IDeviceNameProvider>();

            foreach (var provider in providers)
            {
                await provider.Provider(deviceNameAccessor);
            }

            // read config and cache.
            LoadLocalConfiger();
            //与录播系统对接
            RecordingSystemService.Instance.Start();
            RecordingSystemService.Instance.SetControlComand(ControlComand.ResetWorkMode);
            bool getClassroomResult = await GetClassroomAsync();

            await _bmsService.GetClassroomsAsync();

            if (getClassroomResult)
            {
                bool startSdkResult = await StartSdkAsync();

                if (!startSdkResult)
                {
                    startSdkResult = await StartSdkAsync();
                }

                if (startSdkResult)
                {
                    var path = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
                    //path = Path.Combine(path, "sdk");

                    var startHostResult = await _meetingSdkAgent.StartHost("PCJM", path);

                    if (startHostResult.StatusCode != 0)
                    {
                        MessageQueueManager.Instance.AddInfo("Host服务器启动失败!");
                    }

                    var meetingResult = await _meetingSdkAgent.LoginViaImei(_imei);

                    LoginModel loginModel = meetingResult.Result;

                    if (meetingResult.StatusCode == 0)
                    {
                        MessageQueueManager.Instance.AddInfo("登录成功!");

                        _eventAggregator.GetEvent <UserLoginEvent>().Publish(new UserInfo()
                        {
                            UserId   = loginModel.Account.AccountId,
                            UserName = GlobalData.Instance.Classroom.SchoolRoomName,
                        });

                        var connectVdnResult = await _meetingSdkAgent.ConnectMeetingVDN(loginModel.Account.AccountId, loginModel.Account.AccountName, loginModel.Token);

                        if (connectVdnResult.StatusCode != 0)
                        {
                            MessageQueueManager.Instance.AddInfo("连接Host服务器失败!");
                        }
                    }
                    else
                    {
                        MessageQueueManager.Instance.AddError("登录失败!");
                        Dialog errorDialog = new Dialog($"登录失败!{meetingResult.Message}");
                        errorDialog.ShowDialog();
                    }

                    //启动网络检测
                    _netCheckService.StartCheckNetConnect();

                    //var localSetting = _localDataManager.GetSettingConfig();
                    if (GlobalData.Instance.LocalSetting.UseWelcome)
                    {
                        var welcome = DependencyResolver.Current.GetService <WelcomeView>();
                        welcome.Show();
                    }
                    else
                    {
                        MainView mainView = new MainView(MessageManager.ServerStarted);
                        mainView.Show();
                    }
                    //DeleteClosedMeetingFromLocalData();
                    _loginView.Close();
                }
            }
        }