feat: 适配5.x后端,重构前端架构

主要变更:
1. 重构API目录结构,采用模块化设计,适配5.x后端接口规范
2. 优化布局组件,提升用户界面体验
3. 增强国际化支持,完善多语言配置
4. 新增权限控制功能,支持前端路由权限管理
5. 优化认证流程,支持JWT认证机制
6. 新增中间件和插件,提升系统扩展性
7. 优化状态管理,采用更清晰的模块化设计
8. 新增搜索框、广告等组件,丰富页面功能
9. 更改包管理工具从npm到pnpm,提升依赖管理效率
10. 完善配置系统,支持多环境配置

适配5.x后端特性:
- 采用新的API接口规范
- 支持JWT认证机制
- 适配后端权限控制体系
- 支持后端国际化接口
- 优化数据交互方式
This commit is contained in:
Mr.April
2026-04-07 11:01:11 +08:00
parent 1b83f1890b
commit d84d972e73
127 changed files with 103052 additions and 14661 deletions
+19 -20
View File
@@ -1,4 +1,6 @@
// https://v3.nuxtjs.org/docs/directory-structure/nuxt.config
import path from 'path'
export default defineNuxtConfig({
modules: [
'@nuxt/eslint',
@@ -6,8 +8,8 @@ export default defineNuxtConfig({
'@unocss/nuxt',
'@pinia/nuxt',
'@element-plus/nuxt',
'@nuxtjs/color-mode',
'nuxt-icons'
'nuxt-icons',
'pinia-plugin-persistedstate/nuxt'
],
devtools: {
@@ -15,23 +17,17 @@ export default defineNuxtConfig({
},
app: {
baseURL: '/web/',
baseURL: '/web',
head: {
title: 'MADONG-ADMIN 快速开发框架',
meta: [
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{
name: 'description',
content: 'ElementPlus + Nuxt3',
},
],
link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }],
htmlAttrs: {
lang: 'zh-cn'
}
}
},
// css
css: [
'@unocss/reset/tailwind.css',
'~/assets/css/uno-reset.css',
'~/assets/scss/index.scss'
],
@@ -40,11 +36,6 @@ export default defineNuxtConfig({
ssrHandlers: true,
},
// colorMode
colorMode: {
classSuffix: '',
},
future: {
compatibilityVersion: 4,
},
@@ -83,12 +74,20 @@ export default defineNuxtConfig({
server: {
proxy: {
"/api": {
target: "http://127.0.0.1",
target: "http://127.0.0.1:8001",
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, "/api"),
},
"/upload": {
target: "http://127.0.0.1:8001",
changeOrigin: true,
rewrite: (path) => path.replace(/^\/upload/, "/upload"),
},
},
},
optimizeDeps: {
include: ['@wangeditor/editor', '@wangeditor/editor-for-vue'],
},
},
elementPlus: {
@@ -96,5 +95,5 @@ export default defineNuxtConfig({
importStyle: 'scss',
themes: ['dark'],
},
ssr: false,
ssr: true,
})