import request from '@/utils/request'; import type { ApiResult, PageResult } from '@/api'; import type { Navigation, NavigationParam } from './model'; import { MODULES_API_URL } from '~/config'; /** * 分页查询导航 */ export async function pageNavigation(params: NavigationParam) { const res = await request.get>>( MODULES_API_URL + '/cms/navigation/page', { params } ); if (res.data.code === 0) { return res.data.data; } return Promise.reject(new Error(res.data.message)); } /** * 查询导航列表 */ export async function listNavigation(params?: NavigationParam) { const res = await request.get>( MODULES_API_URL + '/cms/navigation', { params } ); if (res.data.code === 0 && res.data.data) { return res.data.data; } return Promise.reject(new Error(res.data.message)); } /** * 添加导航 */ export async function addNavigation(data: Navigation) { const res = await request.post>( MODULES_API_URL + '/cms/navigation', data ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 修改导航 */ export async function updateNavigation(data: Navigation) { const res = await request.put>( MODULES_API_URL + '/cms/navigation', data ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 删除导航 */ export async function removeNavigation(id?: number) { const res = await request.delete>( MODULES_API_URL + '/cms/navigation/' + id ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 批量删除导航 */ export async function removeBatchNavigation(data: (number | undefined)[]) { const res = await request.delete>( MODULES_API_URL + '/cms/navigation/batch', { data } ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 修改用户状态 */ export async function updateNavigationStatus(navigationId?: number, status?: number) { const res = await request.put>( MODULES_API_URL + '/cms/navigation/status', { navigationId, status } ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 根据id查询导航 */ export async function getNavigation(id: number) { const res = await request.get>( MODULES_API_URL + '/cms/navigation/' + id ); if (res.data.code === 0 && res.data.data) { return res.data.data; } return Promise.reject(new Error(res.data.message)); } /** * 检查IP是否存在 */ export async function checkExistence( field: string, value: string, id?: number ) { const res = await request.get>( MODULES_API_URL + '/cms/navigation/existence', { params: { field, value, id } } ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 树形结构 * @param params */ export async function treeNavigation(params?: NavigationParam) { const res = await request.get>( MODULES_API_URL + '/cms/navigation/tree', { params } ); if (res.data.code === 0 && res.data.data) { return res.data.data; } return Promise.reject(new Error(res.data.message)); } /** * 根据path查询导航 */ export async function getNavigationByPath(path: string) { const res = await request.get>( MODULES_API_URL + '/cms/navigation/getNavigationByPath/' + path ); if (res.data.code === 0 && res.data.data) { return res.data.data; } return Promise.reject(new Error(res.data.message)); }