From d4d2b680baff18f950da5e77463c1f0e26dbd567 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 03 四月 2025 10:10:25 +0800 Subject: [PATCH] 2025-04-03 --- src/views/login/index.jsx | 162 +++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 124 insertions(+), 38 deletions(-) diff --git a/src/views/login/index.jsx b/src/views/login/index.jsx index 35d5a38..d0bc503 100644 --- a/src/views/login/index.jsx +++ b/src/views/login/index.jsx @@ -34,6 +34,24 @@ syncing: false, } + UNSAFE_componentWillMount() { + localStorage.removeItem('UserID') + localStorage.removeItem('LoginUID') + localStorage.removeItem('User_Name') + localStorage.removeItem('Full_Name') + localStorage.removeItem('avatar') + localStorage.removeItem('dataM') + localStorage.removeItem('localDataM') + localStorage.removeItem('debug') + localStorage.removeItem('role_id') + + let lang = sessionStorage.getItem('lang') || 'zh-CN' + + sessionStorage.clear() + + sessionStorage.setItem('lang', lang) + } + handleSubmit = () => { this.loginformRef.handleConfirm().then(res => { this.setState({ @@ -70,7 +88,20 @@ return } } - + + localStorage.setItem('UserID', res.UserID) + localStorage.setItem('LoginUID', res.LoginUID) + localStorage.setItem('User_Name', res.UserName) + localStorage.setItem('Full_Name', res.FullName) + localStorage.setItem('avatar', res.icon || '') + localStorage.setItem('dataM', res.dataM ? 'true' : '') + localStorage.setItem('localDataM', res.dataM ? 'true' : '') + localStorage.setItem('debug', res.debug || '') + localStorage.setItem('role_id', res.role_id || '') + localStorage.setItem('departmentcode', res.departmentcode || '') + localStorage.setItem('organization', res.organization || '') + localStorage.setItem('mk_user_type', res.mk_user_type || '') + sessionStorage.setItem('UserID', res.UserID) sessionStorage.setItem('LoginUID', res.LoginUID) sessionStorage.setItem('User_Name', res.UserName) @@ -87,6 +118,9 @@ sessionStorage.setItem('externalDatabase', res.paas_externalDatabase) window.GLOB.externalDatabase = `[${res.paas_externalDatabase}]..` } + + // localStorage.setItem(_href + 'lang', param.lang || 'zh-CN') + // sessionStorage.setItem('lang', param.lang || 'zh-CN') sessionStorage.removeItem('visitorUserID') sessionStorage.removeItem('visitorLoginUID') @@ -159,12 +193,31 @@ } } - let iframe = sessionStorage.getItem('iframe') - if (iframe) { - sessionStorage.removeItem('iframe') - this.props.history.replace(iframe.replace(/@loginuid@/, res.LoginUID)) + if (process.env.NODE_ENV === 'production' && param.username !== 'IF_DMS_APP') { + let _param = { + UserName: param.username, + Password: param.password, + BasePath: '/' + } + Api.loginAndRedirect(_param).then(result => { + if (result.IsError) { + this.setState({ + isDisabled: false + }) + message.warning('鐧诲綍澶辫触,鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒!') + } else { + let lang = sessionStorage.getItem('lang') !== 'en-US' ? '/zh-CN' : '/en-US' + window.location.replace(document.location.origin + lang + '/Home/Index') + } + }) } else { - this.props.history.replace('/main') + let iframe = sessionStorage.getItem('iframe') + if (iframe) { + sessionStorage.removeItem('iframe') + this.props.history.replace(iframe.replace(/@loginuid@/, res.LoginUID)) + } else { + this.props.history.replace('/main') + } } } else if (res.ErrCode === 'Need_Get_Appkey' && window.GLOB.sysType === 'SSO') { message.warning('搴旂敤灏氭湭鍒涘缓锛岃鍚戜簯绔悓姝ュ簲鐢紒') @@ -213,6 +266,9 @@ sessionStorage.setItem('externalDatabase', res.paas_externalDatabase) window.GLOB.externalDatabase = `[${res.paas_externalDatabase}]..` } + + // localStorage.setItem(_href + 'lang', param.lang || 'zh-CN') + // sessionStorage.setItem('lang', param.lang || 'zh-CN') sessionStorage.removeItem('visitorUserID') sessionStorage.removeItem('visitorLoginUID') @@ -611,6 +667,20 @@ if (!['shutter', 'linkage_navigation', 'linkage', 'menu_board', 'menu_board_navigation'].includes(res.menu_type)) { res.menu_type = 'shutter' } + + let loginOtop = '' + let loginOleft = '' + let windowWidth = window.innerWidth + let fix = null + res.login_screen_offset && res.login_screen_offset.forEach(item => { + if (!item.offset_x && !item.offset_y) return + + if (fix === null || Math.abs(windowWidth - item.resolution_width) < fix) { + fix = Math.abs(windowWidth - item.resolution_width) + loginOtop = item.offset_y + item.y_unit + loginOleft = item.offset_x + item.x_unit + } + }) let systemMsg = { favicon: res.titlelogo || '', @@ -628,7 +698,9 @@ navBar: res.menu_type, // shutter 鐧惧彾绐椼�乴inkage_navigation 鑱斿姩鑿滃崟銆乴inkage 鑱斿姩鑿滃崟_鏃犲鑸爮銆乵enu_board 鑿滃崟闈㈡澘銆乵enu_board_navigation 鑿滃崟闈㈡澘_鏍囩椤� app_version: res.app_version, Member_Level: 0, - appname: res.appname || '' + appname: res.appname || '', + loginOtop: loginOtop, + loginOleft: loginOleft } if ([10, 20, 30, 40, 50, 60, 70, 80, 90, 100].includes(res.member_level)) { @@ -742,6 +814,9 @@ window.location.reload() return } + + window.GLOB.loginOtop = systemMsg.loginOtop + window.GLOB.loginOleft = systemMsg.loginOleft this.setState({ loginWays: login_ways, @@ -768,32 +843,32 @@ } // positecgroup - // if (res.users_upt === 'true' && window.GLOB.systemType === 'production') { - // Api.genericInterface({ - // func: 's_Get_local_u_deleted', - // users_upt_date: res.users_upt_date, - // userid: result.UserID, - // LoginUID: result.LoginUID - // }).then(localres => { - // if (!localres.status) return - // Api.getSystemConfig({ - // func: 's_get_sso_u_create', - // user_ids: localres.user_ids, - // user_ids_local: localres.user_ids_local, - // users_upt_date: localres.users_upt_date, - // userid: result.UserID, - // LoginUID: result.LoginUID - // }).then(ssores => { - // if (!ssores.status) return - // Api.genericInterface({ - // func: 's_get_local_u_create', - // user_ids_local: ssores.user_ids_local, - // userid: result.UserID, - // LoginUID: result.LoginUID - // }) - // }) - // }) - // } + if (res.users_upt === 'true' && window.GLOB.systemType === 'production') { + Api.genericInterface({ + func: 's_Get_local_u_deleted', + users_upt_date: res.users_upt_date, + userid: result.UserID, + LoginUID: result.LoginUID + }).then(localres => { + if (!localres.status) return + Api.getSystemConfig({ + func: 's_get_sso_u_create', + user_ids: localres.user_ids, + user_ids_local: localres.user_ids_local, + users_upt_date: localres.users_upt_date, + userid: result.UserID, + LoginUID: result.LoginUID + }).then(ssores => { + if (!ssores.status) return + Api.genericInterface({ + func: 's_get_local_u_create', + user_ids_local: ssores.user_ids_local, + userid: result.UserID, + LoginUID: result.LoginUID + }) + }) + }) + } } else { message.warning(res.message) } @@ -966,18 +1041,30 @@ } render () { - const { lineColor, bgImage, loginlogo, copyRight, webSite, ICP, loginWays } = this.state + const { lineColor, loginlogo, bgImage, copyRight, webSite, ICP, loginWays, platName } = this.state + + let wrapStyle = {} + + if (bgImage) { + wrapStyle.backgroundImage = `url(${bgImage})` + } + if (window.GLOB.loginOtop) { + wrapStyle['--mk-login-offset-top'] = window.GLOB.loginOtop + } + if (window.GLOB.loginOleft) { + wrapStyle['--mk-login-offset-left'] = window.GLOB.loginOleft + } return ( - <div className="login-container" id="mk-login-view" style={bgImage ? {backgroundImage: 'url(' + bgImage + ')'} : {}}> + <div className="login-container" id="mk-login-view" style={wrapStyle}> <div className="logo" style={lineColor ? {borderColor: lineColor} : {}}> {loginlogo ? <img src={loginlogo} alt=""/> : null} - {this.state.platName ? <p className="plat-name">{this.state.platName}</p> : null} </div> - <div className="login-middle" style={lineColor ? {borderColor: lineColor} : {}}> + <div className="login-middle"> {loginWays ? <LoginForm auth={this.state.auth} authError={this.state.authError} + platName={platName} loginWays={loginWays} langList={this.state.langList} isDisabled={this.state.isDisabled} @@ -991,7 +1078,6 @@ <a target="_blank" rel="noopener noreferrer" href={webSite} dangerouslySetInnerHTML={{ __html: copyRight.replace(/\s/ig, ' ') }}></a> : <p dangerouslySetInnerHTML={{ __html: copyRight ? copyRight.replace(/\s/ig, ' ') : '' }}></p> } - <br/> {ICP ? <a target="_blank" rel="noopener noreferrer" href="https://beian.miit.gov.cn/#/Integrated/index" dangerouslySetInnerHTML={{ __html: ICP.replace(/\s/ig, ' ') }}></a> : null} </div> {/* 缂栬緫鐘舵�佺櫥褰� */} -- Gitblit v1.8.0