From b91c28df2f734b680198e755b7828666e238cea0 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 21 六月 2024 16:43:44 +0800 Subject: [PATCH] Merge branch 'develop' --- src/views/login/loginform.jsx | 96 ++++++++++++++++++++++++------------------------ 1 files changed, 48 insertions(+), 48 deletions(-) diff --git a/src/views/login/loginform.jsx b/src/views/login/loginform.jsx index 33fca8a..4f4d150 100644 --- a/src/views/login/loginform.jsx +++ b/src/views/login/loginform.jsx @@ -21,11 +21,8 @@ isDisabled: PropTypes.bool, handleSubmit: PropTypes.func, authLogin: PropTypes.func, - dict: PropTypes.object, auth: PropTypes.bool, authError: PropTypes.string, - touristLogin: PropTypes.bool, - lang: PropTypes.string, langList: PropTypes.array, loginWays: PropTypes.array } @@ -42,7 +39,10 @@ verdisabled: false, hasScan: false, timeout: false, - users: [] + wayLabels: {}, + dict: window.GLOB.dict, + users: [], + lang: sessionStorage.getItem('lang') } timer = null @@ -51,9 +51,14 @@ UNSAFE_componentWillMount () { const { loginWays } = this.props let remember = true - let _url = window.location.href.split('#')[0] + + if (localStorage.getItem(window.location.href.split('#')[0] + 'users')) { // 杩囨浮 + localStorage.setItem(window.GLOB.sysSign + 'users', localStorage.getItem(window.location.href.split('#')[0] + 'users')) + localStorage.setItem(window.GLOB.sysSign + 'remember', localStorage.getItem(window.location.href.split('#')[0] + 'remember')) + localStorage.removeItem(window.location.href.split('#')[0] + 'users') + } - if (localStorage.getItem(_url + 'remember') === 'false') { + if (localStorage.getItem(window.GLOB.sysSign + 'remember') === 'false') { remember = false } if (!window.GLOB.keepKey) { @@ -63,28 +68,28 @@ let smsId = '' let hasScan = false let _loginWays = [] + let wayLabels = {app_scan: 'APP鎵爜', weixin_scan: '寰俊鎵爜', uname_pwd: '璐﹀彿鐧诲綍', sms_vcode: '鐭俊鐧诲綍'} + loginWays.forEach(item => { + item.label = window.GLOB.dict[item.type] || wayLabels[item.type] + wayLabels[item.type] = item.label if (item.type === 'sms_vcode') { - item.label = '鐭俊鐧诲綍' smsId = item.smsId _loginWays.push(item) } else if (item.type === 'uname_pwd') { - item.label = '璐﹀彿鐧诲綍' _loginWays.push(item) } else if (item.type === 'app_scan') { - item.label = 'APP鎵爜' _loginWays.push(item) hasScan = true } else if (item.type === 'weixin_scan') { - item.label = '寰俊鎵爜' _loginWays.push(item) hasScan = true } }) let activeKey = _loginWays[0].type - - let users = localStorage.getItem(_url + 'users') + + let users = localStorage.getItem(window.GLOB.sysSign + 'users') let _user = null if (users) { @@ -111,6 +116,7 @@ scanId: activeKey === 'app_scan' || activeKey === 'weixin_scan' ? Utils.getuuid() : '', timeout: false, remember, + wayLabels, hasScan }) @@ -180,22 +186,20 @@ } changelang = (val) => { - const _href = window.location.href.split('#')[0] - localStorage.setItem(_href + 'lang', val) + localStorage.setItem(window.location.href.split('#')[0] + 'lang', val) sessionStorage.setItem('lang', val) window.location.reload() } handleSubmit = e => { - const { activeKey } = this.state + const { activeKey, dict } = this.state // 鐧诲綍鍙傛暟妫�楠� e && e.preventDefault() if (!this.props.auth) { warning({ - title: this.props.authError || this.props.dict['login.auth.tip'], - okText: this.props.dict['login.ok'], - cancelText: this.props.dict['login.cancel'], + title: this.props.authError || dict['auth_tip'] || '绯荤粺鏈巿鏉冿紝璇疯仈绯荤鐞嗗憳銆�', + okText: dict['got_it'] || '鐭ラ亾浜�', onOk() {}, onCancel() {} }) @@ -275,16 +279,16 @@ } getvercode = () => { - const { smsId } = this.state + const { smsId, dict } = this.state let _phone = this.props.form.getFieldValue('phone') if (!_phone) { - message.warning('璇疯緭鍏ユ墜鏈哄彿锛�') + message.warning(dict['phone_no_required'] || '璇疯緭鍏ユ墜鏈哄彿锛�') return } else if (!/^1[3456789]\d{9}$/.test(_phone)) { - message.warning('鎵嬫満鍙锋牸寮忛敊璇紝璇烽噸濉紒') + message.warning(dict['phone_error'] || '鎵嬫満鍙锋牸寮忛敊璇紝璇烽噸濉紒') return - } else if (!this.props.touristLogin) { - message.warning('鏈幏鍙栭獙璇佺爜璁剧疆锛岃绋嶅悗鎴栧埛鏂伴噸璇曪紒') + } else if (!sessionStorage.getItem('visitorUserID') || !sessionStorage.getItem('visitorLoginUID')) { + message.warning(dict['vercode_error'] || '鏈幏鍙栭獙璇佺爜璁剧疆锛岃绋嶅悗鎴栧埛鏂伴噸璇曪紒') return } @@ -392,9 +396,8 @@ rememberChange = (e) => { let val = e.target.checked - let _url = window.location.href.split('#')[0] - localStorage.setItem(_url + 'remember', val) + localStorage.setItem(window.GLOB.sysSign + 'remember', val) } complete = (val) => { @@ -422,9 +425,7 @@ this.setState({users: _users}) - let _url = window.location.href.split('#')[0] - - localStorage.setItem(_url + 'users', window.btoa(window.encodeURIComponent(JSON.stringify(_users)))) + localStorage.setItem(window.GLOB.sysSign + 'users', window.btoa(window.encodeURIComponent(JSON.stringify(_users)))) } /** @@ -440,8 +441,7 @@ render() { const { langList } = this.props const { getFieldDecorator } = this.props.form - const { activeKey, verdisabled, delay, loginWays, remember, scanId, timeout, hasScan, users } = this.state - const wayLabels = {app_scan: 'APP鎵爜', weixin_scan: '寰俊鎵爜', uname_pwd: '璐﹀彿鐧诲綍', sms_vcode: '鐭俊鐧诲綍'} + const { activeKey, verdisabled, delay, loginWays, remember, scanId, timeout, hasScan, users, wayLabels, dict, lang } = this.state return ( <Form className="login-form" id="login-form" onSubmit={this.handleSubmit}> @@ -450,7 +450,7 @@ {activeKey === 'uname_pwd' ? <div className="form-item-wrap"> <Form.Item> {getFieldDecorator('username', { - rules: [{ required: true, message: this.props.dict['login.username.empty'] }], + rules: [{ required: true, message: dict['username_required'] || '璇疯緭鍏ョ敤鎴峰悕' }], initialValue: this.state.username || '', })( <AutoComplete @@ -467,7 +467,7 @@ > <Input prefix={<UserOutlined style={{ color: 'rgba(0,0,0,.25)' }} />} - placeholder={this.props.dict['login.username']} + placeholder={dict['username'] || '鐢ㄦ埛鍚�'} autoComplete="off" /> </AutoComplete> @@ -479,20 +479,20 @@ rules: [ { required: true, - message: this.props.dict['login.password.empty'], + message: dict['password_required'] || '璇疯緭鍏ュ瘑鐮�', } ] - })(<Input.Password placeholder={this.props.dict['login.password']} prefix={<LockOutlined style={{ color: 'rgba(0,0,0,.25)' }} />} />)} + })(<Input.Password placeholder={dict['password'] || '瀵嗙爜'} prefix={<LockOutlined style={{ color: 'rgba(0,0,0,.25)' }} />} />)} </Form.Item> {window.GLOB.keepKey ? <Form.Item className="minline"> {getFieldDecorator('remember', { valuePropName: 'checked', initialValue: remember, - })(<Checkbox onChange={this.rememberChange}>{this.props.dict['login.remember']}</Checkbox>)} + })(<Checkbox onChange={this.rememberChange}>{dict['remember_me'] || '璁颁綇瀵嗙爜'}</Checkbox>)} </Form.Item> : <div style={{height: '30px', float: 'left'}}></div>} {langList && langList.length > 0 ? <Form.Item className="minline right"> {getFieldDecorator('lang', { - initialValue: this.props.lang, + initialValue: lang, })( <Select onChange={(value) => {this.changelang(value)}} @@ -506,7 +506,7 @@ </Form.Item> : null} <Form.Item className="btn-login"> <Button type="primary" htmlType="submit" className="login-form-button" disabled={this.props.isDisabled} loading={this.props.isDisabled}> - {this.props.dict['login.submit']} + {dict['log_in'] || '鐧诲綍'} </Button> </Form.Item> {window.GLOB.sysType === 'cloud' && options.cdomain.indexOf('mk9h') > -1 ? <Form.Item className="register-line"> @@ -517,11 +517,11 @@ {activeKey === 'sms_vcode' ? <div className="form-item-wrap"> <Form.Item> {getFieldDecorator('phone', { - rules: [{ required: true, message: this.props.dict['login.phone.empty'] }], + rules: [{ required: true, message: dict['phone_no_required'] || '璇疯緭鍏ユ墜鏈哄彿' }], initialValue: '', })( <Input - placeholder={this.props.dict['login.phone']} + placeholder={dict['phone_no'] || '鎵嬫満鍙�'} autoComplete="off" /> )} @@ -532,24 +532,24 @@ rules: [ { required: true, - message: this.props.dict['login.vercode.empty'], + message: dict['vercode_required'] || '璇疯緭鍏ラ獙璇佺爜', } ] })( <Input addonAfter={ <Button type="link" className="vercode" size="small" disabled={verdisabled} onClick={this.getvercode}> - {delay ? `${delay}s鍚庨噸鏂拌幏鍙朻 : '鑾峰彇楠岃瘉鐮�'} + {delay ? `${delay}s` : dict['query_vercode'] || '鑾峰彇楠岃瘉鐮�'} </Button> } - placeholder={this.props.dict['login.vercode']} + placeholder={dict['vercode'] || '楠岃瘉鐮�'} autoComplete="off" /> )} </Form.Item> {langList && langList.length > 0 ? <Form.Item className="minline right"> {getFieldDecorator('lang', { - initialValue: this.props.lang, + initialValue: lang, })( <Select onChange={(value) => {this.changelang(value)}} @@ -563,7 +563,7 @@ </Form.Item> : null} <Form.Item className="btn-login"> <Button type="primary" htmlType="submit" className="login-form-button" disabled={this.props.isDisabled} loading={this.props.isDisabled}> - {this.props.dict['login.submit']} + {dict['log_in'] || '鐧诲綍'} </Button> </Form.Item> {window.GLOB.sysType === 'cloud' && options.cdomain.indexOf('mk9h') > -1 ? <Form.Item className="register-line"> @@ -577,10 +577,10 @@ {scanId ? <QrCode card={{qrWidth: 500, color: '#000000'}} value={`https://cloud.mk9h.cn/mob/mknotice.html?originurl=${window.btoa(window.GLOB.baseurl + 'mob/index.html#/wx/' + scanId)}`}/> : null} {timeout ? <div className="qrcode-out"> <RedoOutlined onClick={this.reCode} /> - 浜岀淮鐮佸凡澶辨晥銆� + {dict['code_expired'] || '浜岀淮鐮佸凡澶辨晥銆�'} </div> : null} </div> - <img src={wxicon} alt=""/>璇蜂娇鐢ㄥ井淇℃壂涓�鎵櫥褰� + <img src={wxicon} alt=""/>{dict['wechat_scan'] || '璇蜂娇鐢ㄥ井淇℃壂涓�鎵櫥褰�'} </div> </div> : null} {activeKey === 'app_scan' ? <div className="form-item-wrap"> @@ -589,10 +589,10 @@ {scanId ? <QrCode card={{qrWidth: 500, color: '#000000'}} value={`mkpcscan,${window.GLOB.appkey},${scanId}`}/> : null} {timeout ? <div className="qrcode-out"> <RedoOutlined onClick={this.reCode} /> - 浜岀淮鐮佸凡澶辨晥銆� + {dict['code_expired'] || '浜岀淮鐮佸凡澶辨晥銆�'} </div> : null} </div> - 璇蜂娇鐢ㄥ鎴风鎵竴鎵櫥褰� + {dict['client_scan'] || '璇蜂娇鐢ㄥ鎴风鎵竴鎵櫥褰�'} </div> </div> : null} <div className={'login-ways ' + (activeKey === 'app_scan' || activeKey === 'weixin_scan' ? 'center' : '')}> -- Gitblit v1.8.0