|
@@ -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
|
|
|
}
|
|
|
})
|
|
|
})
|