king
2020-02-04 390c5026c78d2be9dca4357041f4a0ec8ac3668f
src/api/index.js
@@ -1,8 +1,8 @@
import axios from 'axios'
import qs from 'qs'
import {notification } from 'antd'
// import md5 from 'md5'
// import Utils from '@/utils/utils.js'
import md5 from 'md5'
import Utils from '@/utils/utils.js'
import options from '@/store/options.js'
axios.defaults.crossDomain = true
@@ -27,6 +27,7 @@
const setCurrentUrl = () => {
  if (!!(window.history && window.history.pushState)) {
    sessionStorage.clear()
    window.history.replaceState(null, null, window.location.href.split('#')[0] + '#/login')
    window.location.reload()
  }
@@ -93,14 +94,24 @@
  /**
   * @description 登录系统, 获取用户信息
   */
  getusermsg (username, password) {
  getusermsg (username, password, isCloud = false) {
    let param = {
      // func: 'webapi_login',
      UserName: username,
      Password: password,
      Type: 'X'
    }
    param.Password = Utils.formatOptions(param.Password)
    if (isCloud && options.cloudLoginApi) {
      param.rduri = options.cloudLoginApi
    } else if (window.GLOB.mainSystemApi) {
      param.rduri = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon')
    }
    return axios({
      url: 'webapi/getjsonresult',
      data: {
        DBT: 'proc',
        DBS: 'webapi_login',
        DBP: JSON.stringify({ 'UserName': username, 'Password': password })
      }
      url: '/webapi/dologon',
      data: param
    })
  }
@@ -113,25 +124,30 @@
    param.SessionUid = sessionStorage.getItem('SessionUid') || ''
    param.LoginUID = sessionStorage.getItem('LoginUID') || ''
    param.appkey = window.GLOB.appkey || ''
    if (sessionStorage.getItem('isEditState') && options.cloudServiceApi) { // 编辑状态,且存在云端地址
      param.rduri = options.cloudServiceApi
    let _rduri = ''
    if (sessionStorage.getItem('isEditState') === 'true' && options.cloudServiceApi) { // 编辑状态,且存在云端地址
      _rduri = options.cloudServiceApi
      param.userid = sessionStorage.getItem('CloudUserID')
      param.SessionUid = sessionStorage.getItem('CloudSessionUid') || ''
      param.LoginUID = sessionStorage.getItem('CloudLoginUID') || ''
    } else if (window.GLOB.mainSystemApi) {
      param.rduri = window.GLOB.mainSystemApi
      _rduri = window.GLOB.mainSystemApi
    }
    // param.nonc = Utils.getuuid()
    // param._ = new Date().getTime()
    param.nonc = Utils.getuuid()
    let keys = Object.keys(param).sort()
    let values = keys.map(key => key + param[key]).join('')
    param.sign  = md5(values)
    param.t = new Date().getTime()
    // let keys = Object.keys(param).sort()
    // let values = keys.map(key => key + param[key]).join('')
    // param.sign  = md5(values)
    if (_rduri) {
      param.rduri = _rduri
    }
    return axios({
      url: '/webapi/dostar',
      url: '/webapi/dostars',
      data: param
    })
  }
@@ -146,22 +162,32 @@
    param.LoginUID = sessionStorage.getItem('LoginUID') || ''
    param.appkey = window.GLOB.appkey || ''
    param.nonc = Utils.getuuid()
    let keys = Object.keys(param).sort()
    let values = keys.map(key => key + param[key]).join('')
    param.sign  = md5(values)
    param.t = new Date().getTime()
    return axios({
      url: '/webapi/dostar',
      url: '/webapi/dostars',
      data: param
    })
  }
  /**
   * @description 获取系统配置,优先从缓存中取值,增加appkey
   * @param {Object}  param   请求参数
   * @param {Boolean} SSO     是否为单点登录地址
   */
  getSystemCacheConfig (param) {
  getSystemCacheConfig (param, SSO = true) {
    param.userid = sessionStorage.getItem('UserID')
    param.lang = localStorage.getItem('lang') || ''
    param.SessionUid = sessionStorage.getItem('SessionUid') || ''
    param.LoginUID = sessionStorage.getItem('LoginUID') || ''
    param.appkey = window.GLOB.appkey || ''
    if (window.GLOB.mainSystemApi) {
    if (window.GLOB.mainSystemApi && SSO) {
      param.rduri = window.GLOB.mainSystemApi
    }
@@ -169,13 +195,22 @@
    delete _param.timestamp
    delete _param.secretkey
    _param = JSON.stringify(_param)
    _param  = md5(_param)
    if (GlobMap.has(_param)) {
      return Promise.resolve(GlobMap.get(_param))
    } else {
      param.nonc = Utils.getuuid()
      let keys = Object.keys(param).sort()
      keys = keys.filter(key => key !== 'rduri')
      let values = keys.map(key => key + param[key]).join('')
      param.sign  = md5(values)
      param.t = new Date().getTime()
      return new Promise(resolve => {
        axios({
          url: '/webapi/dostar',
          url: '/webapi/dostars',
          data: param
        }).then(res => {
@@ -195,12 +230,20 @@
    param.SessionUid = sessionStorage.getItem('SessionUid') || ''
    param.LoginUID = sessionStorage.getItem('LoginUID') || ''
    if (param.func === 'RolesAdd') { // 角色添加时,传appkey
      param.appkey = window.GLOB.appkey || ''
    }
    // if (param.func === 'RolesAdd') { // 角色添加时,传appkey(外部接口统一添加)
    //   param.appkey = window.GLOB.appkey || ''
    // }
    param.nonc = Utils.getuuid()
    let keys = Object.keys(param).sort()
    keys = keys.filter(key => key !== 'rduri' && key !== 't')
    let values = keys.map(key => key + param[key]).join('')
    param.sign  = md5(values)
    param.t = new Date().getTime()
    return axios({
      url: '/webapi/dostar',
      url: '/webapi/dostars',
      data: param
    })
  }