feat(system): 实现菜单备份与恢复功能- 新增菜单数据导入组件 (Import.vue)

- 修改菜单搜索组件,添加备份与恢复按钮
- 调整主页面组件属性绑定
- 实现 Excel 格式菜单数据的导出与导入
- 添加文件类型与大小验证
- 支持拖拽上传与点击上传两种方式
- 提供操作成功/失败的消息反馈
-限制功能仅超级管理员可用
- 更新相关 API 接口调用 (importSystemMenu)- 优化用户体验与界面交互
This commit is contained in:
2025-09-30 22:47:31 +08:00
parent b0816eb3b4
commit addd4bbe01
11 changed files with 631 additions and 143 deletions

View File

@@ -1,7 +1,7 @@
import request from '@/utils/request';
import type { ApiResult } from '@/api';
import type { Menu, MenuParam } from './model';
import { SERVER_API_URL } from '@/config/setting';
import {SERVER_API_URL} from '@/config/setting';
/**
* 查询菜单列表
@@ -154,3 +154,19 @@ export async function installPlug(id?: number) {
}
return Promise.reject(new Error(res.data.message));
}
/**
* 导入备份
*/
export async function importSystemMenu(file: File) {
const formData = new FormData();
formData.append('file', file);
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/menu/import',
formData
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}