Appearance
项目依赖 ¶
基础环境 ¶
- JDK: 1.8+
- Maven: 3.5+
- MySql: 5.7+
- Redis: 5.x +
- Node Js: 16.15+
- Npm: 5.6.0+
- pnpm: 7.x+
数据库(MySQL) ¶
- 默认字符集:utf8mb4
- 默认排序规则:utf8mb4_general_ci
- 大小写敏感:需要开启大小写不敏感设置
服务端主要依赖 ¶
已启用 ¶
- spring-boot-starter-data-redis: Redis连接工具,主要用于鉴权认证信息存储、分布式锁、Cache缓存等
- spring-boot-starter-websocket: 支持Websocket通信,用于后端主动给前端推送信息的场合,比如异步操作完成事件、站内信新消息通知等
- spring-boot-starter-quartz: 定时任务
- spring-boot-starter-thymeleaf: 支持后端渲染网页,现在用到的场合有开放平台登录、聚合扫码支付等
- spring-boot-starter-mail: 邮件发送
- spring-boot-starter-data-mongodb: MongoDB持久层框架,主要用在文件存储、日志存储等场合
- spring-boot-starter-cache: 缓存框架
- spring-boot-starter-amqp: RabbitMQ框架,处理异步消息通知,在支付功能中有比较多的应用
- Spring Retry: Spring重试器,用在需要进行重试的方法上,例如远程信息同步、开发接口调用等
- springdoc-openapi: Swagger的一个是实现,用来代替SpringFox,实现了Swagger3(openapi)规范
- Knife4j:Swagger 增强 UI 实现
- Mybatis-Plus: MyBatis 增强工具包
- hibernate-validator: 参数校验框架
- EasyCaptcha: 验证码图片生成类库,可以生成算数验证码
- Velocity: 模板引擎,用于代码生成器、消息模板渲染等场合,用来把参数数据通过模板进行渲染成需要文本数据
- JustAuth: 第三方授权登录的工具类库,用于微信、钉钉、企业微信登录等场合
- MapStruct: 用于生成类型安全的Java Bean 转换处理器,在编译环境生成对应的类,性能相较于BeanUtil性能更高
- DynamicDatasource:动态数据源,可以实现多数据源的动态切换,在多数据源切换的场合有比较好的应用
- TransmittableThreadLocal(TTL): 阿里开源的一个线程变量存储的实现,主要用在处理父子线程变量不能共用的情况
- WxJava: 微信开发 Java 开发工具包,用于微信公众平台、企业微信相关场合
- lock4j: 基于Spring AOP 的声明式和编程式分布式锁
- flyway: 数据库版本管理工具
- sa-token: 一个轻量级的国产 Java 权限认证框架
- plumelog:是一个轻量的单机版管理工具,开箱即用,甚至可以直接嵌入到了系统中,而不需要额外部署单独的服务
未启用 ¶
- xxl-job: 分布式任务调度平台,与quartz类似,已做初步的整合,显示引入该组件的pom坐标就可启用
- redisson-spring-boot-starter: spring-boot-starter-redis之外的另一种Redis连接工具,功能相较于更为强大,但与Spring整合性稍低,所以作为备选,相关整合配置已经实现,显示引入该组件的pom坐标就可启用
前端主要组件(Vue3) ¶
基于
vben-admin
脚手架开发,使用ant-design-vue
组件库,表格使用vxe-table
,对应组件使用说明可以去对应官网查看
- vite: 3.2.x
- vue: 3.2.x
- vue-json-pretty: json代码高亮显示插件
- vueuse: Vue组合方法集
- vxe-table: 表格组件,同时包含一些基础组件,如弹窗按钮等
- ant-design-vue: antd vue 3.x
- iconify: 图标组件
- wangeditor: 富文本编辑器
- axios: http请求组件
- bpmn-js: 工作流绘制工具
- cron-parser: cron表达式组件
- print-js: 打印组件
- echarts: 百度开源的图表组件库
- qrcode: 二维码组件
- less: 样式预处理器
- ......
移动端(H5) ¶
- Vant4
移动端(小程序) ¶
- Taro
- NutUI