config-local.js 13.3 KB
window.customSSOConfig = {
  inUse: false,
  sessionCheckApi: '/api/integration/simplesso/hasSession',
  sessionCheckApiParams: 'test1,test2',
  serverLoginUrl: 'http://192.168.7.210:8080/wui/index.html#/?_key=8ksa64',
  serverLogoutUrl: 'http://192.168.7.210:8080/wui/index.html#/?_key=8ksa64',
  inUseMobile: false,
  sessionCheckApiMobile: '/api/integration/simplesso/hasSession',
  sessionCheckApiMobileType: 'POST',
  sessionCheckApiParamsMobile: '',
  serverLoginUrlMobile: 'http://20.124.164.231:818/spa/coms/sso/index.html#/longcheng-login'
}

window.e9ssoMobileConfig = {
  inUse: false,
  customInit: function () {
    window.onerror = function (msg, url, line, col, error) {
      // alert(JSON.stringify(arguments))
    }

    return new Promise(function (rs, rj) {
      var idNumber = '';
      var deviceId = '';
      function init(rs, rj) {
        try {
          var info = window.lzapi.getUserInfo();
          idNumber = info.idCard;

          // // 首先,获取设备信息对象,参数有: 设备串号
          var devinfo = window.lzapi.getDeviceInfo();
          // // 设备串号,格式参考(https://baike.baidu.com/item/IMEI)
          deviceId = devinfo.imei;
        } catch (error) {
          alert('获取设备信息失败,使用默认信息');
          idNumber = '450221198605250014';
          deviceId = '867011033569708';
        }
        // var idNumber = '450221198605250014';
        // var deviceId = '867011033569708';
        window.longchengRedirectParams = {
          "uid": idNumber,
          "staffCode": idNumber,
          "devId": deviceId,
          "devAddress": null,
          "appCode": "10000205",
          "reqServerId": "A2-BE22DF47959C40AA9EDEBCB976E67E19",
          "targetServerId": "A3-B64DB5899BB5444D86B93FD5F68AFB63",
        }
        var customSessionKey = window.ecMobileTool.ls.getJSONObj('customSessionKey')
        if (!customSessionKey || !customSessionKey.keyValue) {

          var params = JSON.stringify({
            type: '2',
            username: '',
            password: '',
            idcard: idNumber,
            devid: deviceId
          })
          window.ecMobileTool.callApi({
            url: '/api/integration/simplesso/getToken',
            method: 'POST',
            params: {
              loginInfo: params
            },
          }).then(function (res) {
            if (res.status == true) {
              window.ecMobileTool.ls.set('customSessionKey', {
                keyName: 'ssoToken',
                keyValue: res.ssoToken
              })
              window.ecMobileTool.callApi({
                url: '/api/integration/simplesso/getUser',
                method: 'POST',
                params: {
                },
              }).then(function (res) {
                if (res.status == '1') {
                  var user = JSON.parse(res.user)
                  var infoHtml = '';
                  infoHtml += '<div id="userinfo-bubble" style="';
                  infoHtml += 'position:fixed;';
                  infoHtml += 'top:0;';
                  infoHtml += 'left:0;';
                  infoHtml += 'z-index:99999;';
                  infoHtml += 'text-align:center;';
                  infoHtml += 'width:100%;';
                  infoHtml += 'padding-top:10px;';
                  infoHtml += 'padding-bottom:10px;';
                  infoHtml += 'background-color:red;';
                  infoHtml += 'color:white;';
                  infoHtml += 'font-size:18px;';
                  infoHtml += '">';
                  infoHtml += ('当前登录用户:' + user.lastname);
                  infoHtml += '</div>';
                  var div = document.createElement("div");
                  div.innerHTML = infoHtml;
                  document.getElementById('root').appendChild(div.childNodes[0]);
                  setTimeout(function () {
                    var child = document.getElementById('userinfo-bubble');
                    child.parentNode.removeChild(child)
                  }.bind(this), 1000);
                } else {
                  alert('获取用户信息失败')
                }
              })
              rs()
            }
          }.bind(this)).catch(function (res) {
            alert('认证失败' + res)
            rj(res)
          }.bind(this))
        } else {

          document.addEventListener("error", function (e) {
            var elem = e.target;
            if (elem.tagName.toLowerCase() === 'img') {
              if (/.*\/weaver\/weaver\.file\.FileDownload.*/.test(elem.src)) {
                var urlParams = elem.src.slice(elem.src.indexOf('?') + 1).split('&');
                var paramsArr = [];
                for (var index = 0; index < urlParams.length; index++) {
                  var datas = urlParams[index].split('=');
                  paramsArr[datas[0]] = datas[1];
                }

                var params = {};
                params['fileid'] = paramsArr['fileid'];
                params['filename'] = paramsArr['filename'] || '';
                params['needurl'] = '1';

                window.ecMobileTool.callApi({
                  url: elem.src,
                  method: 'POST',
                  params: params,
                }).then(function (res) {
                  if (res.url) {
                    elem.src = res.url;
                  }
                })
              }
            }
          }, true);
          window.ecMobileTool.callApi({
            url: '/api/integration/simplesso/getUser',
            method: 'POST',
            params: {
            },
          }).then(function (res) {
            if (res.status == '1') {
              var user = JSON.parse(res.user)
              var infoHtml = '';
              infoHtml += '<div id="userinfo-bubble" style="';
              infoHtml += 'position:fixed;';
              infoHtml += 'top:0;';
              infoHtml += 'left:0;';
              infoHtml += 'z-index:99999;';
              infoHtml += 'text-align:center;';
              infoHtml += 'width:100%;';
              infoHtml += 'padding-top:10px;';
              infoHtml += 'padding-bottom:10px;';
              infoHtml += 'background-color:red;';
              infoHtml += 'color:white;';
              infoHtml += 'font-size:18px;';
              infoHtml += '">';
              infoHtml += ('当前登录用户:' + user.lastname);
              infoHtml += '</div>';
              var div = document.createElement("div");
              div.innerHTML = infoHtml;
              document.getElementById('root').appendChild(div.childNodes[0]);
              setTimeout(function () {
                var child = document.getElementById('userinfo-bubble');
                child.parentNode.removeChild(child)
              }.bind(this), 1000);
            } else {
              alert('获取用户信息失败')
            }
          })
          rs()
        }
      }
      if (!window.ecMobileTool) {
        rj();
      }
      window.ecMobileTool.loadjs.isDefined('lzapi')
        ? window.ecMobileTool.loadjs.ready('lzapi', init.bind(this, rs, rj))
        : window.ecMobileTool.loadjs('/spa/coms/ssoSDK/lzapi.min.js', 'lzapi', init.bind(this, rs, rj));
    }.bind(this))

  },
  callapi_params_handler: function (url, method, params, includeCredentials, useJson) {
    if (/.*\/weaver\/weaver\.file\.FileDownload.*/.test(url)) {
      var urlParams = url.slice(url.indexOf('?') + 1).split('&');
      var paramsArr = [];
      for (var index = 0; index < urlParams.length; index++) {
        var datas = urlParams[index].split('=');
        paramsArr[datas[0]] = datas[1];
      }

      var longchengRedirectParams = window.longchengRedirectParams;
      method = 'POST'
      params['fileid'] = paramsArr['fileid'];
      params['filename'] = paramsArr['filename'] || params['filename'];
      params['stateless'] = 'y';
      params['uid'] = longchengRedirectParams.uid;
      params['staffCode'] = longchengRedirectParams.staffCode;
      params['devId'] = longchengRedirectParams.devId;
      params['appCode'] = '10000205';
      params['reqServerId'] = 'A2-BE22DF47959C40AA9EDEBCB976E67E19';
      params['targetServerId'] = 'A3-B64DB5899BB5444D86B93FD5F68AFB63';
      url = 'http://20.124.164.231:818/ecology_dvs/downloadftp'
      var downloadres = {
        url: url,
        method: method,
        params: params,
        includeCredentials: includeCredentials,
        useJson: false,
      }
      return downloadres;
    }

    if (/.*\/api\/doc\/acc\/convertFile.*/.test(url)) {
      var longchengRedirectParams = window.longchengRedirectParams;
      method = 'POST'
      params['stateless'] = 'y';
      params['uid'] = longchengRedirectParams.uid;
      params['staffCode'] = longchengRedirectParams.staffCode;
      params['devId'] = longchengRedirectParams.devId;
      params['appCode'] = '10000205';
      params['reqServerId'] = 'A2-BE22DF47959C40AA9EDEBCB976E67E19';
      params['targetServerId'] = 'A3-B64DB5899BB5444D86B93FD5F68AFB63';
      url = 'http://20.124.164.231:818/ecology_dvs/fileviewservlet'
      var fileviewres = {
        url: url,
        method: method,
        params: params,
        includeCredentials: includeCredentials,
        useJson: false,
      }
      return fileviewres;
    }

    params['forwardMethod'] = method;
    params['forwardResourceUri'] = url;
    params['stateless'] = 'y';
    var paramsStr = JSON.stringify(params);
    var longchengRedirectParams = window.longchengRedirectParams;
    params = {
      "uid": longchengRedirectParams.uid,
      "staffCode": longchengRedirectParams.staffCode,
      "devId": longchengRedirectParams.devId,
      "devAddress": null,
      "appCode": "10000205",
      "reqServerId": "A2-BE22DF47959C40AA9EDEBCB976E67E19",
      "targetServerId": "A3-B64DB5899BB5444D86B93FD5F68AFB63",
      targetMethod: '/api/ec/dev/http/forward',
      param: paramsStr
    };
    url = 'http://20.124.164.231:818/httptest/services/IDataTransfer/dataTrans';
    method = 'POST'
    useJson = true;

    var res = {
      url: url,
      method: method,
      params: params,
      includeCredentials: includeCredentials,
      useJson: useJson,
    }
    return res;
  },
  // callapi_response_handler: function (data, reject) {
  //   if (/<!DOCTYPE html>/.test(JSON.stringify(data))) {
  //     reject('接口内容为html页面!')
  //   }
  //   JSON.stringify(data)
  //   var res = {};
  //   try {
  //     res = JSON.parse(data);
  //   } catch (e) {
  //     res = data || '{}';
  //   }

  //   if (res.isdownload == '1') {
  //     alert('文件下载中,请在下载管理器查看');
  //     //定义一个form表单,通过form表单来发送请求
  //     var form = document.createElement("form");

  //     //设置表单状态为不显示
  //     form.setAttribute("style", "display:none");

  //     //method属性设置请求类型为get
  //     form.setAttribute("method", "get");

  //     //action属性设置请求路径,(如有需要,可直接在路径后面跟参数)
  //     //例如:htpp://127.0.0.1/test?id=123
  //     form.setAttribute("action", res.fileurl);

  //     //将表单放置在页面(body)中
  //     document.body.appendChild(form);
  //     return { status: '1' };
  //   }
  //   if (res.needurl == '1') {
  //     return { status: '1', url: res.fileurl };
  //   }
  //   if (res.result == '0') {
  //     window.location.href = res.data[0];
  //     // return { status: '1' };
  //     reject('跳转至附件');
  //   }

  //   function evil(fn) {
  //     var Fn = Function; // 一个变量指向Function,防止有些前端编译工具报错
  //     return new Fn('return ' + fn)();
  //   }
  //   if (res.resCode == '10000') {
  //     try {
  //       return JSON.parse(res.resData);
  //     } catch (e) {
  //       return evil('(' + res.resData + ')'); // JSON.parse 解析反斜杠报错处理
  //     }
  //   } else {
  //     reject('fail:' + JSON.stringify(data))
  //   }
  // },
  // onHomePageClick: function () {
  //   window.location.href = '/spa/entrance/index-lzlc.html'
  // }
}

