From 484012c995b53eef60818c6fcfd9a015c2f30bd9 Mon Sep 17 00:00:00 2001 From: AlanScipio Date: Thu, 1 Feb 2024 14:46:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=96=87=E6=A1=A3=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 + STRUCTURE_MODE.md | 4 +- .../src/main/resources/bootstrap.yml | 4 +- ruoyi-modules/ruoyi-system/pom.xml | 24 +-- .../java/com/ruoyi/SystemAllApplication.java | 10 +- .../ruoyi/system/RuoYiSystemApplication.java | 10 +- .../src/main/resources/bootstrap.yml | 8 +- ruoyi-ui/.env.development | 4 +- ruoyi-ui/.env.production | 4 +- ruoyi-ui/.env.staging | 4 +- ruoyi-ui/README.md | 144 ++---------------- ruoyi-ui/package.json | 4 +- ruoyi-ui/public/favicon.ico | Bin 5561 -> 65086 bytes ruoyi-ui/public/ruoyi.ico | Bin 0 -> 5561 bytes ruoyi-ui/src/assets/logo/logo.png | Bin 5663 -> 33946 bytes ruoyi-ui/src/assets/logo/logo_ruoyi.png | Bin 0 -> 5663 bytes ruoyi-ui/vite.config.js | 7 +- 17 files changed, 61 insertions(+), 170 deletions(-) create mode 100644 ruoyi-ui/public/ruoyi.ico create mode 100644 ruoyi-ui/src/assets/logo/logo_ruoyi.png diff --git a/README.md b/README.md index a87ea697..2844a0fe 100644 --- a/README.md +++ b/README.md @@ -59,3 +59,7 @@ com.ruoyi # 微服务架构模式的切换 详见[微服务架构在不同模式下的切换](./STRUCTURE_MODE.md) + +# 前端 + +运行和打包前端项目请参考[前端运行和发布](./ruoyi-ui/README.md) \ No newline at end of file diff --git a/STRUCTURE_MODE.md b/STRUCTURE_MODE.md index e3d2f2a4..c9ebf47a 100644 --- a/STRUCTURE_MODE.md +++ b/STRUCTURE_MODE.md @@ -10,7 +10,7 @@ - ruoyi-file(文件模块) - ruoyi-job(定时任务模块) - 其他后续追加的业务模块... -2. nacos配置使用**GROUP_ALL_IN_1**分组 +2. nacos配置使用**DEFAULT_GROUP**分组 3. ruoyi-system模块的入口启动类使用`com.ruoyi.system.RuoYiSystemApplication` 4. 注解掉ruoyi-system模块里其他模式的入口启动类 5. 【可选】ruoyi-system模块的`bootstrap.yml`里,关闭配置项:`spring.main.allow-bean-definition-overriding: false` @@ -22,7 +22,7 @@ - ruoyi-file(文件模块) - ruoyi-job(定时任务模块) - 其他后续追加的业务模块... -2. nacos配置使用**DEFAULT_GROUP**分组 +2. nacos配置使用**GROUP_ALL_IN_1**分组 3. ruoyi-system模块的入口启动类使用`com.ruoyi.SystemAllApplication` 4. 注解掉ruoyi-system模块里其他模式的入口启动类 5. ruoyi-system模块的`bootstrap.yml`里,确保开启配置项:`spring.main.allow-bean-definition-overriding: true` diff --git a/ruoyi-gateway/src/main/resources/bootstrap.yml b/ruoyi-gateway/src/main/resources/bootstrap.yml index e7b08c89..af645517 100644 --- a/ruoyi-gateway/src/main/resources/bootstrap.yml +++ b/ruoyi-gateway/src/main/resources/bootstrap.yml @@ -24,8 +24,8 @@ spring: shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} # 指定分组 -# group: DEFAULT_GROUP #默认微服务组 - group: GROUP_ALL_IN_1 #多模块集成在system模块里的模式 + group: DEFAULT_GROUP #默认微服务组 + #group: GROUP_ALL_IN_1 #多模块集成在system模块里的模式 sentinel: # 取消控制台懒加载 eager: true diff --git a/ruoyi-modules/ruoyi-system/pom.xml b/ruoyi-modules/ruoyi-system/pom.xml index d005bbe7..4bc4f00c 100644 --- a/ruoyi-modules/ruoyi-system/pom.xml +++ b/ruoyi-modules/ruoyi-system/pom.xml @@ -91,20 +91,20 @@ - - com.ruoyi - ruoyi-auth - + + + + - - com.ruoyi - ruoyi-modules-file - + + + + - - com.ruoyi - ruoyi-modules-job - + + + + diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/SystemAllApplication.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/SystemAllApplication.java index 0a1e22f9..a8c29d32 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/SystemAllApplication.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/SystemAllApplication.java @@ -8,15 +8,15 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** - * 多合一启动器 + * all-in-one架构模式下的启动入口类 * * @author Alan Scipio * created on 2024/1/31 */ -@EnableCustomConfig -@EnableCustomSwagger2 -@EnableRyFeignClients -@SpringBootApplication(exclude = {DruidDataSourceAutoConfigure.class}) +//@EnableCustomConfig +//@EnableCustomSwagger2 +//@EnableRyFeignClients +//@SpringBootApplication(exclude = {DruidDataSourceAutoConfigure.class}) public class SystemAllApplication { public static void main(String[] args) { SpringApplication.run(SystemAllApplication.class, args); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/RuoYiSystemApplication.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/RuoYiSystemApplication.java index 5d169c44..1ff73587 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/RuoYiSystemApplication.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/RuoYiSystemApplication.java @@ -8,14 +8,14 @@ import com.ruoyi.common.security.annotation.EnableRyFeignClients; import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2; /** - * 系统模块 + * 系统模块(常规模式) * * @author ruoyi */ -//@EnableCustomConfig -//@EnableCustomSwagger2 -//@EnableRyFeignClients -//@SpringBootApplication(exclude = {DruidDataSourceAutoConfigure.class}) +@EnableCustomConfig +@EnableCustomSwagger2 +@EnableRyFeignClients +@SpringBootApplication(exclude = {DruidDataSourceAutoConfigure.class}) public class RuoYiSystemApplication { public static void main(String[] args) { SpringApplication.run(RuoYiSystemApplication.class, args); diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml index f8135f0f..2f930647 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml @@ -7,8 +7,8 @@ spring: application: # 应用名称 name: ruoyi-system - main: - allow-bean-definition-overriding: true # All-in-one模式下必须 +# main: +# allow-bean-definition-overriding: true # All-in-one模式下必须 profiles: # 环境配置 active: dev @@ -26,5 +26,5 @@ spring: shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} # 指定分组 -# group: DEFAULT_GROUP #默认微服务组 - group: GROUP_ALL_IN_1 #多模块集成在system模块里的模式 + group: DEFAULT_GROUP #默认微服务组 + #group: GROUP_ALL_IN_1 #多模块集成在system模块里的模式 diff --git a/ruoyi-ui/.env.development b/ruoyi-ui/.env.development index 5896347e..67043713 100644 --- a/ruoyi-ui/.env.development +++ b/ruoyi-ui/.env.development @@ -1,8 +1,8 @@ # 页面标题 VITE_APP_TITLE=RYAS管理系统 -# 开发环境配置 +# 环境指定 VITE_APP_ENV='development' -# 若依管理系统/开发环境 +# 后端api标识 VITE_APP_BASE_API='/dev-api' diff --git a/ruoyi-ui/.env.production b/ruoyi-ui/.env.production index 508fe962..47eef19b 100644 --- a/ruoyi-ui/.env.production +++ b/ruoyi-ui/.env.production @@ -1,10 +1,10 @@ # 页面标题 VITE_APP_TITLE=RYAS管理系统 -# 生产环境配置 +# 环境指定 VITE_APP_ENV='production' -# 若依管理系统/生产环境 +# 后端api标识 VITE_APP_BASE_API='/prod-api' # 是否在打包时开启压缩,支持 gzip 和 brotli diff --git a/ruoyi-ui/.env.staging b/ruoyi-ui/.env.staging index 11c939f7..27fb4481 100644 --- a/ruoyi-ui/.env.staging +++ b/ruoyi-ui/.env.staging @@ -1,10 +1,10 @@ # 页面标题 VITE_APP_TITLE=RYAS管理系统 -# 生产环境配置 +# 环境指定 VITE_APP_ENV='staging' -# 若依管理系统/生产环境 +# 后端api标识 VITE_APP_BASE_API='/stage-api' # 是否在打包时开启压缩,支持 gzip 和 brotli diff --git a/ruoyi-ui/README.md b/ruoyi-ui/README.md index d09d883b..cbdd6c04 100644 --- a/ruoyi-ui/README.md +++ b/ruoyi-ui/README.md @@ -1,143 +1,29 @@ -

