UNPKG

ecology9-src4js-tools

Version:

src4js-tools

259 lines (253 loc) 9.94 kB
(function () { function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } window.isLocalApp = true; var u = window.navigator.userAgent; var isEM = (/.*E-Mobile7.*/.test(u) || /.*E-Mobile\/7.*/.test(u)); if (isEM) { window.localAppUa = 'EM7'; window.localAppOrigin = 'http://10.10.10.40'; window.em.getItem({ key: 'localAppInfo', success: function (result) { console.log('------', result); // try { // var localAppInfoObj = JSON.parse(result.value); // if (localAppInfoObj) { // window.localAppOrigin = localAppInfoObj.origin; // } // } catch() {} } }); } else { window.localAppUa = 'WeLink'; window.localAppOrigin = 'http://cloudstore.e-cology.cn'; } // window.isLocalApp = true; window.localAppIds = {}; window.debugwithvconsole = window.location.href.indexOf('debugwithvconsole=true') > 0; function getFrameParams() { var urlStr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var url = urlStr || window.location.href; var urlParams = url.slice(url.indexOf('?') + 1).split('&'); var params = []; urlParams.forEach(function (element) { var datas = element.split('='); params[datas[0]] = datas[1]; }); return params; }; function getFd(values) { var fd = ''; for (var p in values) { if (values.hasOwnProperty(p)) { var target = values[p]; target = target === void 0 ? '' : target; var item = encodeURIComponent(target); fd += p + '=' + item + '&'; } } return fd; }; function getFetchParams(method, params, includeCredentials, useJson) { var obj = { method: method, headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'X-Requested-With': 'XMLHttpRequest' } }; if (window.localStorage.m_access_token) { obj.headers.__emobile7TokenName = window.localStorage.m_access_token; obj.headers.mobiletoken = window.localStorage.m_access_token; obj.headers['Emobile7-Token-Name'] = window.localStorage.m_access_token; } if (includeCredentials && (window.server === '' || window.server === undefined)) { obj.credentials = 'include'; } if (Object.keys(params).length > 0 && method.toUpperCase() !== 'GET') { obj.body = getFd(params); } if (useJson) { obj.headers['Content-Type'] = 'application/json; charset=utf-8'; obj.body = JSON.stringify(params); } return obj; }; window.e9Hooks = { rewriteUploadCallApi(option) { if (window.localAppUa == 'EM7') { // console.log('upload', option) var formData = new FormData(); var fileName; if (option.uploadParams) { Object.keys(option.uploadParams).forEach((key) => { formData.append(key, option.uploadParams[key]); }); } // console.log('upload1') if (option.blob) { formData.append('name', option.imgName || option.filename); fileName = option.imgName || option.filename; // 处理iphone6s ios低版本 外勤签到拍照上传问题 // formData.append(option.fileDataName || 'file', option.blob, option.imgName || option.filename); } else { formData.append('name', option.filename); fileName = option.filename; // formData.append(option.fileDataName || 'file', option.file); } // console.log('upload2') var reader = new FileReader(); reader.onload = e => { var dataURL = e.target.result; // console && console.log('dataurl', dataURL) return new Promise(function (resolve, reject) { // console.log('upload3') var l = function () { // console && console.log(3333, window.localAppOrigin + option.uploadUrl) var otherParams = {} u.indexOf('Android') > -1 || u.indexOf('Adr') > -1 ? otherParams = {} : otherParams = { fileData: dataURL }; window.em.invoke('uploadFile', { ...otherParams, url: window.localAppOrigin + option.uploadUrl, //仅为示例,并非真实的接口地址 method: 'POST', formData, fileName, // name: fileName, success: function (res) { var data = res.data; // console && console.log('success', res) option.onSuccess(data, data); resolve(data); }, fail: function (res) { var data = res.data; // console && console.log('fail', res) option.onError(data); resolve(data); } }); } l(); }) }; reader.readAsDataURL(option.blob || option.file); } }, rewriteCallApi(options) { if (/\/api\/ec\/dev\/locale\/getLabelByModule/.test(options.url)) { return new Promise(function (resolve, reject) { resolve({ datas: [], language: 7, status: true }) }); } var ua = window.ua || {}; var _options$url = options.url, url = _options$url === undefined ? '' : _options$url, _options$method = options.method, method = _options$method === undefined ? 'GET' : _options$method, _options$params2 = options.params, params = _options$params2 === undefined ? {} : _options$params2, _options$type = options.type, type = _options$type === undefined ? 'json' : _options$type, _options$includeCrede = options.includeCredentials, includeCredentials = _options$includeCrede === undefined ? true : _options$includeCrede, _options$useJson = options.useJson, useJson = _options$useJson === undefined ? false : _options$useJson, _options$checkCode2 = options.checkCode, checkCode = _options$checkCode2 === undefined ? true : _options$checkCode2; var _url = url; var server = window.server || ''; params._ec_ismobile = true; params._ec_browser = ua.browser || ''; params._ec_browserVersion = ua.version || ''; params._ec_os = ua.os || ''; params._ec_osVersion = ua.osVersion || ''; params._ec_islocalapp = true; params.ismobile = 1; _url = '' + server + _url; if (/\?/.test(_url)) { var urlParams = getFrameParams(_url); _url = _url.slice(0, url.indexOf('?')); params = _extends({}, params, urlParams); } if (method.toUpperCase() === 'GET' && Object.keys(params).length > 0) { var c = '?'; if (/\?/.test(_url)) { c = '&'; } _url = '' + _url + c + getFd(params); } if (method.toUpperCase() === 'GET' && !/__random__/.test(_url)) { var _c = '?'; if (/\?/.test(_url)) { _c = '&'; } _url += _c + '__random__=' + new Date().getTime(); } var para = getFetchParams(method, params, includeCredentials, useJson); return new Promise(function (resolve, reject) { if (window.localAppUa !== 'EM7') { var l = function () { var hwh5url = window.localAppOrigin + _url; console && console.log(111, hwh5url) window.HWH5.fetchInternet(hwh5url, getFetchParams(method, params, includeCredentials, useJson)).then(function (t) { return t.text().then(function (data) { console && console.log(222, data) resolve(data); }) }).catch(function (e) { console.log("------ catch: \n", hwh5url, e); reject(e); }) }; window.HWH5.getStorage("ssoToken").then(function (e) { params.ssoToken = e || localStorage.getItem("ssoToken") || ""; params.stateless = 'y'; if (method.toUpperCase() === 'GET' && !/__random__/.test(_url)) { var _d = '?'; if (/\?/.test(_url)) { _d = '&'; } _url = '' + _url + _d + getFd(params); } l(); }).catch(function (e) { params.ssoToken = localStorage.getItem("ssoToken") || ""; params.stateless = 'y'; if (method.toUpperCase() === 'GET' && !/__random__/.test(_url)) { var _f = '?'; if (/\?/.test(_url)) { _f = '&'; } _url = '' + _url + _f + getFd(params); } l(); }) } else if (window.localAppUa == 'EM7') { var l = function () { // console && console.log(window.localAppOrigin + _url) if (_url.indexOf('/api/hrm/login/checkLogin') !== -1) { params.islanguid = '7'; } window.em.invoke('request', { url: window.localAppOrigin + _url, //仅为示例,并非真实的接口地址 method: method.toUpperCase(), data: params, header: para.headers, success: function (res) { var data = res.data; resolve(data); } }); } l(); } }) } } if (debugwithvconsole) { var script = document.createElement('script'); script.onload = function () { var vConsole = new window.VConsole() } document.body.appendChild(script); script.src = '../common/js/vconsole.min.js'; } })()