diff --git a/README.md b/README.md index 312f3e1fd..9c5dbd784 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ [![码云Gitee](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/badge/star.svg?theme=blue)](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus) [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/blob/master/LICENSE) [![使用IntelliJ IDEA开发维护](https://img.shields.io/badge/IntelliJ%20IDEA-提供支持-blue.svg)](https://www.jetbrains.com/?from=RuoYi-Vue-Plus) +[![JDK-8+](https://img.shields.io/badge/JDK-8-green.svg)]() +[![JDK-11](https://img.shields.io/badge/JDK-11-green.svg)]() 基于 RuoYi-Vue 集成 Mybatis-Plus Lombok Hutool 等便捷开发工具 适配重写相关业务 便于开发 定期与 RuoYi-Vue 同步 * 前端开发框架 Vue、Element UI @@ -16,9 +18,15 @@ * 监控框架 spring-boot-admin 全方位服务监控 * 校验框架 validation 增强接口安全性 严谨性 * 文档框架 knife4j 美化接口文档 +* 序列化框架 统一使用 jackson 高效可靠 * 代码生成器 一键生成前后端代码 +* 多数据源框架 dynamic-datasource 支持主从与多种类数据库异构 +* Redis客户端 采用 Redisson 性能更强 +* 分布式锁 Lock4j 注解锁、工具锁 多种多样 ## 参考文档 + +使用框架前请仔细阅读文档重点注意事项 [参考文档 Wiki](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages) ## 修改RuoYi功能 @@ -34,7 +42,10 @@ * 集成 Feign 接口化管理 Http 请求(如三方请求 支付,短信,推送等) * 移除 自带服务监控 改为 spring-boot-admin 全方位监控 * 增加 demo 模块示例(给不会增加模块的小伙伴做参考) -* 增加 redisson 支持分布式锁 功能更强大 +* 增加 redisson 高性能 Redis 客户端 +* 移除 fastjson 统一使用 jackson 序列化 +* 集成 dynamic-datasource 多数据源(默认支持MySQL,其他种类需自行适配) +* 集成 Lock4j 实现分布式 注解锁、工具锁 多种多样 ### 代码改动 @@ -46,6 +57,7 @@ * 项目修改为 maven多环境配置 * 项目配置修改为 application.yml 统一管理 * 数据权限修改为 适配支持单表、多表 +* 使用 redisson 实现分布式锁注解与工具类 * 使用 redisson 实现 spring-cache 整合 * 增加 mybatis-plus 二级缓存 redis 存储 diff --git a/ruoyi-ui/.env.development b/ruoyi-ui/.env.development index 28b97c7e1..abb97d464 100644 --- a/ruoyi-ui/.env.development +++ b/ruoyi-ui/.env.development @@ -1,3 +1,6 @@ +# 页面标题 +VUE_APP_TITLE = RuoYi-Vue-Plus后台管理系统 + # 开发环境配置 ENV = 'development' diff --git a/ruoyi-ui/.env.production b/ruoyi-ui/.env.production index 27c717e97..7179b3291 100644 --- a/ruoyi-ui/.env.production +++ b/ruoyi-ui/.env.production @@ -1,3 +1,6 @@ +# 页面标题 +VUE_APP_TITLE = RuoYi-Vue-Plus后台管理系统 + # 生产环境配置 ENV = 'production' diff --git a/ruoyi-ui/.env.staging b/ruoyi-ui/.env.staging index 619573673..b5723d7b8 100644 --- a/ruoyi-ui/.env.staging +++ b/ruoyi-ui/.env.staging @@ -1,3 +1,6 @@ +# 页面标题 +VUE_APP_TITLE = RuoYi-Vue-Plus后台管理系统 + NODE_ENV = production # 测试环境配置 diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json index d90fdbac6..48009bed7 100644 --- a/ruoyi-ui/package.json +++ b/ruoyi-ui/package.json @@ -41,7 +41,7 @@ "clipboard": "2.0.6", "core-js": "3.8.1", "echarts": "4.9.0", - "element-ui": "2.15.0", + "element-ui": "2.15.2", "file-saver": "2.0.4", "fuse.js": "6.4.3", "highlight.js": "9.18.5", @@ -55,6 +55,7 @@ "vue": "2.6.12", "vue-count-to": "1.0.13", "vue-cropper": "0.5.5", + "vue-meta": "^2.4.0", "vue-router": "3.4.9", "vuedraggable": "2.24.3", "vuex": "3.6.0" diff --git a/ruoyi-ui/src/App.vue b/ruoyi-ui/src/App.vue index e448b1130..391d951c4 100644 --- a/ruoyi-ui/src/App.vue +++ b/ruoyi-ui/src/App.vue @@ -6,6 +6,14 @@ diff --git a/ruoyi-ui/src/api/demo/demo.js b/ruoyi-ui/src/api/demo/demo.js new file mode 100644 index 000000000..fc9937df4 --- /dev/null +++ b/ruoyi-ui/src/api/demo/demo.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询测试单表列表 +export function listDemo(query) { + return request({ + url: '/demo/demo/list', + method: 'get', + params: query + }) +} + +// 查询测试单表详细 +export function getDemo(id) { + return request({ + url: '/demo/demo/' + id, + method: 'get' + }) +} + +// 新增测试单表 +export function addDemo(data) { + return request({ + url: '/demo/demo', + method: 'post', + data: data + }) +} + +// 修改测试单表 +export function updateDemo(data) { + return request({ + url: '/demo/demo', + method: 'put', + data: data + }) +} + +// 删除测试单表 +export function delDemo(id) { + return request({ + url: '/demo/demo/' + id, + method: 'delete' + }) +} + +// 导出测试单表 +export function exportDemo(query) { + return request({ + url: '/demo/demo/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/demo/test.js b/ruoyi-ui/src/api/demo/test.js deleted file mode 100644 index f4c642115..000000000 --- a/ruoyi-ui/src/api/demo/test.js +++ /dev/null @@ -1,53 +0,0 @@ -import request from '@/utils/request' - -// 查询测试列表 -export function listTest(query) { - return request({ - url: '/demo/test/list', - method: 'get', - params: query - }) -} - -// 查询测试详细 -export function getTest(id) { - return request({ - url: '/demo/test/' + id, - method: 'get' - }) -} - -// 新增测试 -export function addTest(data) { - return request({ - url: '/demo/test', - method: 'post', - data: data - }) -} - -// 修改测试 -export function updateTest(data) { - return request({ - url: '/demo/test', - method: 'put', - data: data - }) -} - -// 删除测试 -export function delTest(id) { - return request({ - url: '/demo/test/' + id, - method: 'delete' - }) -} - -// 导出测试 -export function exportTest(query) { - return request({ - url: '/demo/test/export', - method: 'get', - params: query - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/assets/styles/ruoyi.scss b/ruoyi-ui/src/assets/styles/ruoyi.scss index de1db7f34..dee6d091c 100644 --- a/ruoyi-ui/src/assets/styles/ruoyi.scss +++ b/ruoyi-ui/src/assets/styles/ruoyi.scss @@ -105,6 +105,15 @@ position: absolute; } +@media ( max-width : 768px) { + .pagination-container .el-pagination > .el-pagination__jump { + display: none !important; + } + .pagination-container .el-pagination > .el-pagination__sizes { + display: none !important; + } +} + .el-table .fixed-width .el-button--mini { padding-left: 0; padding-right: 0; diff --git a/ruoyi-ui/src/components/DictTag/index.vue b/ruoyi-ui/src/components/DictTag/index.vue new file mode 100644 index 000000000..7431bbb34 --- /dev/null +++ b/ruoyi-ui/src/components/DictTag/index.vue @@ -0,0 +1,51 @@ + + + + \ No newline at end of file diff --git a/ruoyi-ui/src/components/Pagination/index.vue b/ruoyi-ui/src/components/Pagination/index.vue index c815e132c..5e5d89046 100644 --- a/ruoyi-ui/src/components/Pagination/index.vue +++ b/ruoyi-ui/src/components/Pagination/index.vue @@ -6,6 +6,7 @@ :page-size.sync="pageSize" :layout="layout" :page-sizes="pageSizes" + :pager-count="pagerCount" :total="total" v-bind="$attrs" @size-change="handleSizeChange" @@ -38,6 +39,11 @@ export default { return [10, 20, 30, 50] } }, + // 移动端页码按钮的数量端默认值5 + pagerCount: { + type: Number, + default: document.body.clientWidth < 992 ? 5 : 7 + }, layout: { type: String, default: 'total, sizes, prev, pager, next, jumper' diff --git a/ruoyi-ui/src/components/iFrame/index.vue b/ruoyi-ui/src/components/iFrame/index.vue new file mode 100644 index 000000000..426857fb1 --- /dev/null +++ b/ruoyi-ui/src/components/iFrame/index.vue @@ -0,0 +1,36 @@ +