目录结构
后端工程
后端工程采用SpringBoot框架开发,其标准目录结构如下:
so-fast
├── README.md
├── doc
│ └── code_tpls // 代码生成器模板
│ └── sql // 数据库脚本
├── pom.xml // maven包依赖
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── sofast
│ │ │ ├── SoFastApplication.java // 启动文件
│ │ │ ├── core // 框架核心包
│ │ │ │ ├── common
│ │ │ │ │ ├── constants // 常数类
│ │ │ │ │ ├── exception // 系统统一异常处理
│ │ │ │ │ └── utils
│ │ │ │ │ ├── aop // AOP注解操作工具类
│ │ │ │ │ ├── common // 常用工具类
│ │ │ │ │ ├── context // Spring容器操作工具类
│ │ │ │ │ ├── file // 文件上传、下载工具类
│ │ │ │ │ ├── http // okhttp3操作工具类
│ │ │ │ │ ├── i18n // 国际化工具类
│ │ │ │ │ ├── mail // 邮件发送工具类
│ │ │ │ │ ├── network // request、response操作工具类
│ │ │ │ │ ├── thread // 线程工具类
│ │ │ │ │ └── token // token操作工具类
│ │ │ │ └── framework
│ │ │ │ ├── annotation // 自定义注解
│ │ │ │ ├── aop // 切面处理
│ │ │ │ ├── async // 异步任务管理
│ │ │ │ ├── config // 配置文件
│ │ │ │ ├── datasource // 动态数据源
│ │ │ │ ├── handler // mybatis-plus自动填充处理
│ │ │ │ ├── i18n // 国际化切换处理
│ │ │ │ ├── interceptor // 拦截器
│ │ │ │ ├── middleware // 中间件操作辅助类
│ │ │ │ │ ├── mongo
│ │ │ │ │ └── redis // redis辅助类
│ │ │ │ ├── security // SpringSecurity认证授权
│ │ │ │ ├── web // controller基类
│ │ │ │ └── xss // 防xss攻击拦截器
│ │ │ ├── biz
│ │ │ │ └── xxx // 业务模块API
│ │ │ ├── demo // 示例模块API
│ │ │ ├── cms // 内容管理模块API
│ │ │ └── system // 系统管理
│ │ │ ├── common // 文件上传、下载通用API
│ │ │ ├── dict // 字典管理API
│ │ │ ├── log // 日志处理API
│ │ │ └── upms // 用户权限管理API
│ │ └── resources
│ │ ├── application-dev.yml // 开发环境配置文件
│ │ ├── application-prod.yml // 生产环境配置文件
│ │ ├── application-test.yml // 测试环境配置文件
│ │ ├── application.yml // 通用配置
│ │ ├── banner.txt
│ │ ├── i18n // 国际化资源文件
│ │ ├── logback.xml // 日志配置
│ │ ├── mail.setting
│ │ └── mapper // mapper.xml文件(按模块划分)
│ │ ├── cms
│ │ ├── demo
│ │ ├── dict
│ │ ├── log
│ │ └── upms
前端工程
前端工程采用vue-cli3.0构建,其标准目录结构如下:
sofast-web
├── babel.config.js // Babel配置文件
├── package-lock.json
├── package.json
├── postcss.config.js // PostCss配置文件
├── public
│ ├── favicon.ico
│ ├── index.html
│ └── static // 静态文件目录
│ └── NEditor // 富文本编辑器(基于UEditor)
├── src
│ ├── App.vue
│ ├── api // 配置后端接口
│ ├── assets // 图片
│ ├── components // 共通组件目录
│ │ ├── Breadcrumb // 面包屑导航
│ │ ├── DateRange // 日期区间组件
│ │ ├── Dialog // 模态框组件
│ │ ├── DictCheckbox // 字典复选框组件
│ │ ├── DictRadio // 字典单选框组件
│ │ ├── DictSelect // 字典下拉选组件
│ │ ├── Editor // 富文本编辑器组件
│ │ ├── Hamburger // 展开/收缩左侧菜单按钮组件
│ │ ├── HeaderSearch // 头部菜单检索组件
│ │ ├── IconSelect // 图标选择器组件
│ │ ├── LangSelect // 语言选择组件
│ │ ├── OrganizationSelect // 组织机构级联下拉组件
│ │ ├── Pagination // 分页组件
│ │ ├── RoleSelect // 角色下拉组件
│ │ ├── SvgIcon // SVG图标
│ │ ├── Table // 表格组件
│ │ └── Upload // 上传组件
│ ├── filters // 自定义过滤器
│ ├── icons
│ │ └── svg // 存放SVG图标
│ ├── i18n // 国际化目录
│ │ └── common // 共通Label,Message配置
│ ├── layout // 全局布局
│ │ ├── components
│ │ │ ├── AppMain.vue // 中间内容区
│ │ │ ├── Navbar.vue // 头部Header
│ │ │ ├── Sidebar // 左侧菜单栏
│ │ │ ├── TagsView // 标签页
│ │ │ └── index.js
│ │ ├── index.vue
│ │ └── mixin
│ │ └── ResizeHandler.js // 响应式混入(区分desktop和mobile)
│ ├── main.js // Vue入口文件
│ ├── mixins // 自定义混入
│ ├── permission.js // 权限控制
│ ├── router // 路由
│ ├── settings.js // 启用/停用部分组件
│ ├── store // Vuex
│ ├── styles // 样式文件
│ ├── themes // 主题
│ │ └── default // 主题文件夹(默认)
│ ├── utils // 工具
│ │ ├── auth.js // token工具
│ │ ├── base64Util.js // base64加密解密
│ │ ├── get-page-title.js // 获取页面title
│ │ ├── request.js // axios实例
│ │ ├── scroll-to.js // 滚动动画
│ │ ├── treeUtils.js // 树形数据工具(Array2Tree)
│ │ └── validate.js // 校验工具
│ └── views
│ │ ├── 404.vue // 404页面
│ │ ├── contentMgt // 内容管理模块
│ │ ├── dashboard // 首页
│ │ ├── login // 登录页
│ │ ├── system // 系统管理模块
│ │ │ ├── apiMgt // API管理
│ │ │ ├── dictionaryMgt // 字典管理
│ │ │ ├── log // 日志
│ │ │ ├── menuMgt // 菜单管理
│ │ │ ├── organizationMgt // 组织机构管理
│ │ │ ├── permissionMgt // 权限管理
│ │ │ ├── roleMgt // 角色管理
│ │ │ └── userMgt // 用户管理
│ │ └── userProfile // 个人中心
└── vue.config.js // vue-cli3配置文件
└── .env.development // 开发环境变量配置
└── .env.staging // 测试环境变量配置
└── .env.production // 生产环境变量配置
