|
@@ -88,7 +88,12 @@ const router = new VueRouter({
|
|
const ignore = ["/404"]
|
|
const ignore = ["/404"]
|
|
|
|
|
|
router.beforeEach(async (to, from, next) => {
|
|
router.beforeEach(async (to, from, next) => {
|
|
- console.log('to', from.path, to)
|
|
|
|
|
|
+ // 如果路径上有plazaId就保存
|
|
|
|
+ let plazaId = to.query.plazaId ?to.query.plazaId:''
|
|
|
|
+ if (plazaId) {
|
|
|
|
+ localStorage.setItem('PLAZAID', plazaId)
|
|
|
|
+ store.commit('STOREPLAZAID', plazaId)
|
|
|
|
+ }
|
|
// 取出刷新时的 ssoToken, 路由拦截时app.vue 生命周期还没有执行,store中还没有数据,
|
|
// 取出刷新时的 ssoToken, 路由拦截时app.vue 生命周期还没有执行,store中还没有数据,
|
|
let beforeunload = localStorage.getItem("beforeunload"),
|
|
let beforeunload = localStorage.getItem("beforeunload"),
|
|
__token = null
|
|
__token = null
|
|
@@ -108,71 +113,55 @@ router.beforeEach(async (to, from, next) => {
|
|
token = sessionStorage.getItem("SSOTOKEN")
|
|
token = sessionStorage.getItem("SSOTOKEN")
|
|
store.commit("SETSSOTOKEN", sessionStorage.getItem("SSOTOKEN")) //存vuex
|
|
store.commit("SETSSOTOKEN", sessionStorage.getItem("SSOTOKEN")) //存vuex
|
|
} else {
|
|
} else {
|
|
- let lastRoute = {
|
|
|
|
- path: to.path,
|
|
|
|
- params: to.params,
|
|
|
|
- query: to.query,
|
|
|
|
- }
|
|
|
|
- store.commit("SETLASTROUTER", lastRoute)
|
|
|
|
- let ssoServer = "http://oauth.wanda-dev.cn"
|
|
|
|
- if (process.env.NODE_ENV == "wanda_build") {
|
|
|
|
- ssoServer = "http://oauth.wanda.cn"
|
|
|
|
- }
|
|
|
|
- let systemcode = "CAD156",
|
|
|
|
- signal = new Date().getTime(),
|
|
|
|
- version = "1.0.0"
|
|
|
|
- window.location.href = `${ssoServer}/login?systemcode=${systemcode}&signal=${signal}&version=${version}`
|
|
|
|
|
|
+ redirectGetToken(to,from)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ // 如果有token
|
|
if (token) {
|
|
if (token) {
|
|
- if (to.path == "/") {
|
|
|
|
- next("/group")
|
|
|
|
- }
|
|
|
|
- if (to.path == "/group" || to.path == "/home/homepage") {
|
|
|
|
- if (store.state.accessLevel == -1) {
|
|
|
|
- await store.dispatch("getUserInfo", router)
|
|
|
|
- console.log('getUserInfo', 4)
|
|
|
|
- await store.dispatch("getBrand")
|
|
|
|
- // await store.dispatch('getFact')
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- console.log("token", token)
|
|
|
|
- await store.dispatch("getFloors")
|
|
|
|
- await store.dispatch("getBrand")
|
|
|
|
|
|
+ // 有token 将数据 isPreview赋给 vuex方便取值
|
|
|
|
+ store.commit('SETISPREVIEW', sessionStorage.getItem("SETISPREVIEW"))
|
|
// 如果在跳转获取token之前保存了指定的路径,则后去token后需要跳转到相关页面
|
|
// 如果在跳转获取token之前保存了指定的路径,则后去token后需要跳转到相关页面
|
|
if (sessionStorage.getItem("TOURL")) {
|
|
if (sessionStorage.getItem("TOURL")) {
|
|
// 如果去的地址等于缓存的地址
|
|
// 如果去的地址等于缓存的地址
|
|
if (sessionStorage.getItem("TOURL") == to.path) {
|
|
if (sessionStorage.getItem("TOURL") == to.path) {
|
|
sessionStorage.setItem("TOURL", '')
|
|
sessionStorage.setItem("TOURL", '')
|
|
|
|
+ if (to.path == "/") {
|
|
|
|
+ next("/group")
|
|
|
|
+ }
|
|
|
|
+ if (to.path == "/group" || to.path == "/home/homepage") {
|
|
|
|
+ if (store.state.accessLevel == -1) {
|
|
|
|
+ await store.dispatch("getUserInfo", router)
|
|
|
|
+ console.log('getUserInfo', 4)
|
|
|
|
+ await store.dispatch("getBrand")
|
|
|
|
+ // await store.dispatch('getFact')
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ await store.dispatch("getFloors")
|
|
|
|
+ await store.dispatch("getBrand")
|
|
next()
|
|
next()
|
|
} else {
|
|
} else {
|
|
next(sessionStorage.getItem("TOURL"))
|
|
next(sessionStorage.getItem("TOURL"))
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
|
|
+ if (to.path == "/") {
|
|
|
|
+ next("/group")
|
|
|
|
+ }
|
|
|
|
+ if (to.path == "/group" || to.path == "/home/homepage") {
|
|
|
|
+ if (store.state.accessLevel == -1) {
|
|
|
|
+ await store.dispatch("getUserInfo", router)
|
|
|
|
+ console.log('getUserInfo', 4)
|
|
|
|
+ await store.dispatch("getBrand")
|
|
|
|
+ // await store.dispatch('getFact')
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ await store.dispatch("getFloors")
|
|
|
|
+ await store.dispatch("getBrand")
|
|
next()
|
|
next()
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
} else {
|
|
} else {
|
|
- let lastRoute = {
|
|
|
|
- path: to.path,
|
|
|
|
- params: to.params,
|
|
|
|
- query: to.query,
|
|
|
|
- }
|
|
|
|
- store.commit("SETLASTROUTER", lastRoute)
|
|
|
|
- let ssoServer = "http://oauth.wanda-dev.cn"
|
|
|
|
- if (process.env.NODE_ENV == "wanda_build") {
|
|
|
|
- ssoServer = "http://oauth.wanda.cn"
|
|
|
|
- }
|
|
|
|
- let systemcode = "CAD156",
|
|
|
|
- signal = new Date().getTime(),
|
|
|
|
- version = "1.0.0";
|
|
|
|
- // 获取token前需要保存跳转前路径
|
|
|
|
- if (!ignore.includes(to.path)) {
|
|
|
|
- sessionStorage.setItem("TOURL", to.path)
|
|
|
|
- } else {
|
|
|
|
- // 如果重定向前为404则跳入/
|
|
|
|
- sessionStorage.setItem("TOURL", '/')
|
|
|
|
- }
|
|
|
|
- window.location.href = `${ssoServer}/login?systemcode=${systemcode}&signal=${signal}&version=${version}`
|
|
|
|
|
|
+ redirectGetToken(to,from)
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
next()
|
|
next()
|
|
@@ -197,4 +186,43 @@ router.afterEach((to) => {
|
|
console.log("error", res)
|
|
console.log("error", res)
|
|
})
|
|
})
|
|
})
|
|
})
|
|
|
|
+
|
|
|
|
+function redirectGetToken (to) {
|
|
|
|
+ let lastRoute = {
|
|
|
|
+ path: to.path,
|
|
|
|
+ params: to.params,
|
|
|
|
+ query: to.query,
|
|
|
|
+ }
|
|
|
|
+ store.commit("SETLASTROUTER", lastRoute)
|
|
|
|
+ let ssoServer = "http://oauth.wanda-dev.cn"
|
|
|
|
+ if (process.env.NODE_ENV == "wanda_build") {
|
|
|
|
+ ssoServer = "http://oauth.wanda.cn"
|
|
|
|
+ }
|
|
|
|
+ let systemcode = "CAD156",
|
|
|
|
+ signal = new Date().getTime(),
|
|
|
|
+ version = "1.0.0";
|
|
|
|
+ // 获取token前需要保存跳转前路径
|
|
|
|
+ if (!ignore.includes(to.path)) {
|
|
|
|
+ console.log('to.query.isPreview',to.query.isPreview);
|
|
|
|
+ console.log('to.query.isPreview',to.query.plazaId)
|
|
|
|
+ let previewUrl = to.query.isPreview ? to.query.isPreview : '';
|
|
|
|
+ let plazaId = to.query.plazaId ?to.query.plazaId:''
|
|
|
|
+ if (previewUrl) {
|
|
|
|
+ sessionStorage.setItem("SETISPREVIEW", previewUrl)
|
|
|
|
+ store.commit('SETISPREVIEW', previewUrl)
|
|
|
|
+ }else{
|
|
|
|
+ sessionStorage.setItem("SETISPREVIEW", 'false')
|
|
|
|
+ store.commit('SETISPREVIEW', 'false')
|
|
|
|
+ }
|
|
|
|
+ if (plazaId) {
|
|
|
|
+ localStorage.setItem('PLAZAID', plazaId)
|
|
|
|
+ store.commit('STOREPLAZAID', plazaId)
|
|
|
|
+ }
|
|
|
|
+ sessionStorage.setItem("TOURL", to.path)
|
|
|
|
+ } else {
|
|
|
|
+ // 如果重定向前为404则跳入/
|
|
|
|
+ sessionStorage.setItem("TOURL", '/')
|
|
|
|
+ }
|
|
|
|
+ window.location.href = `${ssoServer}/login?systemcode=${systemcode}&signal=${signal}&version=${version}`
|
|
|
|
+}
|
|
export default router
|
|
export default router
|