基于Midwayjs的管理系统-项目介绍

768 阅读4分钟

基于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

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

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配置