浏览代码

feat: token guard

Fmode 5 天之前
父节点
当前提交
72c195f2a2
共有 4 个文件被更改,包括 18 次插入5 次删除
  1. 2 1
      src/app/tab2/tab2.page.ts
  2. 2 1
      src/app/tabs/tabs.routes.ts
  3. 11 0
      src/app/tabs/test.guard.ts
  4. 3 3
      src/lib/user/token-guard/token.guard.ts

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

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

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

@@ -1,6 +1,7 @@
 import { Routes } from '@angular/router';
 import { Routes } from '@angular/router';
 import { TabsPage } from './tabs.page';
 import { TabsPage } from './tabs.page';
 import { TokenGuard } from 'src/lib/user/token-guard/token.guard';
 import { TokenGuard } from 'src/lib/user/token-guard/token.guard';
+import { TestGuard } from './test.guard';
 
 
 export const routes: Routes = [
 export const routes: Routes = [
   {
   {
@@ -16,7 +17,7 @@ export const routes: Routes = [
       },
       },
       {
       {
         path: 'tab2',
         path: 'tab2',
-        canActivate:[TokenGuard],
+        canActivate:[TokenGuard,TestGuard],
         loadComponent: () =>
         loadComponent: () =>
           import('../tab2/tab2.page').then((m) => m.Tab2Page),
           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> {
   async canActivate(): Promise<boolean> {
-    let token = localStorage.getItem('parseSessionToken');
+    let token = localStorage.getItem('token');
 
 
     if (!token) {
     if (!token) {
       token = await this.showTokenPrompt();
       token = await this.showTokenPrompt();
@@ -62,11 +62,11 @@ export class TokenGuard implements CanActivate {
 
 
     const isValid = await this.validateToken(token);
     const isValid = await this.validateToken(token);
     if (!isValid) {
     if (!isValid) {
-      localStorage.removeItem('parseSessionToken');
+      localStorage.removeItem('token');
       return this.canActivate();
       return this.canActivate();
     }
     }
 
 
-    localStorage.setItem('parseSessionToken', token);
+    localStorage.setItem('token', token);
     return true;
     return true;
   }
   }