Files
qhmes/jeecgboot-vue3/src/api/common/api.ts
2026-05-21 17:54:57 +08:00

190 lines
5.0 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { defHttp } from '/@/utils/http/axios';
import { message } from 'ant-design-vue';
import { resolveApiBaseUrl } from '/@/utils/env/apiBaseUrl';
enum Api {
positionList = '/sys/position/list',
userList = '/sys/user/list',
roleList = '/sys/role/list',
queryDepartTreeSync = '/sys/sysDepart/queryDepartTreeSync',
queryTreeList = '/sys/sysDepart/queryTreeList',
loadTreeData = '/sys/category/loadTreeData',
loadDictItem = '/sys/category/loadDictItem',
getDictItems = '/sys/dict/getDictItems/',
getTableList = '/sys/user/queryUserComponentData',
getCategoryData = '/sys/category/loadAllData',
refreshDragCache = '/drag/page/refreshCache',
refreshDefaultIndexCache = '/sys/sysRoleIndex/cleanDefaultIndexCache',
//异步获取部门和岗位
queryDepartAndPostTreeSync = '/sys/sysDepart/queryDepartAndPostTreeSync',
//查询部门岗位下的用户
queryDepartPostUserPageList = '/sys/user/queryDepartPostUserPageList',
//查询所选部门的所有父节点ID
queryAllParentId = '/sys/sysDepart/queryAllParentId',
}
/**
* 上传地址(须含 context-path开发环境 domain 仅为 host 时需拼 apiUrl
*/
export const uploadUrl = `${resolveApiBaseUrl()}/sys/common/upload`;
/**
* 职务列表
* @param params
*/
export const getPositionList = (params) => {
return defHttp.get({ url: Api.positionList, params });
};
/**
* 用户列表
* @param params
*/
export const getUserList = (params) => {
return defHttp.get({ url: Api.userList, params });
};
/**
* 角色列表
* @param params
*/
export const getRoleList = (params) => {
return defHttp.get({ url: Api.roleList, params });
};
/**
* 异步获取部门树列表
*/
export const queryDepartTreeSync = (params?) => {
return defHttp.get({ url: Api.queryDepartTreeSync, params });
};
/**
* 异步获取部门职位树列表
*/
export const queryDepartAndPostTreeSync = (params?) => {
return defHttp.get({ url: Api.queryDepartAndPostTreeSync, params });
};
/**
* 获取部门树列表
*/
export const queryTreeList = (params?) => {
return defHttp.get({ url: Api.queryTreeList, params });
};
/**
* 分类字典树控件 加载节点
*/
export const loadTreeData = (params?) => {
return defHttp.get({ url: Api.loadTreeData, params });
};
/**
* 根据字典code加载字典text
*/
export const loadDictItem = (params?) => {
return defHttp.get({ url: Api.loadDictItem, params });
};
/**
* 根据字典code加载字典text
*/
export const getDictItems = (dictCode) => {
return defHttp.get({ url: Api.getDictItems + dictCode }, { joinTime: false });
};
/**
* 部门用户modal选择列表加载list
*/
export const getTableList = (params) => {
return defHttp.get({ url: Api.getTableList, params });
};
/**
* 部门岗位用户modal【查询部门岗位下的用户】
*/
export const queryDepartPostUserPageList = (params) => {
return defHttp.get({ url: Api.queryDepartPostUserPageList, params });
};
/**
* 查询所选部门的所有父节点ID
*/
export const queryAllParentId = (params) => {
return defHttp.get({ url: Api.queryAllParentId, params });
};
/**
* 加载全部分类字典数据
*/
export const loadCategoryData = (params) => {
return defHttp.get({ url: Api.getCategoryData, params });
};
/**
* 文件上传
*/
export const uploadFile = (params, success) => {
return defHttp.uploadFile({ url: uploadUrl }, params, { success });
};
/**
* 下载文件
* @param url 文件路径
* @param fileName 文件名
* @param parameter
* @returns {*}
*/
export const downloadFile = (url, fileName?, parameter?) => {
return getFileblob(url, parameter).then((data) => {
if (!data || data.size === 0) {
message.warning('文件下载失败');
return;
}
if (typeof window.navigator.msSaveBlob !== 'undefined') {
window.navigator.msSaveBlob(new Blob([data]), fileName);
} else {
let url = window.URL.createObjectURL(new Blob([data]));
let link = document.createElement('a');
link.style.display = 'none';
link.href = url;
link.setAttribute('download', fileName);
document.body.appendChild(link);
link.click();
document.body.removeChild(link); //下载完成移除元素
window.URL.revokeObjectURL(url); //释放掉blob对象
}
});
};
/**
* 下载文件 用于excel导出
* @param url
* @param parameter
* @returns {*}
*/
export const getFileblob = (url, parameter) => {
return defHttp.get(
{
url: url,
params: parameter,
responseType: 'blob',
},
{ isTransformResponse: false }
);
};
/**
* 【用于评论功能】自定义文件上传-方法
*/
export const uploadMyFile = (url, data) => {
return defHttp.uploadMyFile(url, data);
};
/**
* 刷新仪表盘缓存
* @param params
*/
export const refreshDragCache = () => defHttp.get({ url: Api.refreshDragCache }, { isTransformResponse: false });
/**
* 刷新默认首页缓存
* @param params
*/
export const refreshHomeCache = () => defHttp.get({ url: Api.refreshDefaultIndexCache }, { isTransformResponse: false });