Browse Source

feat: token guard

Fmode 5 days ago
parent
commit
72c195f2a2

+ 2 - 1
src/app/tab2/tab2.page.ts

@@ -51,9 +51,10 @@ export class Tab2Page {
   openInquiry(){
     localStorage.setItem("company","E4KpGvTEto")
     let options:ChatPanelOptions = {
-      roleId:"2DXJkRsjXK",
+      roleId:"2DXJkRsjXK", // 预设,无需更改
       onChatInit:(chat:FmodeChat)=>{
         console.log("onChatInit");
+        console.log("Chat类",chat);
         console.log("预设角色",chat.role);
         // 角色名称
         chat.role.set("name","晓晓");

+ 2 - 1
src/app/tabs/tabs.routes.ts

@@ -1,6 +1,7 @@
 import { Routes } from '@angular/router';
 import { TabsPage } from './tabs.page';
 import { TokenGuard } from 'src/lib/user/token-guard/token.guard';
+import { TestGuard } from './test.guard';
 
 export const routes: Routes = [
   {
@@ -16,7 +17,7 @@ export const routes: Routes = [
       },
       {
         path: 'tab2',
-        canActivate:[TokenGuard],
+        canActivate:[TokenGuard,TestGuard],
         loadComponent: () =>
           import('../tab2/tab2.page').then((m) => m.Tab2Page),
       },

+ 11 - 0
src/app/tabs/test.guard.ts

@@ -0,0 +1,11 @@
+import { CanActivateFn } from '@angular/router';
+
+export const TestGuard: CanActivateFn = (route, state) => {
+  // 守卫:用户在 localStorage 开启 chatEnabled
+  let chatEnabled = localStorage.getItem("chatEnabled");
+  if(chatEnabled){
+    return true
+  }else{
+    return false;
+  }
+};

+ 3 - 3
src/lib/user/token-guard/token.guard.ts

@@ -50,7 +50,7 @@ export class TokenGuard implements CanActivate {
   ) {}
 
   async canActivate(): Promise<boolean> {
-    let token = localStorage.getItem('parseSessionToken');
+    let token = localStorage.getItem('token');
 
     if (!token) {
       token = await this.showTokenPrompt();
@@ -62,11 +62,11 @@ export class TokenGuard implements CanActivate {
 
     const isValid = await this.validateToken(token);
     if (!isValid) {
-      localStorage.removeItem('parseSessionToken');
+      localStorage.removeItem('token');
       return this.canActivate();
     }
 
-    localStorage.setItem('parseSessionToken', token);
+    localStorage.setItem('token', token);
     return true;
   }