import { TOOL_API, SERVICE_API } from '../common/commonModule' class RestFul { constructor (requestClient, isService) { this.requestClient = requestClient this.moduleName = 'RestFulModule' // 如果isService 是字符串就直接试用这个字符串作为代理前缀,是不尔值:true就使用用默认的字符串:SERVICE_PROXY const typeof_isService = typeof isService this.MODULE_API = TOOL_API if (typeof_isService === 'boolean') { this.MODULE_API = isService ? SERVICE_API : TOOL_API } else if (typeof_isService === 'string' && isService) { this.MODULE_API = isService } } // 处理传入的data 如果有appCode dbName packParamHandle (parms) { const { appCode } = parms if (!appCode) { parms.appCode = this.requestClient.appCode //|| urlParam.appCode } } mergeHeaderQueryMaster (isQueryMaster) { if (isQueryMaster) { return { 'x-db_router_type': 'master' } } else { return {} } } query (data) { this.packParamHandle(data) const { tableName, appCode, group, parms, bodyData, isQueryMaster } = data let url = `${this.MODULE_API}${appCode}/${tableName}/` if (group) { // 非标准保存 url = `${url}${group}/` } const header = this.mergeHeaderQueryMaster(isQueryMaster) if (bodyData) { return this.requestClient.put(url, bodyData, parms, header) } else { return this.requestClient.get(url, parms, header) } } save (data) { this.packParamHandle(data) const { tableName, appCode, bodyData, group, parms } = data let url = `${this.MODULE_API}${appCode}/${tableName}/` if (group) { // 非标准保存 url = `${url}${group}/` } return this.requestClient.post(url, bodyData, parms) } queryOne (data) { this.packParamHandle(data) const { tableName, id, appCode, parms, group, bodyData, isQueryMaster } = data let url_ = `${this.MODULE_API}${appCode}/${tableName}/` //${id}/` if (group) { url_ = `${url_}${group}/` } url_ = `${url_}${id}/` const header = this.mergeHeaderQueryMaster(isQueryMaster) if (bodyData) { return this.requestClient.put(url_, bodyData, parms, header) } else { return this.requestClient.get(url_, parms, header) } } put (data) { this.packParamHandle(data) const { tableName, appCode, bodyData, group, parms, isQueryMaster } = data let url = `${this.MODULE_API}${appCode}/${tableName}/` if (group) { // 非标准保存 url = `${url}${group}/` } const header = this.mergeHeaderQueryMaster(isQueryMaster) return this.requestClient.put(url, bodyData, parms, header) } queryList (data) { this.packParamHandle(data) const { tableName, appCode, parms, group, bodyData, isQueryMaster } = data let url_ = `${this.MODULE_API}${appCode}/${tableName}/` if (group) { url_ = `${url_}${group}/` } parms.fuzzy = 1 const header = this.mergeHeaderQueryMaster(isQueryMaster) if (bodyData) { return this.requestClient.put(url_, bodyData, parms, header) } else { return this.requestClient.get(url_, parms, header) } } deleteList (data) { this.packParamHandle(data) const { tableName, appCode, bodyData, parms, ids } = data let url_ = `${this.MODULE_API}${appCode}/${tableName}/` if (ids) { url_ + ids + '/' } return this.requestClient.delete(url_, bodyData, parms) } // 兼容新版java的ref查询 get(data){ this.packParamHandle(data) const { tableName, appCode, parms,group } = data let url_ = `${this.MODULE_API}${appCode}/${tableName}/` if (group) { url_ = `${url_}${group}/` } return this.requestClient.get(url_, parms) } } export default RestFul