初始化
This commit is contained in:
173
api/cms/navigation/index.ts
Normal file
173
api/cms/navigation/index.ts
Normal file
@@ -0,0 +1,173 @@
|
||||
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<ApiResult<PageResult<Navigation>>>(
|
||||
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<ApiResult<Navigation[]>>(
|
||||
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<ApiResult<unknown>>(
|
||||
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<ApiResult<unknown>>(
|
||||
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<ApiResult<unknown>>(
|
||||
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<ApiResult<unknown>>(
|
||||
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<ApiResult<unknown>>(
|
||||
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<ApiResult<Navigation>>(
|
||||
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<ApiResult<unknown>>(
|
||||
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<ApiResult<Navigation[]>>(
|
||||
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<ApiResult<Navigation>>(
|
||||
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));
|
||||
}
|
||||
59
api/cms/navigation/model/index.ts
Normal file
59
api/cms/navigation/model/index.ts
Normal file
@@ -0,0 +1,59 @@
|
||||
import type {Design} from "~/api/cms/design/model";
|
||||
|
||||
/**
|
||||
* 菜单
|
||||
*/
|
||||
export interface Navigation{
|
||||
navigationId?: number;
|
||||
parentId?: number;
|
||||
title?: string;
|
||||
path?: string;
|
||||
icon?: string;
|
||||
component?: string;
|
||||
type?: number;
|
||||
sortNumber?: number;
|
||||
hide?: number;
|
||||
permission?: number;
|
||||
password?: string;
|
||||
home?: number;
|
||||
position?: number;
|
||||
meta?: string;
|
||||
children?: Navigation[];
|
||||
disabled?: boolean;
|
||||
tenantId?: number;
|
||||
comments?: string;
|
||||
status?: number;
|
||||
pageId?: number;
|
||||
articleCategoryId?: number;
|
||||
articleId?: number;
|
||||
goodsCategoryId?: number;
|
||||
goodsId?: number;
|
||||
bookCode?: string;
|
||||
formId?: number;
|
||||
pageName?: string;
|
||||
createTime?: string;
|
||||
isMpWeixin?: boolean;
|
||||
target?: string;
|
||||
layout?: string;
|
||||
design?: Design;
|
||||
// 用于面包肖屑
|
||||
parentName?: string;
|
||||
parentPath?: string;
|
||||
parentStatus?: number;
|
||||
categoryName?: string;
|
||||
categoryPath?: string;
|
||||
currentTitle?: string;
|
||||
style?: string;
|
||||
label?: string;
|
||||
value?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 菜单搜索参数
|
||||
*/
|
||||
export interface NavigationParam {
|
||||
title?: string;
|
||||
path?: string;
|
||||
authority?: string;
|
||||
parentId?: number;
|
||||
}
|
||||
Reference in New Issue
Block a user