From 40f4c8f438295248600b90dcceb5fa0444d42f39 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期日, 12 一月 2020 16:52:53 +0800 Subject: [PATCH] 2020-01-12 --- src/components/header/index.scss | 2 + src/views/login/loginform.jsx | 1 src/api/index.js | 13 +++++- src/components/header/index.jsx | 31 +++++++-------- src/components/sidemenu/index.jsx | 26 +++++++------ src/router/index.js | 39 ++++++++++++++----- src/tabviews/tableshare/actionList/index.jsx | 6 +++ src/views/login/index.jsx | 1 8 files changed, 77 insertions(+), 42 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index 485b065..b89eb20 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -1,11 +1,11 @@ import axios from 'axios' import qs from 'qs' import {notification } from 'antd' +// import md5 from 'md5' +// import Utils from '@/utils/utils.js' import options from '@/store/options.js' -// axios.defaults.baseURL = 'http://qingqiumarket.cn' axios.defaults.crossDomain = true -// axios.defaults.headers.common['token'] = 'token' axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8' axios.defaults.withCredentials = true @@ -16,7 +16,7 @@ } else if (config.url.includes('Upload')) { config.headers = { 'Content-Type': 'multipart/form-data' } } else { - config.headers.token = sessionStorage.getItem('TOKEN') || '' + // config.headers.token = sessionStorage.getItem('TOKEN') || '' config.data = JSON.stringify(config.data) } @@ -123,6 +123,13 @@ param.rduri = window.GLOB.mainSystemApi } + // param.nonc = Utils.getuuid() + // param._ = new Date().getTime() + + // let keys = Object.keys(param).sort() + // let values = keys.map(key => key + param[key]).join('') + // param.sign = md5(values) + return axios({ url: '/webapi/dostar', data: param diff --git a/src/components/header/index.jsx b/src/components/header/index.jsx index db7d91c..bd76670 100644 --- a/src/components/header/index.jsx +++ b/src/components/header/index.jsx @@ -46,6 +46,7 @@ logourl: window.GLOB.mainlogo || logourl, loginVisible: false, loginLoading: false, + avatar: avatar, systems: [] } @@ -152,23 +153,15 @@ // 鑾峰彇涓昏彍鍗� let result = await Api.getSystemConfig({func: 'sPC_Get_MainMenu'}) if (result.status) { - let _avatar = Utils.getrealurl(result.HeadIcon) // 澶村儚 - if (_avatar) { - avatar = _avatar - } - if (result.debug === 'true') { // 鏄惁涓篸ebug妯″紡锛屽嵆鍙鍒惰彍鍗曞弬鏁� this.props.resetDebug() } - let param = sessionStorage.getItem('view_param') // 鏄惁涓烘墦寮�鏂伴〉闈� - if (param) { + let MainMenuId = sessionStorage.getItem('MainMenu') // 鏄惁涓烘墦寮�鏂伴〉闈� + if (MainMenuId) { // 閫氳繃url涓璵enuid绛涢�夊嚭閫変腑鐨勪富鑿滃崟 - let menuId = param.split('&')[0] - let _menu = result.data.filter(item => item.MenuID === menuId)[0] - if (!_menu) { - sessionStorage.removeItem('view_param') - } + let _menu = result.data.filter(item => item.MenuID === MainMenuId)[0] + sessionStorage.removeItem('MainMenu') this.props.modifyMainMenu(_menu || result.data[0]) } else { this.props.modifyMainMenu(result.data[0]) @@ -291,11 +284,17 @@ } changeSystem = (system) => { - console.log(system) + let _param = window.btoa('ud=' + sessionStorage.getItem('UserID') + '&sd=' + sessionStorage.getItem('SessionUid') + '&ld=' + sessionStorage.getItem('LoginUID') + '&un=' + sessionStorage.getItem('User_Name')) + window.location.href = system.LinkUrl1 + '#/ssologin/' + _param } UNSAFE_componentWillMount () { // 缁勪欢鍔犺浇鏃讹紝鑾峰彇鑿滃崟鏁版嵁 + let _avatar = sessionStorage.getItem('avatar') + if (_avatar) { + _avatar = Utils.getrealurl(_avatar) // 澶村儚 + this.setState({avatar: _avatar}) + } this.loadmenu() } @@ -319,11 +318,11 @@ <Switch size="small" className="edit-switch" disabled={!!this.props.editLevel} checked={this.props.editState} onChange={this.changeEditState} /> </Menu.Item>} {!this.props.editState ? <Menu.Item key="1" onClick={this.changePassword}>{this.state.dict['header.password']}</Menu.Item> : null} - <Menu.SubMenu title="鍒囨崲绯荤粺"> + {this.state.systems.length > 0 ? <Menu.SubMenu title="鍒囨崲绯荤粺"> {this.state.systems.map((system, index) => ( <Menu.Item className="header-subSystem" key={'sub' + index} onClick={() => {this.changeSystem(system)}}> {system.AppName} </Menu.Item> ))} - </Menu.SubMenu> + </Menu.SubMenu> : null} <Menu.Item key="2" onClick={this.logout}>{this.state.dict['header.logout']}</Menu.Item> </Menu> ) @@ -352,7 +351,7 @@ {/* 澶村儚銆佺敤鎴峰悕 */} <Dropdown className="header-setting" overlay={menu}> <div> - <img src={avatar} alt=""/> + <img src={this.state.avatar} alt=""/> <span> <span className="username">{this.state.userName}</span> <Icon type="down" /> </span> diff --git a/src/components/header/index.scss b/src/components/header/index.scss index f4a50f4..fdcee77 100644 --- a/src/components/header/index.scss +++ b/src/components/header/index.scss @@ -79,6 +79,8 @@ line-height: 48px; margin-right: 10px; img { + width: 29px; + height: 29px; border-radius: 30px; margin-right: 7px; } diff --git a/src/components/sidemenu/index.jsx b/src/components/sidemenu/index.jsx index e52bbf3..1bdb8b8 100644 --- a/src/components/sidemenu/index.jsx +++ b/src/components/sidemenu/index.jsx @@ -48,27 +48,28 @@ return } - let param = sessionStorage.getItem('view_param') // 鏄惁涓烘墦寮�鏂伴〉闈� - let msg = sessionStorage.getItem('UserID') + '&' + sessionStorage.getItem('SessionUid') + '&' + sessionStorage.getItem('LoginUID') + let SubMenuId = sessionStorage.getItem('SubMenu') // 鏄惁涓烘墦寮�鏂伴〉闈� + let ThirdMenuId = sessionStorage.getItem('ThirdMenu') // 鏄惁涓烘墦寮�鏂伴〉闈� + let msg = sessionStorage.getItem('UserID') + '&sd=' + sessionStorage.getItem('SessionUid') + '&ld=' + sessionStorage.getItem('LoginUID') + '&un=' + sessionStorage.getItem('User_Name') let submenuId = '' // 灞曞紑浜岀骇鑿滃崟ID let tabId = '' // 鎵撳紑鐨則ab椤礽d - if (param) { - param = param.split('&') - submenuId = param[1] - let submenu = result.data.filter(item => item.ParentID === submenuId)[0] + if (SubMenuId && ThirdMenuId) { + submenuId = SubMenuId + let submenu = result.data.filter(item => item.ParentID === SubMenuId)[0] if (!submenu) { submenuId = '' } else { - tabId = param[2] - let tabmenu = submenu.FunMenu.filter(item => item.MenuID === tabId)[0] + tabId = ThirdMenuId + let tabmenu = submenu.FunMenu.filter(item => item.MenuID === ThirdMenuId)[0] if (!tabmenu) { submenuId = '' tabId = '' } } - sessionStorage.removeItem('view_param') + sessionStorage.removeItem('SubMenu') + sessionStorage.removeItem('ThirdMenu') } let parentID = submenuId ? submenuId : result.data[0].ParentID // 灞曞紑浜岀骇鑿滃崟ID @@ -85,7 +86,7 @@ if (item.FunMenu) { _smenu.children = item.FunMenu.map((child, n) => { let _tmenu = {} - let _msg = window.btoa(menu.MenuID + '&' + _smenu.MenuID + '&' + child.MenuID + '&' + msg) // 寰呭畬鍠� + let _msg = window.btoa('mm=' + menu.MenuID + '&sm=' + _smenu.MenuID + '&tm=' + child.MenuID + '&ud=' + msg) // 寰呭畬鍠� _tmenu.src = '#/main/' + _msg if (child.LinkUrl === 'CommonTable') { _tmenu.type = 'CommonTable' @@ -128,10 +129,11 @@ if (tabId) { let _menu = menulist.filter(menu => menu.MenuID === submenuId)[0] let opentab = _menu && _menu.children.filter(tab => tab.MenuID === tabId)[0] - if (opentab) { opentab.selected = true - this.props.modifyTabview([opentab]) + let home = this.props.tabviews[0] + home.selected = false + this.props.modifyTabview([home, opentab]) } } } else { diff --git a/src/router/index.js b/src/router/index.js index bf812ca..59db3d9 100644 --- a/src/router/index.js +++ b/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') { // 鏂扮獥鍙f墦寮�锛屽彇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}}}/>) } } diff --git a/src/tabviews/tableshare/actionList/index.jsx b/src/tabviews/tableshare/actionList/index.jsx index 3957b61..47693ca 100644 --- a/src/tabviews/tableshare/actionList/index.jsx +++ b/src/tabviews/tableshare/actionList/index.jsx @@ -305,6 +305,12 @@ param[setting.primaryKey] = ids.join(',') } + if (btn.OpenType === 'pop' && formdata) { // 琛ㄥ崟 + formdata.forEach(_data => { + param[_data.key] = _data.value + }) + } + new Promise(resolve => { // 鍐呴儴璇锋眰 if (btn.innerFunc) { diff --git a/src/views/login/index.jsx b/src/views/login/index.jsx index 8735bcb..0767646 100644 --- a/src/views/login/index.jsx +++ b/src/views/login/index.jsx @@ -64,6 +64,7 @@ sessionStorage.setItem('SessionUid', Utils.getuuid()) sessionStorage.setItem('LoginUID', res.LoginUID) sessionStorage.setItem('User_Name', res.UserName) + sessionStorage.setItem('avatar', res.icon) localStorage.setItem('lang', param.lang) diff --git a/src/views/login/loginform.jsx b/src/views/login/loginform.jsx index 617b1c2..0b47002 100644 --- a/src/views/login/loginform.jsx +++ b/src/views/login/loginform.jsx @@ -98,6 +98,7 @@ <Input prefix={<Icon type="user" style={{ color: 'rgba(0,0,0,.25)' }} />} placeholder={this.props.dict['login.username']} + autoComplete="off" />, )} </Form.Item> -- Gitblit v1.8.0