import { del, post, postWithConfig } from '@af-mobile-client-vue3/services/restTools' import { indexedDB } from '@af-mobile-client-vue3/utils/indexedDB' const commonApi = { // 获取配置 getConfig: 'logic/openapi/getLiuliConfiguration', // 通用查询 query: 'logic/commonQuery', // 编辑前查询 queryWithResource: 'logic/commonQueryWithResource', // 通用新增/修改 addOrModify: 'logic/commonAddOrModify', // 通用删除 delete: 'logic/commonDelete', } /** * 根据配置名获取配置内容 * @param configName 配置名称 * @param callback 回调函数 */ export function getConfigByName(configName: string, callback: Function): void export function getConfigByName(configName: string, callback: Function, serviceName: string): void /** * 根据配置名获取配置内容 * @param configName 配置名称 * @param callback 回调函数 * @param serviceName 服务名 */ export function getConfigByName(configName: string, callback: Function, serviceName = import.meta.env.VITE_APP_SYSTEM_NAME): void { indexedDB.getByWeb(configName, `/${serviceName}/${commonApi.getConfig}`, { configName }, callback, null) } export async function getConfigByNameAsync(configName: string, serviceName = import.meta.env.VITE_APP_SYSTEM_NAME): Promise { return new Promise((resolve, reject) => { indexedDB.getByWeb(configName, `/${serviceName}/${commonApi.getConfig}`, { configName }, resolve, null) }) } /** * 临时使用 * 获取琉璃配置,不走indexedDB缓存 * @param configName * @param serviceName */ export function getConfigByNameWithoutIndexedDB(configName: string, serviceName = import.meta.env.VITE_APP_SYSTEM_NAME) { return post(`/${serviceName}/${commonApi.getConfig}`, { configName }) } /** * 通用执行业务逻辑 */ export function runLogic(logicName: string, parameter: object, serviceName = import.meta.env.VITE_APP_SYSTEM_NAME): Promise { return post(`/${serviceName}/logic/${logicName}`, parameter) } /** * 通用查询 */ export function query(parameter: object, serviceName = import.meta.env.VITE_APP_SYSTEM_NAME) { return post(`/${serviceName}/${commonApi.query}`, parameter) } /** * 编辑前查询 */ export function queryWithResource(parameter: object, serviceName = import.meta.env.VITE_APP_SYSTEM_NAME) { return post(`/${serviceName}/${commonApi.queryWithResource}`, parameter) } /** * 通用新增/修改 */ export function addOrModify(parameter: object, tableName = 't_files', serviceName = import.meta.env.VITE_APP_SYSTEM_NAME) { return post(`/${serviceName}/entity/${tableName}`, parameter) } /** * 通用新增/修改 */ export function addOrModifyEntity(parameter: object, tableName: string, serviceName = import.meta.env.VITE_APP_SYSTEM_NAME) { return post(`/${serviceName}/entity/save/${tableName}`, parameter) } /** * 通用删除 */ export function remove(parameter: object, serviceName = import.meta.env.VITE_APP_SYSTEM_NAME) { return post(`/${serviceName}/${commonApi.delete}`, parameter) } /** * @description: 上传 */ export function upload(parameter, serviceName = import.meta.env.VITE_APP_SYSTEM_NAME, config) { return postWithConfig(`/${serviceName}/resource/upload`, parameter, config) } /** * @description: 删除 */ export function deleteFile(data, serviceName = import.meta.env.VITE_APP_SYSTEM_NAME) { return del(`/${serviceName}/entity/t_files`, data) } export function openApiLogic(parameter, logicName: string, serviceName = import.meta.env.VITE_APP_SYSTEM_NAME) { return post(`/${serviceName}/logic/openapi/${logicName}`, parameter) } export { commonApi }