Pārlūkot izejas kodu

跳转登录修改

yuhan 3 mēneši atpakaļ
vecāks
revīzija
bb55736c78
2 mainītis faili ar 57 papildinājumiem un 71 dzēšanām
  1. 55 69
      src/permission.js
  2. 2 2
      src/store/modules/user.js

+ 55 - 69
src/permission.js

@@ -30,81 +30,67 @@ router.beforeEach((to, from, next) => {
   param.username = 'iotedge@iotedge.sense'
   // param.token = cookie.get('EIToken')
   // param.username = cookie.get('WISEUser')
-  postAction('/sso/dy/tzlogin', param).then(response => {
-    const result = response.result
-    if(result.success){
-      // 有EIToken
-      console.log(result)
-      if(response.update){
-        // 更新数据
-        const userInfo = result.result.userInfo
-        console.log(userInfo)
-        Vue.ls.set(ACCESS_TOKEN, result.result.token, 7 * 24 * 60 * 60 * 1000)
-        Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000)
-        Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000)
-        commit('SET_TOKEN', result.result.token)
-        commit('SET_INFO', userInfo)
-        commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname, welcome: welcome() })
-        commit('SET_AVATAR', userInfo.avatar)
-      }
-      if (to.path === '/user/login' || to.path === OAUTH2_LOGIN_PAGE_PATH) {
-        next({ path: INDEX_MAIN_PAGE_PATH })
-        NProgress.done()
-      } else {
-        if (store.getters.permissionList.length === 0) {
-          store.dispatch('GetPermissionList').then(res => {
-            const menuData = res.result.menu;
-            //console.log(res.message)
-            if (menuData === null || menuData === "" || menuData === undefined) {
-              return;
+  store.dispatch('IotSsoLogin', param).then(response => {
+    // 有EIToken
+    // console.log('pppppppppresult', response)
+    if (to.path === '/user/login' || to.path === OAUTH2_LOGIN_PAGE_PATH) {
+      next({ path: INDEX_MAIN_PAGE_PATH })
+      NProgress.done()
+    } else {
+      if (store.getters.permissionList.length === 0) {
+        store.dispatch('GetPermissionList').then(res => {
+          const menuData = res.result.menu;
+          //console.log(res.message)
+          if (menuData === null || menuData === "" || menuData === undefined) {
+            return;
+          }
+          let constRoutes = [];
+          constRoutes = generateIndexRouter(menuData);
+          // 添加主界面路由
+          store.dispatch('UpdateAppRouter',  { constRoutes }).then(() => {
+            // 根据roles权限生成可访问的路由表
+            // 动态添加可访问路由表
+            router.addRoutes(store.getters.addRouters)
+            const redirect = decodeURIComponent(from.query.redirect || to.path)
+            if (to.path === redirect) {
+              // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
+              next({ ...to, replace: true })
+            } else {
+              // 跳转到目的路由
+              next({ path: redirect })
             }
-            let constRoutes = [];
-            constRoutes = generateIndexRouter(menuData);
-            // 添加主界面路由
-            store.dispatch('UpdateAppRouter',  { constRoutes }).then(() => {
-              // 根据roles权限生成可访问的路由表
-              // 动态添加可访问路由表
-              router.addRoutes(store.getters.addRouters)
-              const redirect = decodeURIComponent(from.query.redirect || to.path)
-              if (to.path === redirect) {
-                // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
-                next({ ...to, replace: true })
-              } else {
-                // 跳转到目的路由
-                next({ path: redirect })
-              }
-            })
           })
-          .catch(() => {
-            /* notification.error({
-              message: '系统提示',
-              description: '请求用户信息失败,请重试!'
-            })*/
-            store.dispatch('Logout').then(() => {
-              next({ path: '/user/login', query: { redirect: to.fullPath } })
-            })
+        })
+        .catch(() => {
+          /* notification.error({
+            message: '系统提示',
+            description: '请求用户信息失败,请重试!'
+          })*/
+          store.dispatch('Logout').then(() => {
+            next({ path: '/user/login', query: { redirect: to.fullPath } })
           })
-        } else {
-          next()
-        }
+        })
+      } else {
+        next()
       }
-    } else {
-      // 没有EIToken-判断有没有token
-      if (whiteList.indexOf(to.path) !== -1) {
-        // 在免登录白名单,如果进入的页面是login页面并且当前是OAuth2app环境,就进入OAuth2登录页面
-        if (to.path === '/user/login' && isOAuth2AppEnv()) {
-          next({path: OAUTH2_LOGIN_PAGE_PATH})
-        } else {
-          // 在免登录白名单,直接进入
-          next()
-        }
-        NProgress.done()
+    }
+  })
+  .catch(() => {
+    // 没有EIToken-判断有没有token
+    if (whiteList.indexOf(to.path) !== -1) {
+      // 在免登录白名单,如果进入的页面是login页面并且当前是OAuth2app环境,就进入OAuth2登录页面
+      if (to.path === '/user/login' && isOAuth2AppEnv()) {
+        next({path: OAUTH2_LOGIN_PAGE_PATH})
       } else {
-        // 如果当前是在OAuth2APP环境,就跳转到OAuth2登录页面
-        let path = isOAuth2AppEnv() ? OAUTH2_LOGIN_PAGE_PATH : '/user/login'
-        next({ path: path, query: { redirect: to.fullPath } })
-        NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it
+        // 在免登录白名单,直接进入
+        next()
       }
+      NProgress.done()
+    } else {
+      // 如果当前是在OAuth2APP环境,就跳转到OAuth2登录页面
+      let path = isOAuth2AppEnv() ? OAUTH2_LOGIN_PAGE_PATH : '/user/login'
+      next({ path: path, query: { redirect: to.fullPath } })
+      NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it
     }
   })
 })

+ 2 - 2
src/store/modules/user.js

@@ -229,7 +229,7 @@ const user = {
     IotSsoLogin({ commit }, param) {
       return new Promise((resolve, reject) => {
         iotSsoLogin(param).then(response => {
-          console.log(response)
+          // console.log('IotSsoLogin', response)
           if(response.result.code =='200'){
             if(response.update){
               // 更新数据
@@ -242,8 +242,8 @@ const user = {
               commit('SET_INFO', userInfo)
               commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname, welcome: welcome() })
               commit('SET_AVATAR', userInfo.avatar)
-              resolve(response.result)
             }
+            resolve(response.result)
           }else{
             // console.log('error111', response.result)
             reject(response.result)