Ver Fonte

修改bug

lishuangjiang@potevio.com há 1 ano atrás
pai
commit
8f3053fb86

+ 5 - 0
sso-ui/sso-ui-admin-vue3/src/api/login/index.ts

@@ -17,6 +17,11 @@ export const login = (data: UserLoginVO) => {
   return request.post({ url: '/system/auth/login', data })
   return request.post({ url: '/system/auth/login', data })
 }
 }
 
 
+// 登出
+export const loginData = () => {
+  return request.post({ url: '/system/auth/loginData' })
+}
+
 // 刷新访问令牌
 // 刷新访问令牌
 export const refreshToken = () => {
 export const refreshToken = () => {
   return request.post({ url: '/system/auth/refresh-token?refreshToken=' + getRefreshToken() })
   return request.post({ url: '/system/auth/refresh-token?refreshToken=' + getRefreshToken() })

+ 4 - 4
sso-ui/sso-ui-admin-vue3/src/layout/components/UserInfo/src/UserInfo.vue

@@ -76,10 +76,10 @@ const toDocument = () => {
           <Icon icon="ep:lock" />
           <Icon icon="ep:lock" />
           <div @click="lockScreen">{{ t('lock.lockScreen') }}</div>
           <div @click="lockScreen">{{ t('lock.lockScreen') }}</div>
         </ElDropdownItem>
         </ElDropdownItem>
-        <ElDropdownItem divided @click="loginOut">
-          <Icon icon="ep:switch-button" />
-          <div>{{ t('common.loginOut') }}</div>
-        </ElDropdownItem>
+<!--        <ElDropdownItem divided @click="loginOut">-->
+<!--          <Icon icon="ep:switch-button" />-->
+<!--          <div>{{ t('common.loginOut') }}</div>-->
+<!--        </ElDropdownItem>-->
       </ElDropdownMenu>
       </ElDropdownMenu>
     </template>
     </template>
   </ElDropdown>
   </ElDropdown>

+ 4 - 0
sso-ui/sso-ui-admin-vue3/src/permission.ts

@@ -133,6 +133,9 @@ window.onload = function () {
 function clearInterval(checkActiveInterval) {
 function clearInterval(checkActiveInterval) {
   wsCache.delete(CACHE_KEY.LAST_ACTIVE_TIME)
   wsCache.delete(CACHE_KEY.LAST_ACTIVE_TIME)
 }
 }
+function closeAllWindow(){
+  window.opener.postMessage('-1', '*');
+}
 let checkActiveInterval: any = null
 let checkActiveInterval: any = null
 const startActiveCheck = () => {
 const startActiveCheck = () => {
   if(checkActiveInterval==null){
   if(checkActiveInterval==null){
@@ -154,6 +157,7 @@ const startActiveCheck = () => {
       return
       return
     }
     }
     if (currentTime - Number(lastActiveTime) > timeOut) {
     if (currentTime - Number(lastActiveTime) > timeOut) {
+      //
       userStore.loginOut()
       userStore.loginOut()
       tagsViewStore.delAllViews()
       tagsViewStore.delAllViews()
       deleteUserCache()
       deleteUserCache()

+ 44 - 13
sso-ui/sso-ui-admin-vue3/src/views/Home/index3.vue

@@ -44,9 +44,9 @@
             <img class="img_gray" :src="img7" />
             <img class="img_gray" :src="img7" />
             <div class="text2" @click="handlerLinkDiv('46')"><el-link style="font-size: 30px;color: #fff; font-weight: 500" @click="handlerLink(46)" :disabled="hasNoClientPri('46')">运营数据分析系统</el-link></div>
             <div class="text2" @click="handlerLinkDiv('46')"><el-link style="font-size: 30px;color: #fff; font-weight: 500" @click="handlerLink(46)" :disabled="hasNoClientPri('46')">运营数据分析系统</el-link></div>
           </div>
           </div>
-          <div class="row2" :style="backgroudColor('100')">
+          <div class="row2" :style="backgroudColor('51')">
             <img class="image2" :src="img8"  />
             <img class="image2" :src="img8"  />
-            <div class="text2">技术开发集成系统</div>
+            <div class="text2" @click="handlerLinkDiv('51')"><el-link style="font-size: 30px;color: #fff; font-weight: 500" @click="handlerLink(51)" :disabled="hasNoClientPri('51')">技术开发集成系统</el-link></div>
           </div>
           </div>
         </div>
         </div>
       </div>
       </div>
@@ -80,6 +80,7 @@ import {useTagsViewStore} from '@/store/modules/tagsView'
 import {CACHE_KEY, useCache, deleteUserCache} from '@/hooks/web/useCache'
 import {CACHE_KEY, useCache, deleteUserCache} from '@/hooks/web/useCache'
 import { resetRouter } from '@/router'
 import { resetRouter } from '@/router'
 import { hasClient } from '@/directives/permission/hasClient'
 import { hasClient } from '@/directives/permission/hasClient'
+import * as LoginApi from '@/api/login'
 
 
 import * as UserApi from '@/api/system/user'
 import * as UserApi from '@/api/system/user'
 import img1 from '@/assets/imgs/main/icon1.png';
 import img1 from '@/assets/imgs/main/icon1.png';
@@ -89,20 +90,21 @@ import img5 from '@/assets/imgs/main/icon5.png';
 import img6 from '@/assets/imgs/main/icon6.png';
 import img6 from '@/assets/imgs/main/icon6.png';
 import img7 from '@/assets/imgs/main/icon7.png';
 import img7 from '@/assets/imgs/main/icon7.png';
 import img8 from '@/assets/imgs/main/icon8.png';
 import img8 from '@/assets/imgs/main/icon8.png';
-import logouticon from '@/assets/imgs/main/logout.png'
-import manager from '@/assets/imgs/main/manager.png'
+// import logouticon from '@/assets/imgs/main/logout.png'
+// import manager from '@/assets/imgs/main/manager.png'
 import bg from '@/assets/imgs/main/bg2.png'
 import bg from '@/assets/imgs/main/bg2.png'
 import password from '@/assets/imgs/main/password.png'
 import password from '@/assets/imgs/main/password.png'
 import * as authUtil from '@/utils/auth'
 import * as authUtil from '@/utils/auth'
 import {InputPassword} from '@/components/InputPassword'
 import {InputPassword} from '@/components/InputPassword'
 import {updateUserPassword} from '@/api/system/user/profile'
 import {updateUserPassword} from '@/api/system/user/profile'
 import { removeToken } from '@/utils/auth'
 import { removeToken } from '@/utils/auth'
-
+const manager= new URL('@/assets/imgs/main/manager.png',import.meta.url).href
+const logouticon= new URL('@/assets/imgs/main/logout.png',import.meta.url).href
 const { proxy } = getCurrentInstance()
 const { proxy } = getCurrentInstance()
 const message = useMessage()
 const message = useMessage()
 
 
 //
 //
-import { getCurrentInstance, onBeforeMount, type ComponentInternalInstance } from 'vue';
+import {type ComponentInternalInstance } from 'vue';
 const currentInstance= getCurrentInstance() as ComponentInternalInstance;
 const currentInstance= getCurrentInstance() as ComponentInternalInstance;
 const globalProperties = currentInstance?.appContext.config.globalProperties
 const globalProperties = currentInstance?.appContext.config.globalProperties
 const openWindows = globalProperties.$globalWindows;
 const openWindows = globalProperties.$globalWindows;
@@ -144,7 +146,7 @@ const backgroudColor =(i)=>{
   if(i=='49'){
   if(i=='49'){
     return 'background-color: #2270F7'
     return 'background-color: #2270F7'
   }
   }
-  if(i=='100'){
+  if(i=='51'){
     return 'background-color: #E7B05E'
     return 'background-color: #E7B05E'
   }
   }
   }
   }
@@ -239,7 +241,7 @@ const handlerLink = async (id) => {
        winObj.uid = id;
        winObj.uid = id;
        winObj.win = linkWindow;
        winObj.win = linkWindow;
        openWindows.push(winObj);
        openWindows.push(winObj);
-       console.log("######@@@@@@@@@",openWindows);
+       // console.log("######@@@@@@@@@",openWindows);
       }
       }
     } catch (error) {
     } catch (error) {
       console.log(error);
       console.log(error);
@@ -291,10 +293,10 @@ onMounted(() => {
     resetPassword()
     resetPassword()
   }
   }
   window.addEventListener('message', (event) => {
   window.addEventListener('message', (event) => {
-    if (event.data == 'guanyuan') {
+    if (event.data) {
       openWindows.forEach(
       openWindows.forEach(
         (item) =>{
         (item) =>{
-          if (item && item.win && !item.win.closed && item.uid==46){
+          if (item && item.win && !item.win.closed && item.uid==Number(event.data)){
             item.win.close()
             item.win.close()
           }
           }
         }
         }
@@ -304,16 +306,45 @@ onMounted(() => {
 })
 })
 const handleClose = (done) => {
 const handleClose = (done) => {
   const loginDadte = authUtil.getLoginDate()
   const loginDadte = authUtil.getLoginDate()
-  // debugger
   if(!loginDadte){
   if(!loginDadte){
-    message.error('首次登录请修改密码!')
-    return false
+    LoginApi.loginData().then(response =>{
+      console.log("res################",JSON.stringify(response))
+      if (!response) {
+        return
+      }else{
+        if(response.loginDate){
+          authUtil.setLoginDate(response.loginDate)
+          done(false)
+        }else{
+          message.error('首次登录请修改密码!')
+          return false
+        }
+      }
+    }).catch(error => {
+      // 处理请求错误
+      console.error('Error fetching data:', error);
+      return false
+    });
+      // message.error('首次登录请修改密码!')
+      // return false
   }else{
   }else{
     console.log(done)
     console.log(done)
     done(false)
     done(false)
   }
   }
 }
 }
 
 
+const checkChangedPassword  = async () => {
+  const res =  await  LoginApi.loginData()
+  console.log("res################",JSON.stringify(res))
+  if (!res) {
+    return
+  }else{
+    if(res.loginDate){
+      authUtil.setLoginDate(res.loginDate)
+    }
+  }
+}
+
 const hasNoClientPri = (clientIdValue: string) =>{
 const hasNoClientPri = (clientIdValue: string) =>{
   const clientIds = wsCache.get(CACHE_KEY.USER)?wsCache.get(CACHE_KEY.USER).clientIds:[]
   const clientIds = wsCache.get(CACHE_KEY.USER)?wsCache.get(CACHE_KEY.USER).clientIds:[]
   const all_client = '*'
   const all_client = '*'

+ 14 - 7
sso-ui/sso-ui-admin-vue3/src/views/Login/Login3.vue

@@ -90,25 +90,32 @@
   const route = useRoute();
   const route = useRoute();
 
 
   const elNotification = () => {
   const elNotification = () => {
+    openWindows.forEach(
+      (item) =>{
+        if (item && item.win && !item.win.closed){
+          item.win.close()
+        }
+      }
+    )
     ElNotification({
     ElNotification({
       title: '提示',
       title: '提示',
       message: '超时退出',
       message: '超时退出',
       duration: 0,
       duration: 0,
       type: 'warning'
       type: 'warning'
     })
     })
+
   }
   }
-  const closeSelf = () => {
-    // window.opener=null;
-    window.opener.postMessage('close', '*');
-  }
+  // const closeSelf = () => {
+  //   window.opener.postMessage('46', '*');
+  // }
   onMounted(() => {
   onMounted(() => {
     const queryParams = route.query;
     const queryParams = route.query;
     if (queryParams && queryParams.timeout){
     if (queryParams && queryParams.timeout){
       elNotification()
       elNotification()
     }
     }
-    if (queryParams && queryParams.logout){
-      closeSelf()
-    }
+    // if (queryParams && queryParams.logout){
+    //   closeSelf()
+    // }
     // removeToken()
     // removeToken()
     // deleteUserCache()
     // deleteUserCache()
   })
   })