Skip to content

项目结构

整体结构

sh
mars-mgn-vue
|-- .editorconfig          # 编辑器代码风格统一配置
|-- .env                   # 基础环境变量配置(默认值)
|-- .env.dev               # 开发环境配置(开发服务器使用)
|-- .env.local             # 本地开发环境配置(个人开发使用,不提交到版本库)
|-- .env.prod              # 生产环境配置(打包到生产环境时使用)
|-- .env.stage             # 预发布环境配置(测试环境使用)
|-- .env.test              # 测试环境配置(单元测试/集成测试使用)
|-- .eslintignore          # ESLint忽略检查的文件配置
|-- .eslintrc-auto-import.json # 自动导入配置(与ESLint配合)
|-- .eslintrc.js           # ESLint代码检查规则配置
|-- .git                   # Git版本库目录(自动生成,无需手动修改)
|-- .gitee                 # Gitee平台相关配置(可选)
|-- .gitignore             # Git版本控制忽略文件配置
|-- .image                 # 项目相关图片资源(通常用于文档或README)
|-- .prettierignore        # Prettier格式化忽略的文件配置
|-- .stylelintignore       # Stylelint样式检查忽略的文件配置
|-- .vscode                # VSCode编辑器配置(工作区设置、推荐插件等)
|-- LICENSE                # 项目开源许可证文件
|-- README.en.md           # 项目英文说明文档
|-- README.md              # 项目中文说明文档
|-- assets                 # 项目内资源(会被构建工具处理,如图片、样式等)
|-- build                  # 构建脚本和工具配置(如自定义构建流程)
|-- index.html             # 应用入口HTML文件(Vite默认模板)
|-- node_modules           # 项目依赖包目录(npm/pnpm安装生成)
|-- package.json           # 项目配置文件(依赖、脚本、元数据)
|-- pnpm-lock.yaml         # pnpm包管理器锁定文件(确保依赖版本一致性)
|-- postcss.config.js      # PostCSS配置(CSS转换工具,如添加浏览器前缀)
|-- prettier.config.js     # Prettier代码格式化配置
|-- public                 # 静态资源目录(直接复制到输出目录,不被构建工具处理)
|-- src                    # 项目源代码目录
|-- stylelint.config.js    # Stylelint样式检查配置
|-- tsconfig.json          # TypeScript配置文件
|-- types                  # 类型定义文件
|-- uno.config.ts          # UnoCSS配置(原子化CSS引擎)
|-- vite.config.ts         # Vite构建工具配置
`-- web-types.json         # 提供IDE智能提示的元数据文件

源码目录结构

src源码目录

sh
src # 项目源代码根目录,存放核心业务逻辑与资源 
|-- App.vue # 根组件,应用入口容器,包含全局布局和组件挂载点 
|-- api # API接口定义,每个模块对应一个目录
|-- assets # svg图标、图片等静态资源
|-- components # 富文本、弹窗等全局自定义组件,可被所有模块所引用
|-- config # 配置文件目录
    |   `-- axios # Axios 相关配置
    |       |-- config.ts # 定义baseURL 基础路径,timeout 超时时间,默认为 30000 毫秒
    |       |-- errorCode.ts # 接口错误码映射表(错误码转可读提示) 
    |       |-- index.ts # 统一处理 GET、POST 方法的请求参数、请求头,以及错误提示信息
    |       `-- service.ts # 封装axios:包括请求和响应拦截器等。
|-- directives # 权限控制:v-hasRole 和 v-hasPermi
|-- hooks # 封装通用的逻辑,例如本地缓存、权限控制、全局提示信息等
|-- layout # 页面布局目录
|-- locales # 国际化语言包目录
    |-- en.ts # 英文语言文件
    `-- zh-CN.ts # 中文简体语言文件
|-- main.ts # 应用入口文件(创建 Vue 实例、注册全局配置)
|-- permission.ts # 路由权限守卫配置(登录状态检查、动态路由加载)
|-- plugins # # 第三方插件集成目录(ECharts、国际化等)
|-- router # 路由配置目录
    |-- index.ts # 创建路由实例,配置路由模式和守卫
    `-- modules
        `-- remaining.ts # 静态路由,代表那些不需要动态判断权限的路由,如登录页、404、个人中心等通用页面。
|-- services # 业务逻辑服务目录(解耦组件与复杂逻辑)
|-- store # Pinia 状态管理
|-- styles # 实现全局样式,被所有页面所公用。
|-- types # 类型定义目录(TS 项目专用) 
|-- utils # 字典数据等工具类
`-- views # 页面组件,每个功能模块对应一个目录

src/views子目录

sh
src/views # 页面组件目录,按业务模块拆分
|-- Error # 错误页面组件(如 404、500 错误页)
|-- Home # 首页 / 仪表盘组件,展示项目概览、数据统计等信息
|-- Login # 登录认证相关页面(登录表单、验证码、找回密码等)
|   |-- Login.vue            # 主登录页面(账号密码登录)
|   |-- SocialLogin.vue      # 第三方登录页面(微信/QQ/钉钉)
|   `-- components           # 登录模块内部组件(验证码、密码强度检测等)
|-- Profile # 用户个人中心(个人信息设置、密码修改等)
|-- Redirect # 重定向页面(用于路由跳转过渡)
|-- ai # 人工智能相关功能(如智能客服、AI 分析报告等)
|-- bpm # 业务流程管理(工作流设计、流程审批、任务管理等)
|-- infra # 基础设施管理(服务器监控、系统配置、定时任务等)
|-- iot # 物联网管理(设备监控、数据采集、远程控制等)
|-- report # 报表中心(数据可视化、自定义报表、多维分析等)
`-- system # 系统基础配置(用户管理、角色权限、菜单管理、字典数据、日志审计等)
        |-- dept # 部门管理页面
        |   |-- DeptForm.vue # 新增/修改的表单界面
        |   `-- index.vue # 树形列表界面
        |-- post # 岗位管理页面
        |   |-- PostForm.vue # 新增/修改的表单界面
        |   `-- index.vue # 普通列表界面

src/api子目录

sh
src/api                  # API接口请求模块(按业务领域划分)
|-- ai                   # 人工智能相关接口(如AI模型调用、智能分析)
|-- bpm                  # 业务流程管理相关接口(如流程引擎、审批流)
|-- infra                # 基础设施相关接口
|-- iot                  # 物联网相关接口
|-- login                # 登录认证相关接口(如登录、注册、token刷新)
`-- system               # 系统管理相关接口(如用户管理、角色管理)

参考资料

前端项目基于 vue-element-plus-admin 和 yudao-ui-admin-vue3 进行二次开发