window.e9uploadConfig = {
  inUse: true,
  getUploadParams: function () {
    // var idNumber = '';
    // var deviceId = '';
    // // function init(rs, rj) {
    // try {
    //   var info = window.lzapi.getUserInfo();
    //   idNumber = info.idCard;

    //   // // 首先,获取设备信息对象,参数有: 设备串号
    //   var devinfo = window.lzapi.getDeviceInfo();
    //   // // 设备串号,格式参考(https://baike.baidu.com/item/IMEI)
    //   deviceId = devinfo.imei;
    // } catch (error) {
    //   alert('获取设备信息失败,使用默认信息');
    //   idNumber = '450221198605250014';
    //   deviceId = '867011033569708';
    // }

    var customSessionKey = window.ecMobileTool.ls.getJSONObj('customSessionKey')
    var res = {
      uploadParams: {
        // "appCode": "10000205",
        // "reqServerId": "A2-BE22DF47959C40AA9EDEBCB976E67E19",
        // "targetServerId": "A3-B64DB5899BB5444D86B93FD5F68AFB63",
        // "devAddress": null,
        // "uid": idNumber,
        // "staffCode": idNumber,
        // "devId": deviceId,
        "ssoToken": customSessionKey && customSessionKey.keyValue,
        // test secId
        // "secId": 1023
      },
      // uploadUrl: '/ecology_dvs/uploadftp'
    };
    return res;
  },
}

window.e9DownloadConfig = {
  inUse: false,
  downloadHandler: function (url) {
    alert('enter download' + url)
    window.ecMobileTool.callApi({
      url: url,
      method: 'get',
      params: {},
    })
  }
}