File was renamed from src/components/header/versions/index.jsx |
| | |
| | | import React, {Component} from 'react' |
| | | import PropTypes from 'prop-types' |
| | | import { is, fromJS } from 'immutable' |
| | | import { Modal, notification, Timeline, Icon, Button } from 'antd' |
| | | import { Modal, notification, Timeline, Icon, Button, Typography } from 'antd' |
| | | import moment from 'moment' |
| | | import md5 from 'md5' |
| | | |
| | | // import SettingForm from './settingform' |
| | | import Api from '@/api' |
| | | import options from '@/store/options.js' |
| | | import Utils from '@/utils/utils.js' |
| | | import './index.scss' |
| | | |
| | | const { confirm } = Modal |
| | | const { Paragraph } = Typography |
| | | |
| | | class DataSource extends Component { |
| | | static propTpyes = { |
| | | debug: PropTypes.any |
| | | } |
| | | |
| | | state = { |
| | | visible: false, |
| | | versions: null, |
| | |
| | | } |
| | | |
| | | verup = () => { |
| | | const { debug } = this.props |
| | | let _param = { |
| | | func: 's_get_sversions_sys', |
| | | } |
| | | |
| | | if (!debug || options.sysType === 'cloud') { |
| | | confirm({ |
| | | title: '版本升级', |
| | | content: '重新加载应用信息', |
| | | onOk() { |
| | | return new Promise(resolve => { |
| | | if (!window.GLOB.WebSql && !window.GLOB.IndexDB) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '升级失败,请刷新页面重试!', |
| | | duration: 2 |
| | | }) |
| | | resolve() |
| | | } else { |
| | | Api.updateAppVersion() |
| | | setTimeout(() => { |
| | | notification.success({ |
| | | top: 92, |
| | | message: '升级成功!', |
| | | duration: 2 |
| | | }) |
| | | resolve() |
| | | }, 1000) |
| | | } |
| | | }) |
| | | }, |
| | | onCancel() {} |
| | | }) |
| | | } else { |
| | | Api.updateAppVersion() |
| | | |
| | | if (!sessionStorage.getItem('CloudUserID') || !sessionStorage.getItem('CloudLoginUID')) { |
| | | Api.getSystemConfig(_param).then(result => { |
| | | if (!result.status) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '请登录开发机!', |
| | | duration: 2 |
| | | message: result.message, |
| | | duration: 5 |
| | | }) |
| | | return |
| | | } |
| | | |
| | | let _param = { |
| | | func: 's_get_sversions_sys', |
| | | let edition_int = '' |
| | | if (options.sysType === 'SSO') { |
| | | edition_int = result.edition_int_sso |
| | | } else if (options.sysType === 'local' && window.GLOB.systemType !== 'production') { |
| | | edition_int = result.edition_int_local |
| | | } else { |
| | | if (result.edition_int_sso < result.edition_int_local) { |
| | | edition_int = result.edition_int_sso |
| | | } else { |
| | | edition_int = result.edition_int_local |
| | | } |
| | | } |
| | | if (edition_int === '') { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '未查询到更新版本信息!', |
| | | duration: 5 |
| | | }) |
| | | return |
| | | } |
| | | |
| | | Api.getSystemConfig(_param).then(result => { |
| | | if (!result.status) { |
| | | let _rduri = window.atob('aHR0cHM6Ly9lcGMubWs5aC5$mkjbi93ZWJhcGkvZG9zdGFycw=='.replace(/\$mk/ig, '')) |
| | | let _id = window.atob('YmgwYmFwYWJ0ZDQ1ZXBz$mkZ3JhNzlzZWdiY2g2YzFpYms='.replace(/\$mk/ig, '')) |
| | | let sysType = options.sysType.toLowerCase() |
| | | |
| | | if (window.GLOB.systemType === 'production') { |
| | | sysType = '' |
| | | } |
| | | |
| | | let param = { |
| | | func: 's_get_sversions_sys_epc', |
| | | appkey: window.GLOB.appkey, |
| | | userid: _id, |
| | | LoginUID: _id, |
| | | edition_int: edition_int, |
| | | sys_type: sysType, |
| | | nonc: Utils.getuuid() |
| | | } |
| | | |
| | | let keys = Object.keys(param).sort() |
| | | let values = '' |
| | | keys.forEach(key => { |
| | | values += key + param[key] |
| | | }) |
| | | param.sign = md5(values) |
| | | param.t = new Date().getTime() |
| | | |
| | | Api.directRequest(_rduri + '/s_get_sversions_sys_epc', 'post', param, 'true').then(res => { |
| | | if (!res.status) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: result.message, |
| | | message: res.message, |
| | | duration: 5 |
| | | }) |
| | | return |
| | | } else if (!res.data || res.data.length === 0) { |
| | | notification.success({ |
| | | top: 92, |
| | | message: '已经是最新的版本了。', |
| | | duration: 2 |
| | | }) |
| | | return |
| | | } |
| | | |
| | | let edition_int = '' |
| | | if (options.sysType === 'SSO') { |
| | | edition_int = result.edition_int_sso |
| | | } else if (options.sysType === 'local' && window.GLOB.systemType !== 'production') { |
| | | edition_int = result.edition_int_local |
| | | } else { |
| | | if (result.edition_int_sso < result.edition_int_local) { |
| | | edition_int = result.edition_int_sso |
| | | } else { |
| | | edition_int = result.edition_int_local |
| | | } |
| | | } |
| | | if (edition_int === '') { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '未查询到更新版本信息!', |
| | | duration: 5 |
| | | }) |
| | | return |
| | | } |
| | | |
| | | let _rduri = window.atob('aHR0cHM6Ly9lcGMubWs5aC5$mkjbi93ZWJhcGkvZG9zdGFycw=='.replace(/\$mk/ig, '')) |
| | | let _id = window.atob('YmgwYmFwYWJ0ZDQ1ZXBz$mkZ3JhNzlzZWdiY2g2YzFpYms='.replace(/\$mk/ig, '')) |
| | | let sysType = options.sysType.toLowerCase() |
| | | |
| | | if (window.GLOB.systemType === 'production') { |
| | | sysType = '' |
| | | } |
| | | |
| | | let param = { |
| | | func: 's_get_sversions_sys_epc', |
| | | appkey: window.GLOB.appkey, |
| | | userid: _id, |
| | | LoginUID: _id, |
| | | edition_int: edition_int, |
| | | sys_type: sysType, |
| | | nonc: Utils.getuuid() |
| | | } |
| | | |
| | | let keys = Object.keys(param).sort() |
| | | let values = '' |
| | | keys.forEach(key => { |
| | | values += key + param[key] |
| | | res.data = res.data.map((item, i) => { |
| | | item.status = i === 0 ? 'loading' : 'waiting' |
| | | item.index = i |
| | | return item |
| | | }) |
| | | param.sign = md5(values) |
| | | param.t = new Date().getTime() |
| | | |
| | | Api.directRequest(_rduri + '/s_get_sversions_sys_epc', 'post', param, 'true').then(res => { |
| | | if (!res.status) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: res.message, |
| | | duration: 5 |
| | | }) |
| | | return |
| | | } else if (!res.data || res.data.length === 0) { |
| | | notification.success({ |
| | | top: 92, |
| | | message: '已经是最新的版本了。', |
| | | duration: 2 |
| | | }) |
| | | return |
| | | } |
| | | |
| | | res.data = res.data.map((item, i) => { |
| | | item.status = i === 0 ? 'loading' : 'waiting' |
| | | item.index = i |
| | | return item |
| | | }) |
| | | this.setState({versions: res.data, version: res.data[0], visible: true}, () => { |
| | | this.queryScript() |
| | | }) |
| | | this.setState({versions: res.data, version: res.data[0], visible: true}, () => { |
| | | this.queryScript() |
| | | }) |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | queryScript = () => { |
| | |
| | | ]} |
| | | destroyOnClose |
| | | > |
| | | {versions ? <Timeline> |
| | | {versions.map(item => { |
| | | <Timeline> |
| | | {versions && versions.map(item => { |
| | | let icon = <Icon type="clock-circle-o" style={{ fontSize: '16px' }} /> |
| | | if (item.status === 'loading') { |
| | | icon = <Icon type="sync" spin style={{ fontSize: '16px' }} /> |
| | |
| | | } |
| | | } |
| | | return ( |
| | | <Timeline.Item key={item.id} dot={icon}>{item.ProgramName}</Timeline.Item> |
| | | <Timeline.Item key={item.id} dot={icon}>{item.ProgramName}(<Paragraph style={{display: 'inline-block', marginBottom: '0px'}} copyable>{item.id}</Paragraph>)</Timeline.Item> |
| | | ) |
| | | })} |
| | | </Timeline> : null} |
| | | </Timeline> |
| | | </Modal> |
| | | </> |
| | | ) |