'use strict'; import request from 'superagent'; export const ApiTable = { login: 'login', logout: 'logout', validatePhone: 'validate/phone', //标签管理 getTags: 'tags', postTagSets: 'tag-sets', putTagSets: 'tag-sets/{id}', delTagSets: 'tag-sets/{id}', postTags: 'tags', putTags: 'tags/{id}', delTags: 'tags/{id}', //元数据管理-模型管理 getMetaModelList: 'meta/models', addMetaModel: 'meta/model', modifyMetaModel: 'meta/model/{id}', //最新元数据-资源目录 getResourceCatalog: 'resource-catalog', postResourceCatalog: 'resource-catalog', putResourceCatalog: 'resource-catalog/{id}', delResourceCatalog: 'resource-catalog/{id}', //最新元数据-元数据列表查询 getMetadataDatabases: 'metadata/databases', getMetadataFiles: 'metadata/files', getMetadataRestapis: 'metadata/restapis', getMetadataModels: 'metadata/models', //库表元数据增删改、等配置 postMetadataDatabases: 'metadata/databases', putMetadataDatabases: 'metadata/databases/{id}', delMetadataDatabases: 'metadata/databases/{id}', getMetadataDatabasesById: 'metadata/databases/{id}', postTagMetadata: 'tag/metadata', getTagMetadata: 'tag/metadata/{id}', getMetadataResourceApplications: 'resource-consumption/applications', postMetadataResourceApplications: 'resource-consumption/applications', //文件元数据增删改 postMetadataFiles: 'metadata/files', putMetadataFiles: 'metadata/files/{id}', delMetadataFiles: 'metadata/files/{id}', //接口元数据增删改 postMetadataRestapis: 'metadata/restapis', putMetadataRestapis: 'metadata/restapis/{id}', delMetadataRestapis: 'metadata/restapis/{id}', //元数据采集-数据源管理 pgCheckConnect: 'adapter/check/connect', addDataSource: 'meta/acq/dataSource', getAdapters: 'meta/acq/adapters', getDataSources: 'meta/acq/dataSources', modifyDataSource: 'acq/dataSource/{id}', //元数据采集-采集任务管理 addTask: 'meta/acq/task', getTasks: 'meta/acq/tasks', modifyTask: 'acq/task/{id}', runTask: 'run/acq/task', //采集日志 getLogs: "meta/acq/logs" }; export const RouteTable = { fileUpload: '/_upload/new', cleanUpUploadTrash: '/_upload/cleanup', }; const resultHandler = (resolve, reject) => (err, res) => { if (err) { if (err.status == 401) { // 退出到登录页 const user = JSON.parse(sessionStorage.getItem('user')); sessionStorage.clear(); window.document.location.replace('/login'); reject('unauth'); } else { reject({ status: err.status || 0, body: err.response ? err.response.body : err.message }); } reject({ status: err.status || 0, body: err.response ? err.response.body : err.message }); } else { resolve(res.body); } }; export const buildRoute = (url) => { const user = JSON.parse(sessionStorage.getItem('user')); if (user == null) { return url; } let connector = url.indexOf('?') === -1 ? '?' : '&'; return `${url}${connector}token=${user.token}`; }; export class RouteRequest { static get = (url, query) => new Promise((resolve, reject) => { request.get(buildRoute(url)).query(query).end(resultHandler(resolve, reject)); }); static post = (url, data, query) => new Promise((resolve, reject) => { request.post(buildRoute(url)).query(query).send(data).end(resultHandler(resolve, reject)); }); static delete = (url, data, query) => new Promise((resolve, reject) => { request.delete(buildRoute(url)).query(query).send(data).end(resultHandler(resolve, reject)); }); }