- logo -

-

RuoYi v3.6.3

-

基于 Vue3/Element Plus 和 Spring Boot/Spring Cloud & Alibaba 前后端分离的分布式微服务架构

-

- - - -

- -## 平台简介 - -* 本仓库为前端技术栈 [Vue3](https://v3.cn.vuejs.org) + [Element Plus](https://element-plus.org/zh-CN) + [Vite](https://cn.vitejs.dev) 版本。 -* 配套后端代码仓库地址[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud) 或 [RuoYi-Cloud-Oracle](https://github.com/yangzongzhuan/RuoYi-Cloud-Oracle) 版本。 -* 前端技术栈([Vue2](https://cn.vuejs.org) + [Element](https://github.com/ElemeFE/element) + [Vue CLI](https://cli.vuejs.org/zh)),请移步[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud/tree/master/ruoyi-ui)。 -* 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)   -* 阿里云优惠券:[点我领取](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link),腾讯云优惠券:[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)   - -## 前端运行 +## 启动运行 ```bash -# 克隆项目 -git clone https://github.com/yangzongzhuan/RuoYi-Cloud-Vue3.git - # 进入项目目录 -cd RuoYi-Cloud-Vue3 +cd ruoyi-ui # 安装依赖 -yarn --registry=https://registry.npmmirror.com +# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 +npm install --registry=https://registry.npmmirror.com # 启动服务 -yarn dev - -# 构建测试环境 yarn build:stage -# 构建生产环境 yarn build:prod -# 前端访问地址 http://localhost:80 +npm run dev ``` -## 系统模块 - -~~~ -com.ruoyi -├── ruoyi-ui // 前端框架 [80] -├── ruoyi-gateway // 网关模块 [8080] -├── ruoyi-auth // 认证中心 [9200] -├── ruoyi-api // 接口模块 -│ └── ruoyi-api-system // 系统接口 -├── ruoyi-common // 通用模块 -│ └── ruoyi-common-core // 核心模块 -│ └── ruoyi-common-datascope // 权限范围 -│ └── ruoyi-common-datasource // 多数据源 -│ └── ruoyi-common-log // 日志记录 -│ └── ruoyi-common-redis // 缓存服务 -│ └── ruoyi-common-security // 安全模块 -│ └── ruoyi-common-swagger // 系统接口 -├── ruoyi-modules // 业务模块 -│ └── ruoyi-system // 系统模块 [9201] -│ └── ruoyi-gen // 代码生成 [9202] -│ └── ruoyi-job // 定时任务 [9203] -│ └── ruoyi-file // 文件服务 [9300] -├── ruoyi-visual // 图形化管理模块 -│ └── ruoyi-visual-monitor // 监控中心 [9100] -├──pom.xml // 公共依赖 -~~~ - -## 架构图 - - +## 项目访问 -## 内置功能 +http://localhost:10001 +端口号修改: vite.config.ts 中的 server.port 字段,点此查看 [vite 配置项](https://cn.vitejs.dev/config/) -1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 -2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 -3. 岗位管理:配置系统用户所属担任职务。 -4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 -5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 -6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 -7. 参数管理:对系统动态配置常用参数。 -8. 通知公告:系统通知公告信息发布维护。 -9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 -10. 登录日志:系统登录日志记录查询包含登录异常。 -11. 在线用户:当前系统中活跃用户状态监控。 -12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 -13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 -14. 系统接口:根据业务代码自动生成相关的api接口文档。 -15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 -16. 在线构建器:拖动表单元素生成相应的HTML代码。 -17. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 - -## 在线体验 - -- admin/admin123 -- 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。 - -演示地址:http://ruoyi.vip -文档地址:http://doc.ruoyi.vip - -## 演示图 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+## 发布 +```bash +# 构建生产环境 +npm run build:prod -## 若依微服务交流群 +# 构建测试环境 +npm run build:stage +``` -QQ群: [![加入QQ群](https://img.shields.io/badge/已满-42799195-blue.svg)](https://jq.qq.com/?_wv=1027&k=yqInfq0S) [![加入QQ群](https://img.shields.io/badge/已满-170157040-blue.svg)](https://jq.qq.com/?_wv=1027&k=Oy1mb3p8) [![加入QQ群](https://img.shields.io/badge/已满-130643120-blue.svg)](https://jq.qq.com/?_wv=1027&k=rvxkJtXK) [![加入QQ群](https://img.shields.io/badge/已满-225920371-blue.svg)](https://jq.qq.com/?_wv=1027&k=0Ck3PvTe) [![加入QQ群](https://img.shields.io/badge/已满-201705537-blue.svg)](https://jq.qq.com/?_wv=1027&k=FnHHP4TT) [![加入QQ群](https://img.shields.io/badge/已满-236543183-blue.svg)](https://jq.qq.com/?_wv=1027&k=qdT1Ojpz) [![加入QQ群](https://img.shields.io/badge/已满-213618602-blue.svg)](https://jq.qq.com/?_wv=1027&k=nw3OiyXs) [![加入QQ群](https://img.shields.io/badge/已满-148794840-blue.svg)](https://jq.qq.com/?_wv=1027&k=kiU5WDls) [![加入QQ群](https://img.shields.io/badge/已满-118752664-blue.svg)](https://jq.qq.com/?_wv=1027&k=MtBy6YfT) [![加入QQ群](https://img.shields.io/badge/已满-101038945-blue.svg)](https://jq.qq.com/?_wv=1027&k=FqImHgH2) [![加入QQ群](https://img.shields.io/badge/已满-128355254-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=G4jZ4EtdT50PhnMBudTnEwgonxkXOscJ&authKey=FkGHYfoTKlGE6wHdKdjH9bVoOgQjtLP9WM%2Fj7pqGY1msoqw9uxDiBo39E2mLgzYg&noverify=0&group_code=128355254) [![加入QQ群](https://img.shields.io/badge/179219821-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=irnwcXhbLOQEv1g-TwGifjNTA_f4wZiA&authKey=4bpzEwhcUY%2FvsPDHvzYn6xfoS%2FtOArvZ%2BGXzfr7O0%2FEqLfkKA%2BuCDXlzHIFg8t93&noverify=0&group_code=179219821) 点击按钮入群。 \ No newline at end of file diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json index 6aadaa15..30147cdc 100644 --- a/ruoyi-ui/package.json +++ b/ruoyi-ui/package.json @@ -1,8 +1,8 @@ { "name": "ruoyi", "version": "3.6.3", - "description": "若依管理系统", - "author": "若依", + "description": "RYAS管理系统", + "author": "ruoyi", "license": "MIT", "type": "module", "scripts": { diff --git a/ruoyi-ui/public/favicon.ico b/ruoyi-ui/public/favicon.ico index 121ffe20b5bb79e0f1144d63c256330f384a1b56..515c8999054bbd10cfca043b98c8abb457621021 100644 GIT binary patch literal 65086 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 VRRhf7RUKCc!vFDp*1x#*{|EFr%BKJT literal 5561 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 A-~a#s diff --git a/ruoyi-ui/public/ruoyi.ico b/ruoyi-ui/public/ruoyi.ico new file mode 100644 index 0000000000000000000000000000000000000000..121ffe20b5bb79e0f1144d63c256330f384a1b56 GIT binary patch literal 5561 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 A-~a#s literal 0 HcmV?d00001 diff --git a/ruoyi-ui/src/assets/logo/logo.png b/ruoyi-ui/src/assets/logo/logo.png index e26376026420542212ed58d90d0ed34f554fa4ae..8a1cf5beac47ff541bc695827ecc6eaeeae646bb 100644 GIT binary patch literal 33946 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 V^Q(n5KKKemQC9VNxwL7>{{gYwNi+Ze literal 5663 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 { // vite 相关配置 server: { port: 10001, - host: true, - open: true, + host: true, //指定服务器应该监听哪个 IP 地址。 如果将此设置为 0.0.0.0 或者 true 将监听所有地址 + open: true, //开发服务器启动时,自动在浏览器中打开应用程序 proxy: { // https://cn.vitejs.dev/config/#server-proxy + // 对后端接口进行代理,生产环境通过nginx反代不需要在这里配置 '/dev-api': { target: 'http://localhost:8080', changeOrigin: true, rewrite: (p) => p.replace(/^\/dev-api/, '') - } + }, } }, //fix:error:stdin>:7356:1: warning: "@charset" must be the first rule in the file