king
2020-01-12 40f4c8f438295248600b90dcceb5fa0444d42f39
src/router/index.js
@@ -11,6 +11,7 @@
const routers = [
  {path: '/login', name: 'login', component: login, auth: false},
  {path: '/ssologin/:param', name: 'ssologin', auth: true},
  {path: '/main', name: 'main', component: main, auth: true},
  {path: '/main/:param', name: 'pmain', component: main, auth: true}
]
@@ -23,7 +24,32 @@
    if (item.name === 'pmain') { // 新窗口打开,取url参数放入sessionStorage
      let _param = window.atob(props.match.params.param)
      sessionStorage.setItem('view_param', _param)
      let p = {}
      _param.split('&').forEach(cell => {
        let _cell = cell.split('=')
        p[_cell[0]] = _cell[1]
      })
      sessionStorage.setItem('UserID', p.ud)
      sessionStorage.setItem('SessionUid', p.sd)
      sessionStorage.setItem('LoginUID', p.ld)
      sessionStorage.setItem('User_Name', p.un)
      sessionStorage.setItem('MainMenu', p.mm)
      sessionStorage.setItem('SubMenu', p.sm)
      sessionStorage.setItem('ThirdMenu', p.tm)
      return (<item.component {...props}/>)
    } else if (item.name === 'ssologin') {
      let _param = window.atob(props.match.params.param)
      let p = {}
      _param.split('&').forEach(cell => {
        let _cell = cell.split('=')
        p[_cell[0]] = _cell[1]
      })
      sessionStorage.setItem('UserID', p.ud)
      sessionStorage.setItem('SessionUid', p.sd)
      sessionStorage.setItem('LoginUID', p.ld)
      sessionStorage.setItem('User_Name', p.un)
      return (<Redirect to={{ pathname: '/main'}}/>)
    }
    
@@ -36,16 +62,7 @@
    if (userId && isauth) {
      return (<item.component {...props}/>)
    } else {
      let param = sessionStorage.getItem('view_param')
      if (param) {
        param = param.split('&')
        sessionStorage.setItem('UserID', param[3])
        sessionStorage.setItem('SessionUid', param[4])
        sessionStorage.setItem('LoginUID', param[5])
        return (<item.component {...props}/>)
      } else {
        return (<Redirect to={{ pathname: '/login', state: {from: props.location}}}/>)
      }
      return (<Redirect to={{ pathname: '/login', state: {from: props.location}}}/>)
    }
  }