Эх сурвалжийг харах

修复选择摄像头问题

warrior 4 долоо хоног өмнө
parent
commit
903006be6b

+ 20 - 0
projects/live-app/src/modules/live/link-page/leave.guard.ts

@@ -0,0 +1,20 @@
+import { Injectable } from '@angular/core';
+import { CanDeactivate } from '@angular/router';
+import { Observable, of } from 'rxjs';
+import { LinkPageComponent } from './link-page.component';
+
+@Injectable({
+  providedIn: 'root'
+})
+export class LeaveGuard implements CanDeactivate<LinkPageComponent> {
+
+  public canDeactivate(component:LinkPageComponent): Observable<boolean> {
+    let isLive = localStorage.getItem('isLive');
+    // console.log(isLive);
+    if(isLive){
+      return of(false);
+    }else{
+      return of(true);
+    }
+  }
+}

+ 1 - 0
projects/live-app/src/modules/live/link-page/link-page.component.ts

@@ -73,6 +73,7 @@ export class LinkPageComponent implements OnInit {
         return;
       }
       this.refresh();
+      localStorage.setItem('isLive', 'true');
     });
   }
   updatePage() {

+ 2 - 0
projects/live-app/src/modules/live/live.modules.routes.ts

@@ -3,6 +3,7 @@ import { RouterModule, Routes } from '@angular/router';
 import { CallLogComponent } from './call-log/call-log.component';
 import { DetailComponent } from './call-log/detail/detail.component';
 import { ChatComponent } from './chat/chat.component';
+import { LeaveGuard } from './link-page/leave.guard';
 import { LinkPageComponent } from './link-page/link-page.component';
 import { RoomManageComponent } from './room-manage/room-manage.component';
 import { SearchComponent } from './search/search.component';
@@ -17,6 +18,7 @@ const routes: Routes = [
   },
   {
     path: 'link-room/:rid',//直播页
+    canDeactivate: [LeaveGuard],
     component: LinkPageComponent,
   },
   {

+ 4 - 2
projects/live-app/src/services/live.service.ts

@@ -357,8 +357,10 @@ export class LiveService {
             this.isOpenEvaluate = true;
           }
           console.log(this.router.url);
-          if (this.router.url.indexOf('/live/link-room/') == 0)
-            curState == 'DISCONNECTED' && history.back();
+          if (this.router.url.indexOf('/live/link-room/') == 0 && curState == 'DISCONNECTED'){
+            localStorage.setItem('isLive', null);
+            history.back();
+          }
         }
         console.log('live状态变更:', this.connection_state);
       }