基于Midwayjs的管理系统-项目介绍
- 使编码变得简单: 使用注解封装注入
- 使配置变得简单: 环境切换差异配置覆盖参数值JSON格式
- 使监控变得简单: 提供运行时的应用监控
- 使集成变得简单: 单例模式集成依赖库的配置
- 使开发变得简单: 极大地提高了开发快速构建项目、部署效率。
核心技术
项目使用 Nodejs
+ TypeScript
技术构建。
npm
:Node.js 的包管理工具,用于统一管理我们前端项目中需要用到的包、插件、工具、命令等,便于开发和维护。ES6
: ECMAScript 6 的简称。利用ES6我们可以简化我们的JS代码,同时利用其提供的函数式语法功能来快速实现JS逻辑。TypeScript
:是 JavaScript 的一个超集,在JavaScript的基础上添加静态类型定义构建而成。由微软开发的自由和开源的编程语言。
后端技术
Mindway
是阿里巴巴 - 淘宝前端架构团队,基于渐进式理念研发的 Node.js
框架。 基于 TypeScript 开发,结合了面向对象(OOP + Class + IoC)与函数式(FP + Function + Hooks)两种编程范式,并在此之上支持了 Web / 全栈 / 微服务 / RPC / Socket / Serverless 等多种场景,致力于为用户提供简单、易用、可靠的 Node.js
服务端研发体验。
mysql
:是一个关系型数据库管理系统,属于 Oracle 旗下产品。最流行的关系型数据库管理系统之一。redis
:是一个高性能的key-value数据库。typeorm
:是一个采用 TypeScript 编写的用于 Node.js 的优秀 ORM 框架。bull
:是一种流行的、受良好支持的、高性能的基于 Node.js 的队列系统实现。jwt
:基于JSON的一个公开规范,这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。
前端技术
Vue3
易学易用,性能出色,适用场景丰富的 Web 前端框架。
vite
:前端开发与构建工具。供开箱即用的配置,同时它的插件 API 和 JavaScript API 带来了高度的可扩展性,并有完整的类型支持。vue-router
: Vue提供的前端路由工具,实现页面的路由控制,局部刷新及按需加载,构建单页应用,实现前后端分离动态路由。pinia
:轻量级状态管理插。优点: 简便,存储和组件变得很类似,你可以轻松写出优雅的存储。ant-design-vue
:Ant-Design-Vue 组件库,搭建的前后端分离极速后台管理系统。
后端结构
mask_api_midwayjs
├── script 目录-程序所需的初始脚本
├── src 目录-源代码
├ ├── assets 目录-程序内部静态资源文件
├ ├── config 目录-程序相关运行参数配置
├ ├── framework 目录-程序核心通用代码
├ ├ ├── cache 目录-缓存处理服务封装
├ ├ ├── constants 目录-常量属性值定义
├ ├ ├── datasource 目录-数据源处理服务封装
├ ├ ├── decorator 目录-装饰器定义
├ ├ ├── enums 目录-枚举类型定义
├ ├ ├── error-catch 目录-全局异常捕获拦截定义
├ ├ ├── middleware 目录-中间件定义
├ ├ ├── model 目录-模型对象定义
├ ├ ├── service 目录-服务函数定义
├ ├ ├── utils 目录-工具函数定义
├ ├ └── ...
├ ├── modules 目录-业务模块
├ ├ ├── system 目录-系统内部接口模块
├ ├ ├ ├── controller 目录-接口路由控制层
├ ├ ├ ├── model 目录-数据对象模型层
├ ├ ├ ├── repository 目录-CURD数据存储层
├ ├ ├ ├── service 目录-业务逻辑服务层
├ ├ └── ...
├ ├── typings 目录-程序通用类型定义
├ ├── configuration.ts 文件-程序框架启动入口
├ └── interface.ts 文件-程序通用接口函数自定义声明
├── test 目录-测试单元
├── .editorconfig
├── .eslintrc.json
├── .gitignore
├── .prettierrc.js
├── bootstrap.js 文件-程序部署启动运行入口
├── jest.config.js
├── LICENSE
├── package.json 文件-程序依赖及启动命令信息
├── README.en.md
├── README.md
└── tsconfig.json 文件-typescript配置
前端结构
Ant-Design-Vue + Vue3
mask_antd_vue3
├── bin 目录-执行脚本
├── public 目录-公共文件定义
│ ├── favicon.ico 文件-favicon图标
│ ├── font_8d5l8fzk5b87iudi.js 文件-菜单字体图标
│ ├── loading.js 文件-首次加载Loading
│ └── ...
├── src 目录-源代码
│ ├── api 目录-所有请求
│ ├── assets 目录-图片 样式等比预编译资源
│ ├── components 目录-全局公用组件
│ ├── constants 目录-全局常量
│ ├── directive 目录-全局指令
│ ├── hooks 目录-Hook工具
│ ├── layouts 目录-框架布局
│ ├── plugins 目录-通用可变方法
│ ├── router 目录-路由
│ ├── store 目录-全局变量缓存
│ ├── typings 目录-全局类型声明
│ ├── utils 目录-静态工具方法
│ ├── views 目录-页面显示组件
│ ├── App.vue 文件-入口页面组件
│ └── main.js 文件-入口 加载组件 初始化等
├── .editorconfig
├── .env.development 文件-开发环境配置
├── .env.production 文件-生产环境配置
├── .gitignore
├── index.html 文件-根HTML模板
├── LICENSE
├── package.json 文件-项目包信息
├── README.md 文件-项目说明
├── tsconfig.json 文件-ts配置
├── tsconfig.node.json
└── vite.config.ts 文件-vite配置