king
2022-09-19 302ad1deb2cd8ee1823df05b1d304ce2b39ee224
src/api/index.js
@@ -201,7 +201,7 @@
  /**
   * @description 游客登录
   */
  getTouristMsg (appid, openid, memberid, scanId) {
  getTouristMsg (binding_type, appid, openid, memberid, scanId) {
    let _SessionUid = localStorage.getItem('SessionUid')
    if (!_SessionUid) { // 手动清除SessionUid时,实时生成
@@ -216,24 +216,39 @@
      TypeCharOne: 'pc',
      kei_id: window.btoa(window.encodeURIComponent(window.GLOB.host))
    }
    param.LText = md5(window.btoa(_SessionUid + param.timestamp))
    param.secretkey = md5(param.LText + 'mingke' + param.timestamp)
    param.appkey = window.GLOB.appkey || ''
    if (appid) {
      param.binding_type = 'mk'
      param.thd_party_member_id = memberid
      param.thd_party_openid = openid
      param.thd_party_appid = appid
      param.id = scanId
    }
    let url = '/webapi/dologon/s_visitor_login'
    if (window.GLOB.mainSystemApi) {
      param.rduri = window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon/s_visitor_login')
    }
    if (binding_type === 'mk') {
      param.binding_type = 'mk'
      param.thd_party_member_id = memberid
      param.thd_party_openid = openid
      param.thd_party_appid = appid
      param.id = scanId
    } else if (binding_type === 'login_check') { // appid 此时为目标
      param.v_type = 'login_check'
      param.LoginUID = sessionStorage.getItem('LoginUID') || ''
      url = appid.replace(/\/webapi(.*)/, '/webapi/dologon/s_visitor_login')
      if (!param.rduri) {
        param.rduri = window.GLOB.baseurl + 'webapi/dologon/s_visitor_login'
      }
      param.linkurl = appid.replace(/\/webapi(.*)/, '/index.html')
    }
    param.LText = md5(window.btoa(_SessionUid + param.timestamp + (param.linkurl || '')))
    // param.secretkey = md5(param.LText + 'mingke' + param.timestamp) // v_type 为空时
    let solt = md5((window.GLOB.appkey + window.btoa(window.GLOB.appkey + 'mingke') + 'mingke').toLowerCase()).slice(-6).toUpperCase()
    param.v_type = param.v_type || 'Y'
    param.secretkey = md5(param.LText + solt + param.timestamp)
    param.appkey = window.GLOB.appkey || ''
    return axios({
      url: url,
@@ -805,7 +820,8 @@
    param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || ''
    param.appkey = window.GLOB.appkey || ''
    let url = '/webapi/dostars'
    let login = false
    let rduri = null
    if (param.rduri && /\s|\n/.test(param.rduri)) {
      param.rduri = param.rduri.replace(/\s|\n/g, '')
@@ -814,18 +830,44 @@
      }
    }
    if (param.rduri && !window.GLOB.transfer && /\/dostars/.test(param.rduri) && param.func !== 'webapi_ChangeUser') { // 切换用户需要通过本地
    if (param.$login && !window.GLOB.transfer) {
      login = true
      rduri = param.rduri || ''
    }
    delete param.$login
    let url = '/webapi/dostars'
    if (param.rduri && !window.GLOB.transfer && /\/dostars/.test(param.rduri) && param.func !== 'webapi_ChangeUser') {
      url = param.rduri
      delete param.rduri
    }
    param = this.encryptParam(param)
    return axios({
      url: `${url}${param.func ? '/' + param.func : ''}`,
      method: 'post',
      data: param
    })
    if (login) {
      return new Promise((resolve, reject) => {
        this.getTouristMsg('login_check', rduri).then(res => {
          if (res.status) {
            axios({
              url: `${url}${param.func ? '/' + param.func : ''}`,
              method: 'post',
              data: param
            }).then(result => {
              resolve(result)
            })
          } else {
            resolve(res)
          }
        })
      })
    } else {
      return axios({
        url: `${url}${param.func ? '/' + param.func : ''}`,
        method: 'post',
        data: param
      })
    }
  }
  /**