king
2021-07-28 bebeca442cee4b83de0d00df29a6514b3f723c4f
src/api/index.js
@@ -17,9 +17,9 @@
  1578479100252lfbp29v1kafk4s4q4ig,1577971621421tg4v0i1ur8873k7e0ob,1577929944419lgc5h3hepum765e2k7u,1588493493409k9guqp067d31lu7blsv`
if (window.openDatabase) {
  CacheUtils.openWebSql()
  CacheUtils.openWebSql(options.sysType)
} else if (window.indexedDB) {
  CacheUtils.openIndexDB()
  CacheUtils.openIndexDB(options.sysType)
}
axios.defaults.crossDomain = true
@@ -46,6 +46,16 @@
      let _href = window.location.href.split('#')
      localStorage.setItem(_href[0] + 'paramsmain', _href[1])
    }
    localStorage.removeItem('UserID')
    localStorage.removeItem('LoginUID')
    localStorage.removeItem('User_Name')
    localStorage.removeItem('Full_Name')
    localStorage.removeItem('avatar')
    localStorage.removeItem('dataM')
    localStorage.removeItem('localDataM')
    localStorage.removeItem('debug')
    localStorage.removeItem('role_id')
    localStorage.removeItem('localRole_id')
    sessionStorage.clear()
    sessionStorage.setItem('loginError', JSON.stringify({request: res.config ? res.config.data : '', response: JSON.stringify(res.data)}))
@@ -102,7 +112,25 @@
  }
  /**
   * @description 直接请求
   * @description 使用dostar接口,跳过验证
   * @param {Object} param 查询及提交参数
   */
  loginAndRedirect (param) {
    let url = ''
    if (process.env.NODE_ENV === 'production') {
      url = document.location.origin + '/Home/LoginAndRedirect'
    } else {
      url = '/Home/LoginAndRedirect'
    }
    return axios({
      url: url,
      method: 'post',
      data: param
    })
  }
  /* @description 直接请求
   * @param {Object} param 查询及提交参数
   */
  directRequest (url, method = 'post', param, cross) {
@@ -177,7 +205,7 @@
  /**
   * @description 手机号验证码登录
   */
  getphoneusermsg (phoneNo, checkcode, isCloud = false) {
  getphoneusermsg (phoneNo, checkcode, isCloud = false, ipAddress, city) {
    let param = {
      // func: 'webapi_login',
      mob: phoneNo,
@@ -185,7 +213,9 @@
      Password: '',
      check_code: checkcode,
      way_no: 'sms_vcode',
      systemType: options.sysType
      systemType: options.sysType,
      login_city: city,
      login_id_address: ipAddress
    }
    param.appkey = window.GLOB.appkey || ''
@@ -215,23 +245,41 @@
  /**
   * @description 登录系统, 获取用户信息
   */
  getusermsg (username, password, isCloud = false) {
  getusermsg (username, password, isCloud = false, ipAddress, city) {
    let param = {
      // func: 'webapi_login',
      UserName: username,
      systemType: options.sysType,
      Type: 'S'
      Type: 'S',
      login_city: city,
      login_id_address: ipAddress
    }
    param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
    let sys_datetime = sessionStorage.getItem('sys_datetime')
    let app_datetime = sessionStorage.getItem('app_datetime')
    if (sys_datetime && app_datetime) {
      let seconds = Math.floor((new Date().getTime() - app_datetime) / 1000)
      param.timestamp = moment(sys_datetime, 'YYYY-MM-DD HH:mm:ss').add(seconds, 'seconds').format('YYYY-MM-DD HH:mm:ss')
    }
    // Type: 'S' 时
    let shaObj = new jsSHA('SHA-1', 'TEXT')
    param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
    shaObj.update(password)
    param.Password = shaObj.getHash('HEX').toUpperCase()
    param.Password = md5(username + param.Password + param.timestamp)
    // Type: 'mk_' 时
    // param.Type = '公钥'
    // let shaObj = new jsSHA('SHA-1', 'TEXT')
    // shaObj.update(password)
    // param.Password = shaObj.getHash('HEX').toUpperCase()
    // param.Password = md5('私钥' + username + param.Password + param.timestamp)
    // Type: 'X' 时
    // param.Password = Utils.formatOptions(password)
    param.appkey = window.GLOB.appkey || ''
    let url = '/webapi/dologon'
@@ -265,14 +313,26 @@
      return Promise.reject()
    }
    let curTime = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
    let sys_datetime = sessionStorage.getItem('sys_datetime')
    let app_datetime = sessionStorage.getItem('app_datetime')
    if (sys_datetime && app_datetime) {
      let seconds = Math.floor((new Date().getTime() - app_datetime) / 1000)
      curTime = moment(sys_datetime, 'YYYY-MM-DD HH:mm:ss').add(seconds, 'seconds').format('YYYY-MM-DD HH:mm:ss') + '.000'
    }
    if (window.GLOB.WebSql) {
      return new Promise((resolve, reject) => {
        CacheUtils.getWebSqlVersion().then(msg => {
          appVersion.oldVersion = msg.version || ''
          let curTime = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
          let modifydate = msg.createDate || curTime
          if (modifydate.indexOf('Invalid date') > -1) {
            modifydate = curTime
          }
          let param = {
            func: 's_get_app_version',
            modifydate: msg.createDate || curTime,
            modifydate
          }
  
          this.getSystemConfig(param).then(res => {
@@ -316,10 +376,13 @@
      return new Promise((resolve, reject) => {
        CacheUtils.getIndexDBVersion().then(msg => {
          appVersion.oldVersion = msg.version || ''
          let curTime = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
          let modifydate = msg.createDate || curTime
          if (modifydate.indexOf('Invalid date') > -1) {
            modifydate = curTime
          }
          let param = {
            func: 's_get_app_version',
            modifydate: msg.createDate || curTime,
            modifydate
          }
          this.getSystemConfig(param).then(res => {
@@ -405,6 +468,30 @@
    return axios({
      url,
      method: 'post',
      data: param
    })
  }
  /**
   * @description 获取或修改系统配置,增加appkey
   */
  getSystemFuncs (time) {
    let param = {
      func: 's_get_func_base_sso',
      update_date: time,
      userid: sessionStorage.getItem('UserID') || '',
      lang: sessionStorage.getItem('lang') || '',
      SessionUid: localStorage.getItem('SessionUid') || '',
      LoginUID: sessionStorage.getItem('LoginUID') || '',
      appkey: window.GLOB.appkey
    }
    let url = window.GLOB.mainSystemApi
    param = this.encryptParam(param)
    return axios({
      url: `${url}/${param.func}`,
      method: 'post',
      data: param
    })
@@ -669,16 +756,18 @@
      param.userid = sessionStorage.getItem('CloudUserID') || param.userid || ''
      param.LoginUID = sessionStorage.getItem('CloudLoginUID') || param.LoginUID || ''
    }
    let url = '/webapi/dostars'
    if (param.rduri) {
      url = param.rduri
      delete param.rduri
    }
    // 待优化,增加是否支持跨域请求
    // let url = '/webapi/dostars'
    // if (param.rduri) {
    //   url = param.rduri
    //   delete param.rduri
    // }
    param = this.encryptParam(param)
    return axios({
      url: `${url}${param.func ? '/' + param.func : ''}`,
      url: `/webapi/dostars${param.func ? '/' + param.func : ''}`,
      method: 'post',
      data: param
    })
@@ -751,22 +840,17 @@
    param = this.encryptParam(param)
    let url = '/webapi/SaveBase64Image'
    if (param.rduri) {
      let url = param.rduri.replace(/webapi(.*)$/, 'webapi/SaveBase64Image')
      url = param.rduri.replace(/webapi(.*)$/, 'webapi/SaveBase64Image')
      delete param.rduri
      return axios({
        url,
        method: 'post',
        data: param
      })
    } else {
      return axios({
        url: '/webapi/SaveBase64Image',
        method: 'post',
        data: param
      })
    }
    return axios({
      url,
      method: 'post',
      data: param
    })
  }
  /**