From 9a11e62adeb8d435b52a361eb62d5b59e1deef2a Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 23 五月 2024 21:14:50 +0800 Subject: [PATCH] 2024-05-23 --- src/views/login/index.jsx | 176 +++++++++++++++++++++++++++------------------------------- 1 files changed, 82 insertions(+), 94 deletions(-) diff --git a/src/views/login/index.jsx b/src/views/login/index.jsx index c37fe44..d8a5ada 100644 --- a/src/views/login/index.jsx +++ b/src/views/login/index.jsx @@ -6,7 +6,7 @@ import Api from '@/api' import Utils from '@/utils/utils.js' import MKEmitter from '@/utils/events.js' -import options, { styles } from '@/store/options.js' +import { styles } from '@/store/options.js' import zhCN from '@/locales/zh-CN/login.js' import enUS from '@/locales/en-US/login.js' import asyncComponent from '@/utils/asyncComponent' @@ -39,13 +39,6 @@ loginWays: null, touristLogin: false, syncing: false, - } - - changelang (item) { - // 鍒囨崲璇█ - this.setState({ - dict: item === 'zh-CN' ? zhCN : enUS - }) } handleSubmit = () => { @@ -108,11 +101,28 @@ sessionStorage.removeItem('visitorUserID') sessionStorage.removeItem('visitorLoginUID') - if (param.remember) { // 璁颁綇瀵嗙爜鏃惰处鍙峰瘑鐮佸瓨鍏ocalStorage - localStorage.setItem(_href, window.btoa(window.encodeURIComponent(JSON.stringify({username: param.username, password: param.password})))) + let users = localStorage.getItem(_href + 'users') + + if (users) { + try { + users = JSON.parse(window.decodeURIComponent(window.atob(users))) + } catch (e) { + console.warn('Parse Failure') + users = [] + } } else { - localStorage.removeItem(_href) + users = [] } + + users = users.filter(item => item.username !== param.username) + + if (users.length > 4) { + users.length = 4 + } + + users.unshift({username: param.username, password: param.remember ? param.password : ''}) + + localStorage.setItem(_href + 'users', window.btoa(window.encodeURIComponent(JSON.stringify(users)))) let level = localStorage.getItem(_href + 'pwdlevel') @@ -156,7 +166,7 @@ } else { this.props.history.replace('/main') } - } else if (res.ErrCode === 'Need_Get_Appkey' && options.sysType === 'SSO') { + } else if (res.ErrCode === 'Need_Get_Appkey' && window.GLOB.sysType === 'SSO') { message.warning('搴旂敤灏氭湭鍒涘缓锛岃鍚戜簯绔悓姝ュ簲鐢紒') this.setState({ @@ -171,7 +181,8 @@ input.select() } } else if (res.message.indexOf('鐧诲綍鏉冮檺') > -1) { - const input = document.getElementById('username') + const wrap = document.getElementById('username') + const input = wrap ? wrap.getElementsByTagName('input')[0] : null if (input) { input.select() } @@ -216,7 +227,7 @@ } else { this.props.history.replace('/main') } - } else if (res.ErrCode === 'Need_Get_Appkey' && options.sysType === 'SSO') { + } else if (res.ErrCode === 'Need_Get_Appkey' && window.GLOB.sysType === 'SSO') { message.warning('搴旂敤灏氭湭鍒涘缓锛岃鍚戜簯绔悓姝ュ簲鐢紒') this.setState({ @@ -261,7 +272,7 @@ } else { this.props.history.replace('/main') } - } else if (res.ErrCode === 'Need_Get_Appkey' && options.sysType === 'SSO') { + } else if (res.ErrCode === 'Need_Get_Appkey' && window.GLOB.sysType === 'SSO') { message.warning('搴旂敤灏氭湭鍒涘缓锛岃鍚戜簯绔悓姝ュ簲鐢紒') this.setState({ @@ -295,42 +306,10 @@ }) } - // handleItem = (list) => { - // let param = list.shift() - // Object.keys(param).forEach(key => { - // if (param[key] === null) { - // param[key] = '' - // } - // }) - // Api.directRequest({ - // url: 'http://bms.kresstools.cn/oc/webapi/dostar/zsn_app_bddmsdealersm_add_upt', - // method: 'post', - // data: JSON.stringify({ - // func: 'zsn_app_bddmsdealersm_add_upt', - // userid: '', - // ...param - // }) - // }).then(res => { - // if (res.status && list.length > 0) { - // this.handleItem(list) - // } else { - // console.log(list) - // } - // }) - // } - componentDidMount () { // md5("/ws/location/v1/ip?callback=callbackFunction&key=key&output=jsonp secret key") // md5("/ws/location/v1/ip?callback=callbackFunction&key=BA7BZ-4QB65-LFCIA-QPDA6-4G6O7-MJB4Q&output=jsonpuThL4ZM3XOj642ksEQh76tyHFjh4") - // Api.directRequest({ - // url: 'http://bms.kresstools.cn/saas-mp-open-api/shop/shopStore/getAllStoreList', - // method: 'get' - // }).then(res => { - // if (res && res.code === 0 && res.data && res.data.length > 0) { - // this.handleItem(res.data) - // } - // }) setTimeout(() => { Api.delCacheConfig() }, 50) @@ -357,6 +336,7 @@ authCode = authCode ? authCode.split(',') : [] let index = authCode.findIndex(key => key === _s) let license = false + let appkey = window.GLOB.localkey || window.GLOB.appkey if (window.GLOB.licenseKey) { if (window.GLOB.licenseKey.length !== 20) { @@ -365,7 +345,7 @@ okText: '鐭ラ亾浜�' }) } else { - let key = md5(window.GLOB.appId + 'minke_software' + window.GLOB.appkey).toUpperCase().substr(-6) + let key = md5(window.GLOB.appId + 'minke_software' + appkey).toUpperCase().substr(-6) let key1 = window.GLOB.licenseKey.substring(0, 6) let key2 = window.GLOB.licenseKey.substring(6, 14) @@ -373,7 +353,7 @@ let key4 = md5(key1 + key2).toUpperCase().substr(-6) if (key === key1 && key3 === key4) { - let last = window.GLOB.appkey[window.GLOB.appkey.length - 1] + let last = appkey[appkey.length - 1] let offset = 0 let keys = {} @@ -437,22 +417,17 @@ } if (!window.GLOB.licenseKey && (index === -1 || index > 5)) { - let _appId = window.GLOB.appId - - if (options.sysType === 'cloud') { // 浜戠浣跨敤绯荤粺閰嶇疆appid - _appId = options.caId - } - - let str = md5('MK19' + _appId + timeStamp) + let str = md5('MK19' + window.GLOB.appId + timeStamp) let _rduri = window.atob('aHR0cHM6Ly9lcGMubWs5aC5$mkjbi93ZWJhcGkvZG9zdGFycw=='.replace(/\$mk/ig, '')) let _func = window.atob('c0VtcG93ZXJDbG91$mkZF9HZXRfTGlua1VybA=='.replace(/\$mk/ig, '')) let _id = window.atob('YmgwYmFwYWJ0ZDQ1ZXBz$mkZ3JhNzlzZWdiY2g2YzFpYms='.replace(/\$mk/ig, '')) let param = { func: _func, - AppID: _appId, + AppID: window.GLOB.appId, TimeStamp: timeStamp, - appkey: window.GLOB.appkey, + appkey: appkey, + SessionUid: localStorage.getItem('SessionUid') || '', userid: _id, LoginUID: _id, nonc: Utils.getuuid() @@ -489,6 +464,16 @@ } box = box.join(',') localStorage.setItem(_authUrl, box) + + if (res.e_files === 'true') { + localStorage.setItem(_href + 'files', md5(_href + 'files')) + localStorage.setItem(_href + 'filesDate', res.e_files_end_date) + window.GLOB.storeFiles = true + window.GLOB.storeDate = Math.ceil((new Date(res.e_files_end_date).getTime() - new Date().getTime()) / 86400000) + } else { + localStorage.removeItem(_href + 'files') + window.GLOB.storeFiles = false + } this.setState({ auth: true @@ -502,6 +487,9 @@ } } else { localStorage.removeItem(_authUrl) + localStorage.removeItem(_href + 'files') + window.GLOB.storeFiles = false + this.setState({ auth: false }) @@ -555,20 +543,20 @@ Api.getTouristMsg().then(result => { if (result.status) { - if (result.website && process.env.NODE_ENV === 'production') { - let website = result.website.replace(/http(s)?:\/\/|\/$/ig, '').toLowerCase() - let current = window.GLOB.baseurl.replace(/http(s)?:\/\/|\/$/ig, '').toLowerCase() + // if (result.website && process.env.NODE_ENV === 'production') { + // let website = result.website.replace(/http(s)?:\/\/|\/$/ig, '').toLowerCase() + // let current = window.GLOB.baseurl.replace(/http(s)?:\/\/|\/$/ig, '').toLowerCase() - if (website !== current) { - try { - window.history.replaceState(null, null, result.website.replace(/\/$/ig, '') + '/admin/index.html#/login') - window.location.reload() - } catch(e) { - window.location.href = result.website.replace(/\/$/ig, '') + '/admin/index.html#/login' - } - return - } - } + // if (website !== current) { + // try { + // window.history.replaceState(null, null, result.website.replace(/\/$/ig, '') + '/admin/index.html#/login') + // window.location.reload() + // } catch(e) { + // window.location.href = result.website.replace(/\/$/ig, '') + '/admin/index.html#/login' + // } + // return + // } + // } sessionStorage.setItem('visitorUserID', result.UserID || '') sessionStorage.setItem('visitorLoginUID', result.LoginUID || '') @@ -581,7 +569,8 @@ let _param = { func: 's_Get_style', TypeCharOne: 'PC', - LText: `select '${window.GLOB.appkey}'`, + LText: `select '${appkey}'`, + appkey: appkey } _param.userid = result.UserID @@ -593,14 +582,8 @@ if (!res) return if (res.status) { - // positecgroup - // res.Banner = res.Banner ? res.Banner.replace(/:8080/ig, '').replace(/http:/ig, 'https:') : '' - // res.doclogo = res.doclogo ? res.doclogo.replace(/:8080/ig, '').replace(/http:/ig, 'https:') : '' - // res.indexlogo = res.indexlogo ? res.indexlogo.replace(/:8080/ig, '').replace(/http:/ig, 'https:') : '' - // res.loginlogo = res.loginlogo ? res.loginlogo.replace(/:8080/ig, '').replace(/http:/ig, 'https:') : '' - - if (options.sysType === 'local' && window.GLOB.systemType !== 'production') { - if (md5(('mk' + window.GLOB.appkey + res.sys_datetime + res.member_type + res.registry_date).toLowerCase()) !== res.secret_key) { + if (window.GLOB.sysType === 'local' && window.GLOB.systemType !== 'production') { + if (md5(('mk' + appkey + res.sys_datetime + res.member_type + res.registry_date).toLowerCase()) !== res.secret_key) { Modal.warning({ title: '瀵嗛挜閿欒锛岃鑱旂郴绠$悊鍛橈紒', okText: '鐭ラ亾浜�' @@ -638,7 +621,19 @@ showline: res.split_line_show || 'true', webSite: res.WebSite || '', navBar: res.menu_type, // shutter 鐧惧彾绐椼�乴inkage_navigation 鑱斿姩鑿滃崟銆乴inkage 鑱斿姩鑿滃崟_鏃犲鑸爮銆乵enu_board 鑿滃崟闈㈡澘銆乵enu_board_navigation 鑿滃崟闈㈡澘_鏍囩椤� - app_version: res.app_version + app_version: res.app_version, + Member_Level: 0, + appname: res.appname || '' + } + + if ([10, 20, 30, 40, 50, 60, 70, 80, 90, 100].includes(res.member_level)) { + systemMsg.Member_Level = md5('mksoft' + appkey + res.member_level) + if (!window.GLOB.memberLevel) { + Object.defineProperty(window.GLOB, 'memberLevel', { + writable: false, + value: res.member_level + }) + } } let level = res.pwd_level || '' @@ -715,6 +710,7 @@ window.GLOB.style = systemMsg.style window.GLOB.navBar = systemMsg.navBar window.GLOB.appVersion = systemMsg.app_version + sessionStorage.setItem('appname', res.appname || '') if (window.GLOB.style && styles[window.GLOB.style]) { document.body.className = styles[window.GLOB.style] + ' ' + (res.split_line_show === 'false' ? 'hidden-split-line' : '') @@ -726,13 +722,6 @@ link.rel = 'shortcut icon' link.href = res.titlelogo document.getElementsByTagName('head')[0].appendChild(link) - } - - let memberLevel = res.member_level - - if (typeof(memberLevel) === 'number' && memberLevel > 10 && parseInt(memberLevel / 10) * 10 === memberLevel) { - sessionStorage.setItem('Member_Level', md5('mksoft' + window.GLOB.appkey + new Date().getFullYear() + new Date().getMonth() + memberLevel)) - window.GLOB.memberLevel = memberLevel } // positecgroup @@ -816,15 +805,15 @@ func: 's_get_app_from_cloud', UserName: '', Password: '', - systemType: options.sysType, + systemType: window.GLOB.sysType, Type: 'X', debug: 'Y' } param.appkey = window.GLOB.appkey || '' - if (options.cloudServiceApi) { - param.rduri = options.cloudServiceApi.replace('dostars', 'dostar') + if (window.GLOB.cloudServiceApi) { + param.rduri = window.GLOB.cloudServiceApi.replace('dostars', 'dostar') } this.logincloudRef.handleConfirm().then(result => { @@ -891,7 +880,6 @@ </div> <div className="login-middle" style={lineColor ? {borderColor: lineColor} : {}}> {loginWays ? <LoginForm - platName={this.state.platName} dict={this.state.dict} auth={this.state.auth} authError={this.state.authError} @@ -900,7 +888,6 @@ lang={this.state.selectedlang} langList={this.state.langList} isDisabled={this.state.isDisabled} - changelang={(value) => this.changelang(value)} handleSubmit={() => this.handleSubmit()} authLogin={this.authLogin} wrappedComponentRef={(inst) => this.loginformRef = inst} @@ -911,7 +898,8 @@ <a target="_blank" rel="noopener noreferrer" href={webSite} dangerouslySetInnerHTML={{ __html: copyRight.replace(/\s/ig, ' ') }}></a> : <p dangerouslySetInnerHTML={{ __html: copyRight ? copyRight.replace(/\s/ig, ' ') : '' }}></p> } - {ICP ? <p dangerouslySetInnerHTML={{ __html: ICP.replace(/\s/ig, ' ') }}></p> : null} + <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> {/* 缂栬緫鐘舵�佺櫥褰� */} <Modal -- Gitblit v1.8.0