Преглед на файлове

最终代码提交-20250207

lishuangjiang@potevio.com преди 10 месеца
родител
ревизия
bd3f12f867
променени са 5 файла, в които са добавени 66 реда и са изтрити 27 реда
  1. 23 0
      src/App.vue
  2. 21 16
      src/layout/components/Navbar.vue
  3. 1 0
      src/permission.ts
  4. 11 1
      src/utils/auth.ts
  5. 10 10
      src/views/system/user/index.vue

+ 23 - 0
src/App.vue

@@ -12,7 +12,30 @@ import useAppStore from '@/store/modules/app'
 const appStore = useAppStore()
 const size = computed(() => appStore.size as any)
 
+let beforeunloadHandler = (event) => {
+  sessionStorage.setItem("reloadOper",'1')
+  // if ((event.clientX > document.body.clientWidth && event.clientY < 0) || event.altKey) {
+  //   localStorage.removeItem('Admin-Token')
+  //   localStorage.removeItem('Login-Name')
+  // }
+  // if (window.performance && window.performance.navigation.type === window.performance.navigation.TYPE_RELOAD) {
+  //   // 页面被刷新
+  //   console.log('The page is being refreshed.');
+  // } else {
+  //   localStorage.removeItem('Admin-Token')
+  //   localStorage.removeItem('Login-Name')
+  // }
+}
+
 onMounted(() => {
+  let reloadOper = sessionStorage.getItem("reloadOper")
+  if(!reloadOper){
+      localStorage.removeItem('Admin-Token')
+      localStorage.removeItem('Login-Name')
+  }
+  // sessionStorage.setItem("reloadOper",'1')
+
+  window.addEventListener("beforeunload",beforeunloadHandler);
   nextTick(() => {
     // 初始化主题样式
     handleThemeStyle(useSettingsStore().theme)

+ 21 - 16
src/layout/components/Navbar.vue

@@ -48,25 +48,29 @@
         </el-tooltip> -->
       </template>
       <div class="avatar-container">
-        <el-dropdown @command="handleCommand" class="right-menu-item hover-effect" trigger="click">
-          <div class="avatar-wrapper">
-            <img :src="userStore.avatar" class="user-avatar" />
-            <el-icon><caret-bottom /></el-icon>
-          </div>
-          <template #dropdown>
-            <el-dropdown-menu>
-              <router-link to="/user/profile" v-if="!dynamic">
-                <el-dropdown-item>{{ $t('navbar.personalCenter') }}</el-dropdown-item>
-              </router-link>
+        <div class="avatar-wrapper">
+          <img :src="userStore.avatar" class="user-avatar" />
+<!--          <el-icon><caret-bottom /></el-icon>-->
+        </div>
+<!--        <el-dropdown @command="handleCommand" class="right-menu-item hover-effect" trigger="click">-->
+<!--          <div class="avatar-wrapper">-->
+<!--            <img :src="userStore.avatar" class="user-avatar" />-->
+<!--            <el-icon><caret-bottom /></el-icon>-->
+<!--          </div>-->
+<!--          <template #dropdown>-->
+<!--            <el-dropdown-menu>-->
+<!--              <router-link to="/user/profile" v-if="!dynamic">-->
+<!--                <el-dropdown-item>{{ $t('navbar.personalCenter') }}</el-dropdown-item>-->
+<!--              </router-link>-->
               <!-- <el-dropdown-item command="setLayout">
                 <span>{{ $t('navbar.layoutSetting') }}</span>
               </el-dropdown-item> -->
-              <el-dropdown-item divided command="logout">
-                <span>{{ $t('navbar.logout') }}</span>
-              </el-dropdown-item>
-            </el-dropdown-menu>
-          </template>
-        </el-dropdown>
+<!--              <el-dropdown-item  command="logout">-->
+<!--                <span>{{ $t('navbar.logout') }}</span>-->
+<!--              </el-dropdown-item>-->
+<!--            </el-dropdown-menu>-->
+<!--          </template>-->
+<!--        </el-dropdown>-->
       </div>
     </div>
   </div>
@@ -136,6 +140,7 @@ const logout = async () => {
     type: 'warning'
   })
   await userStore.logout()
+  // window.close()
   location.href = import.meta.env.VITE_APP_CONTEXT_PATH
 }
 

+ 1 - 0
src/permission.ts

@@ -14,6 +14,7 @@ const whiteList = ['/login', '/register', '/logintip']
 
 router.beforeEach(async (to, from, next) => {
   NProgress.start()
+  debugger
   if (getToken()) {
     to.meta.title && useSettingsStore().setTitle(to.meta.title as string)
     /* has token*/

+ 11 - 1
src/utils/auth.ts

@@ -6,7 +6,17 @@ const NameKey = 'Login-Name'
 const tokenStorage = useStorage<null | string>(TokenKey, null)
 const nameStorage = useStorage<null | string>(NameKey, null)
 
-export const getToken = () => tokenStorage.value
+export const getToken = () => {
+  let reloadOper = sessionStorage.getItem("reloadOper")
+  if(!reloadOper){
+    removeToken()
+    removeName()
+    sessionStorage.setItem("reloadOper",'1')
+    return null;
+  }
+  return tokenStorage.value
+
+}
 export const setToken = (token: string) => (tokenStorage.value = token)
 export const removeToken = () => (tokenStorage.value = null)
 

+ 10 - 10
src/views/system/user/index.vue

@@ -55,9 +55,9 @@
         <el-card shadow="hover">
           <template #header>
             <el-row :gutter="10">
-              <el-col :span="1.5">
-                <el-button type="primary" plain @click="handleAdd()" v-has-permi="['system:user:add']" icon="Plus">新增</el-button>
-              </el-col>
+<!--              <el-col :span="1.5">-->
+<!--                <el-button type="primary" plain @click="handleAdd()" v-has-permi="['system:user:add']" icon="Plus">新增</el-button>-->
+<!--              </el-col>-->
 <!--              <el-col :span="1.5">-->
 <!--                <el-button type="success" plain @click="handleUpdate()" :disabled="single" v-has-permi="['system:user:add']" icon="Edit">-->
 <!--                  修改-->
@@ -103,7 +103,7 @@
             <el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
             <el-table-column label="状态" align="center" key="status" v-if="columns[5].visible">
               <template #default="scope">
-                <el-switch v-model="scope.row.status" active-value="0" inactive-value="1" @change="handleStatusChange(scope.row)" />
+                <el-switch v-model="scope.row.status" active-value="0" inactive-value="1"  disabled />
               </template>
             </el-table-column>
 
@@ -122,13 +122,13 @@
                   <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']" />
                 </el-tooltip>
 
-                <el-tooltip content="重置密码" placement="top" v-if="scope.row.id !== 1">
-                  <el-button link type="primary" icon="Key" @click="handleResetPwd(scope.row)" v-hasPermi="['system:user:resetPwd']" />
-                </el-tooltip>
+<!--                <el-tooltip content="重置密码" placement="top" v-if="scope.row.id !== 1">-->
+<!--                  <el-button link type="primary" icon="Key" @click="handleResetPwd(scope.row)" v-hasPermi="['system:user:resetPwd']" />-->
+<!--                </el-tooltip>-->
 
-                <el-tooltip content="分配角色" placement="top" v-if="scope.row.id !== 1">
-                  <el-button link type="primary" icon="CircleCheck" @click="handleAuthRole(scope.row)" v-hasPermi="['system:user:edit']" />
-                </el-tooltip>
+<!--                <el-tooltip content="分配角色" placement="top" v-if="scope.row.id !== 1">-->
+<!--                  <el-button link type="primary" icon="CircleCheck" @click="handleAuthRole(scope.row)" v-hasPermi="['system:user:edit']" />-->
+<!--                </el-tooltip>-->
               </template>
             </el-table-column>
           </el-table>