UNPKG

trs-ui-app

Version:

TRS 可视化低代码平台 前端移动 UI 组件库 👍

45 lines (43 loc) 1.34 kB
var api = async (url = '', data = {}, type = 'GET', headers = {}, log = () => { }) => { const baseUrl = ''; type = type.toUpperCase(); url = baseUrl + url; if (type === 'GET') { let dataStr = ''; Object.keys(data).forEach(key => { dataStr += `${key}=${data[key]}&`; }); if (dataStr !== '') { dataStr = dataStr.substr(0, dataStr.lastIndexOf('&')); url = `${url}?${dataStr}`; } } const requestConfig = { credentials: 'same-origin', method: type, headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', 'req-from': 'LowCode', ...headers, }, mode: 'cors', cache: 'no-cache', }; if (type === 'POST') { Object.defineProperty(requestConfig, 'body', { value: JSON.stringify(data), }); } try { log(url, requestConfig); const response = await fetch(url, requestConfig); const responseJson = await response.json(); return responseJson; } catch (error) { log(`${url}-requestError`, JSON.stringify(error)); throw new Error(`error: ${JSON.stringify(error)}`); } }; export { api as default };