king
2021-09-08 0e4c25700fac0e0c7d93327a5eaafc17b8dd3d78
src/views/design/header/versions/index.jsx
File was renamed from src/components/header/versions/index.jsx
@@ -1,23 +1,17 @@
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,
@@ -30,137 +24,94 @@
  }
  
  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 = () => {
@@ -485,8 +436,8 @@
          ]}
          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' }} />
@@ -498,10 +449,10 @@
                }
              }
              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>
      </>
    )