林恩低代码开发平台1.0

pull/120/head
choqy 4 years ago
parent 273c1f4fd3
commit 44ce2411b1

@ -1,5 +1,6 @@
MIT License MIT License
Copyright (c) 2021 林恩
Copyright (c) 2020 若依 Copyright (c) 2020 若依
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy

@ -11,29 +11,29 @@
## 系统模块 ## 系统模块
~~~ ~~~
com.ruoyi com.lynn
├── ruoyi-ui // 前端框架 [80] ├── lynn-ui // 前端框架 [80]
├── ruoyi-gateway // 网关模块 [8080] ├── lynn-gateway // 网关模块 [8080]
├── ruoyi-auth // 认证中心 [9200] ├── lynn-auth // 认证中心 [9200]
├── ruoyi-api // 接口模块 ├── lynn-api // 接口模块
│ └── ruoyi-api-system // 系统接口 │ └── lynn-api-system // 系统接口
├── ruoyi-common // 通用模块 ├── lynn-common // 通用模块
│ └── ruoyi-common-core // 核心模块 │ └── lynn-common-core // 核心模块
│ └── ruoyi-common-datascope // 权限范围 │ └── lynn-common-datascope // 权限范围
│ └── ruoyi-common-datasource // 多数据源 │ └── lynn-common-datasource // 多数据源
│ └── ruoyi-common-log // 日志记录 │ └── lynn-common-log // 日志记录
│ └── ruoyi-common-redis // 缓存服务 │ └── lynn-common-redis // 缓存服务
│ └── ruoyi-common-security // 安全模块 │ └── lynn-common-security // 安全模块
│ └── ruoyi-common-swagger // 系统接口 │ └── lynn-common-swagger // 系统接口
├── ruoyi-modules // 业务模块 ├── lynn-modules // 业务模块
│ └── ruoyi-system // 系统模块 [9201] │ └── lynn-system // 系统模块 [9201]
│ └── ruoyi-gen // 代码生成 [9202] │ └── lynn-gen // 代码生成 [9202]
│ └── ruoyi-job // 定时任务 [9203] │ └── lynn-job // 定时任务 [9203]
│ └── ruoyi-file // 文件服务 [9300] │ └── lynn-file // 文件服务 [9300]
│ └── lynn-magic-api // 基于magic-api的接口服务 [9400] │ └── lynn-magic-api // 基于magic-api的接口服务 [9400]
├── ruoyi-visual // 图形化管理模块 ├── lynn-visual // 图形化管理模块
│ └── ruoyi-visual-monitor // 监控中心 [9100] │ └── lynn-visual-monitor // 监控中心 [9100]
├──pom.xml // 公共依赖 ├──pom.xml // 公共依赖
~~~ ~~~
## 架构图 ## 架构图
@ -103,10 +103,6 @@ com.ruoyi
<td><img src="https://oscimg.oschina.net/oscnet/up-ece3fd37a3d4bb75a3926e905a3c5629055.png"/></td> <td><img src="https://oscimg.oschina.net/oscnet/up-ece3fd37a3d4bb75a3926e905a3c5629055.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-92ffb7f3835855cff100fa0f754a6be0d99.png"/></td> <td><img src="https://oscimg.oschina.net/oscnet/up-92ffb7f3835855cff100fa0f754a6be0d99.png"/></td>
</tr> </tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-ff9e3066561574aca73005c5730c6a41f15.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-5e4daac0bb59612c5038448acbcef235e3a.png"/></td>
</tr>
</table> </table>

@ -25,35 +25,40 @@ port(){
} }
copy(){ copy(){
cp -f ../ruoyi-gateway/target/ruoyi-gateway.jar ./ruoyi/gateway/jar/ruoyi-gateway.jar #删除各模块下的jar文件
cp -f ../ruoyi-auth/target/ruoyi-auth.jar ./ruoyi/auth/jar/ruoyi-auth.jar find ./lynn-cloud/*/jar/ -name "*.jar" -exec rm -f {} \;
cp -f ../ruoyi-modules/ruoyi-system/target/ruoyi-modules-system.jar ./ruoyi/modules/system/jar/ruoyi-modules-system.jar find ./lynn-cloud/*/*/jar/ -name "*.jar" -exec rm -f {} \;
cp -f ../ruoyi-modules/ruoyi-file/target/ruoyi-modules-file.jar ./ruoyi/modules/file/jar/ruoyi-modules-file.jar
cp -f ../ruoyi-modules/ruoyi-gen/target/ruoyi-modules-gen.jar ./ruoyi/modules/gen/jar/ruoyi-modules-gen.jar
cp -f ../ruoyi-modules/ruoyi-job/target/ruoyi-modules-job.jar ./ruoyi/modules/job/jar/ruoyi-modules-job.jar
cp -f ../ruoyi-gateway/target/ruoyi-gateway.jar ./ruoyi/all/jar/ruoyi-gateway.jar #将各个模块的jar文件复制到指定的docker容器文件夹中
cp -f ../ruoyi-auth/target/ruoyi-auth.jar ./ruoyi/all/jar/ruoyi-auth.jar cp -f ../ruoyi-gateway/target/*.jar ./lynn-cloud/gateway/jar/
cp -f ../ruoyi-modules/ruoyi-system/target/ruoyi-modules-system.jar ./ruoyi/all/jar/ruoyi-modules-system.jar cp -f ../ruoyi-auth/target/*.jar ./lynn-cloud/auth/jar/
cp -f ../ruoyi-modules/ruoyi-file/target/ruoyi-modules-file.jar ./ruoyi/all/jar/ruoyi-modules-file.jar cp -f ../ruoyi-modules/ruoyi-system/target/*.jar ./lynn-cloud/modules/system/jar/
cp -f ../ruoyi-modules/ruoyi-gen/target/ruoyi-modules-gen.jar ./ruoyi/all/jar/ruoyi-modules-gen.jar cp -f ../ruoyi-modules/ruoyi-file/target/*.jar ./lynn-cloud/modules/file/jar/
cp -f ../ruoyi-modules/ruoyi-job/target/ruoyi-modules-job.jar ./ruoyi/all/jar/ruoyi-modules-job.jar cp -f ../ruoyi-modules/ruoyi-gen/target/*.jar ./lynn-cloud/modules/gen/jar/
cp -f ../ruoyi-modules/ruoyi-magicapi/target/ruoyi-magicapi.jar ./ruoyi/all/jar/ruoyi-magicapi.jar cp -f ../ruoyi-modules/ruoyi-job/target/*.jar ./lynn-cloud/modules/job/jar/
cp -f ../ruoyi-modules/lynn-magic-api/target/*.jar ./lynn-cloud/modules/magic-api/jar/
#删除all文件夹下的所有jar文件
find ./lynn-cloud/all/jar/ -name "*.jar" -exec rm -f {} \;
#将各模块下的jar文件复制到all/jar文件夹内
cp -f ../*/target/*.jar ./lynn-cloud/all/jar/
cp -f ../*/*/target/*.jar ./lynn-cloud/all/jar/
} }
# 启动基础环境(必须) # 启动基础环境(必须)
base(){ base(){
docker-compose up -d ruoyi-mysql ruoyi-redis ruoyi-nacos ruoyi-nginx docker-compose up -d lynn-mysql lynn-redis lynn-nacos lynn-nginx
} }
# 启动程序模块(必须) # 启动程序模块(必须)
modules(){ modules(){
docker-compose up -d ruoyi-gateway ruoyi-auth ruoyi-modules-system docker-compose up -d lynn-gateway lynn-auth lynn-modules-system lynn-magic-api
} }
# 启动程序模块opt # 启动程序模块opt
opts(){ opts(){
docker-compose up -d ruoyi-modules-file ruoyi-modules-gen ruoyi-modules-job docker-compose up -d lynn-modules-file lynn-modules-gen ruoyi-modules-job
} }
# 关闭所有环境/模块 # 关闭所有环境/模块

@ -1,7 +1,7 @@
version : '3.8' version : '3.8'
services: services:
ruoyi-nacos: lynn-nacos:
container_name: ruoyi-nacos container_name: lynn-nacos
image: nacos/nacos-server:1.4.2 image: nacos/nacos-server:1.4.2
build: build:
context: ./nacos context: ./nacos
@ -15,11 +15,11 @@ services:
- "9848:9848" - "9848:9848"
- "9849:9849" - "9849:9849"
depends_on: depends_on:
- ruoyi-mysql - lynn-mysql
links: links:
- "ruoyi-mysql:database" #作为主机的别名访问,可用于数据库的连接字符串中 - "lynn-mysql:database" #作为主机的别名访问,可用于数据库的连接字符串中
ruoyi-mysql: lynn-mysql:
container_name: ruoyi-mysql container_name: lynn-mysql
image: mysql:5.7 image: mysql:5.7
build: build:
context: ./mysql context: ./mysql
@ -38,122 +38,133 @@ services:
'--lower-case-table-names=1' '--lower-case-table-names=1'
] ]
environment: environment:
MYSQL_DATABASE: 'ruoyi_cloud_db' MYSQL_DATABASE: 'lynn-cloud-db'
MYSQL_ROOT_PASSWORD: lynntech MYSQL_ROOT_PASSWORD: lynntech
ruoyi-redis: lynn-redis:
container_name: ruoyi-redis container_name: lynn-redis
image: redis image: redis
build: build:
context: ./redis context: ./redis
ports: ports:
- "6379:6379" - "6379:6379"
volumes: volumes:
- ./redis/conf/redis.conf:/home/ruoyi/redis/redis.conf - ./redis/conf/redis.conf:/home/lynn/redis/redis.conf
- ./redis/data:/data - ./redis/data:/data
command: redis-server /home/ruoyi/redis/redis.conf command: redis-server /home/lynn/redis/redis.conf
ruoyi-nginx: lynn-nginx:
container_name: ruoyi-nginx container_name: lynn-nginx
image: nginx image: nginx
build: build:
context: ./nginx context: ./nginx
ports: ports:
- "808:80" - "808:80"
volumes: volumes:
- ./nginx/html/dist:/home/ruoyi/projects/ruoyi-ui - ./nginx/html/dist:/home/lynn/projects/lynn-ui
- ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/logs:/var/log/nginx - ./nginx/logs:/var/log/nginx
- ./nginx/conf.d:/etc/nginx/conf.d - ./nginx/conf.d:/etc/nginx/conf.d
#depends_on: #depends_on:
#- ruoyi-gateway #- lynn-gateway
links: links:
- ruoyi-gateway - lynn-gateway
ruoyi-gateway: lynn-gateway:
container_name: ruoyi-gateway container_name: lynn-gateway
build: build:
context: ./ruoyi/gateway context: lynn-cloud/gateway
dockerfile: dockerfile dockerfile: dockerfile
ports: ports:
- "8080:8080" - "8080:8080"
depends_on: depends_on:
- ruoyi-redis - lynn-redis
links: links:
- ruoyi-redis - lynn-redis
- ruoyi-nacos - lynn-nacos
- "ruoyi-mysql:database" #作为主机的别名访问,可用于数据库的连接字符串中 - lynn-mysql
ruoyi-auth: lynn-auth:
container_name: ruoyi-auth container_name: lynn-auth
build: build:
context: ./ruoyi/auth context: lynn-cloud/auth
dockerfile: dockerfile dockerfile: dockerfile
ports: ports:
- "9200:9200" - "9200:9200"
depends_on: depends_on:
- ruoyi-redis - lynn-redis
links: links:
- ruoyi-redis - lynn-redis
- "ruoyi-nacos:nacos_server" - lynn-nacos
- "ruoyi-mysql:database" #作为主机的别名访问,可用于数据库的连接字符串中 - lynn-mysql
ruoyi-modules-system: lynn-modules-system:
container_name: ruoyi-modules-system container_name: lynn-modules-system
build: build:
context: ./ruoyi/modules/system context: lynn-cloud/modules/system
dockerfile: dockerfile dockerfile: dockerfile
ports: ports:
- "9201:9201" - "9201:9201"
depends_on: depends_on:
- ruoyi-redis - lynn-redis
- ruoyi-mysql - lynn-mysql
links: links:
- ruoyi-redis - lynn-redis
- ruoyi-nacos - lynn-nacos
- "ruoyi-mysql:database" #作为主机的别名访问,可用于数据库的连接字符串中 - lynn-mysql
ruoyi-modules-gen: lynn-modules-gen:
container_name: ruoyi-modules-gen container_name: lynn-modules-gen
build: build:
context: ./ruoyi/modules/gen context: lynn-cloud/modules/gen
dockerfile: dockerfile dockerfile: dockerfile
ports: ports:
- "9202:9202" - "9202:9202"
depends_on: depends_on:
- ruoyi-mysql - lynn-mysql
links: links:
- ruoyi-nacos - lynn-nacos
- "ruoyi-mysql:database" #作为主机的别名访问,可用于数据库的连接字符串中 - lynn-mysql
ruoyi-modules-job: lynn-modules-job:
container_name: ruoyi-modules-job container_name: lynn-modules-job
build: build:
context: ./ruoyi/modules/job context: lynn-cloud/modules/job
dockerfile: dockerfile dockerfile: dockerfile
ports: ports:
- "9203:9203" - "9203:9203"
depends_on: depends_on:
- ruoyi-mysql - lynn-mysql
links: links:
- ruoyi-nacos - lynn-nacos
- "ruoyi-mysql:database" #作为主机的别名访问,可用于数据库的连接字符串中 - lynn-mysql
ruoyi-modules-file: lynn-modules-file:
container_name: ruoyi-modules-file container_name: lynn-modules-file
build: build:
context: ./ruoyi/modules/file context: lynn-cloud/modules/file
dockerfile: dockerfile dockerfile: dockerfile
ports: ports:
- "9300:9300" - "9300:9300"
volumes: volumes:
- ./ruoyi/uploadPath:/home/ruoyi/uploadPath - ./lynn-cloud/uploadPath:/home/lynn/uploadPath
links: links:
- ruoyi-nacos - lynn-nacos
ruoyi-visual-monitor: lynn-visual-monitor:
container_name: ruoyi-visual-monitor container_name: lynn-visual-monitor
build: build:
context: ./ruoyi/visual/monitor context: lynn-cloud/visual/monitor
dockerfile: dockerfile dockerfile: dockerfile
ports: ports:
- "9100:9100" - "9100:9100"
lynn-magic-api:
ruoyi-modules-all: container_name: lynn-magic-api
container_name: ruoyi-modules-all
build: build:
context: ./ruoyi/all context: lynn-cloud/modules/magic-api
dockerfile: dockerfile
ports:
- "9500:9500"
links:
- lynn-nacos
- lynn-mysql
- lynn-auth
- "lynn-modules-system:lynn-system"
lynn-modules-all:
container_name: lynn-modules-all
build:
context: lynn-cloud/all
dockerfile: dockerfile dockerfile: dockerfile
ports: ports:
- "8080:8080" #gateway - "8080:8080" #gateway
@ -161,11 +172,11 @@ services:
- "9201:9201" #system - "9201:9201" #system
- "9202:9202" #gen - "9202:9202" #gen
- "9203:9203" #job - "9203:9203" #job
#- "9204:9204" #magicapi
- "9300:9300" #file - "9300:9300" #file
- "9500:9500" #magicapi
depends_on: depends_on:
- ruoyi-redis - lynn-redis
links: links:
- ruoyi-redis - lynn-redis
- ruoyi-nacos - lynn-nacos
- "ruoyi-mysql:database" #作为主机的别名访问,可用于数据库的连接字符串中 - lynn-mysql

@ -0,0 +1,16 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER lynn
# 挂载目录
VOLUME /home/lynn
# 创建目录
RUN mkdir -p /home/lynn
# 指定路径
WORKDIR /home/lynn
# 复制jar文件到路径
COPY ./jar/*.* /home/lynn/
RUN chmod +x /home/lynn/startup.sh
# 启动网关服务
ENTRYPOINT ["/home/lynn/startup.sh"]

@ -0,0 +1,15 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER lynn
# 挂载目录
VOLUME /home/lynn
# 创建目录
RUN mkdir -p /home/lynn
# 指定路径
WORKDIR /home/lynn
# 复制jar文件到路径
COPY ./jar/*.jar /home/lynn/
# 启动认证服务
ENTRYPOINT ["java","-jar","lynn-auth.jar"]

@ -0,0 +1,15 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER lynn
# 挂载目录
VOLUME /home/lynn
# 创建目录
RUN mkdir -p /home/lynn
# 指定路径
WORKDIR /home/lynn
# 复制jar文件到路径
COPY ./jar/*.jar /home/lynn/
# 启动网关服务
ENTRYPOINT ["java","-jar","lynn-gateway.jar"]

@ -0,0 +1,15 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER lynn
# 挂载目录
VOLUME /home/lynn
# 创建目录
RUN mkdir -p /home/lynn
# 指定路径
WORKDIR /home/lynn
# 复制jar文件到路径
COPY ./jar/*.jar /home/lynn/
# 启动代码生成服务
ENTRYPOINT ["java","-jar","lynn-modules-gen.jar"]

@ -0,0 +1,15 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER lynn
# 挂载目录
VOLUME /home/lynn
# 创建目录
RUN mkdir -p /home/lynn
# 指定路径
WORKDIR /home/lynn
# 复制jar文件到路径
COPY ./jar/*.jar /home/lynn/
# 启动定时任务服务
ENTRYPOINT ["java","-jar","lynn-modules-job.jar"]

@ -1 +1 @@
存放sql目录下的所有脚本用于docker自动执行。 将初始化需要用到的sql文件放于此文件夹中

@ -1,3 +1,12 @@
DROP DATABASE IF EXISTS `lynn-cloud-db`;
CREATE DATABASE `lynn-cloud-db` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
USE `lynn-cloud-db`;
-- ---------------------------- -- ----------------------------
-- 1、部门表 -- 1、部门表
-- ---------------------------- -- ----------------------------
@ -23,16 +32,16 @@ create table sys_dept (
-- ---------------------------- -- ----------------------------
-- 初始化-部门表数据 -- 初始化-部门表数据
-- ---------------------------- -- ----------------------------
insert into sys_dept values(100, 0, '0', '若依科技', 0, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into sys_dept values(100, 0, '0', '林恩科技', 0, '林恩', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
insert into sys_dept values(101, 100, '0,100', '深圳总公司', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into sys_dept values(101, 100, '0,100', '深圳总公司', 1, '林恩', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
insert into sys_dept values(102, 100, '0,100', '长沙分公司', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into sys_dept values(102, 100, '0,100', '长沙分公司', 2, '林恩', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
insert into sys_dept values(103, 101, '0,100,101', '研发部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into sys_dept values(103, 101, '0,100,101', '研发部门', 1, '林恩', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
insert into sys_dept values(104, 101, '0,100,101', '市场部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into sys_dept values(104, 101, '0,100,101', '市场部门', 2, '林恩', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
insert into sys_dept values(105, 101, '0,100,101', '测试部门', 3, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into sys_dept values(105, 101, '0,100,101', '测试部门', 3, '林恩', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
insert into sys_dept values(106, 101, '0,100,101', '财务部门', 4, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into sys_dept values(106, 101, '0,100,101', '财务部门', 4, '林恩', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
insert into sys_dept values(107, 101, '0,100,101', '运维部门', 5, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into sys_dept values(107, 101, '0,100,101', '运维部门', 5, '林恩', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
insert into sys_dept values(108, 102, '0,100,102', '市场部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into sys_dept values(108, 102, '0,100,102', '市场部门', 1, '林恩', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
insert into sys_dept values(109, 102, '0,100,102', '财务部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null); insert into sys_dept values(109, 102, '0,100,102', '财务部门', 2, '林恩', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
-- ---------------------------- -- ----------------------------
@ -65,8 +74,8 @@ create table sys_user (
-- ---------------------------- -- ----------------------------
-- 初始化-用户信息表数据 -- 初始化-用户信息表数据
-- ---------------------------- -- ----------------------------
insert into sys_user values(1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', sysdate(), 'admin', sysdate(), '', null, '管理员'); insert into sys_user values(1, 103, 'admin', '林恩', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', sysdate(), 'admin', sysdate(), '', null, '管理员');
insert into sys_user values(2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', sysdate(), 'admin', sysdate(), '', null, '测试员'); insert into sys_user values(2, 105, 'ry', '林恩', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', sysdate(), 'admin', sysdate(), '', null, '测试员');
-- ---------------------------- -- ----------------------------
@ -160,7 +169,7 @@ create table sys_menu (
insert into sys_menu values('1', '系统管理', '0', '1', 'system', null, '', 1, 0, 'M', '0', '0', '', 'system', 'admin', sysdate(), '', null, '系统管理目录'); insert into sys_menu values('1', '系统管理', '0', '1', 'system', null, '', 1, 0, 'M', '0', '0', '', 'system', 'admin', sysdate(), '', null, '系统管理目录');
insert into sys_menu values('2', '系统监控', '0', '2', 'monitor', null, '', 1, 0, 'M', '0', '0', '', 'monitor', 'admin', sysdate(), '', null, '系统监控目录'); insert into sys_menu values('2', '系统监控', '0', '2', 'monitor', null, '', 1, 0, 'M', '0', '0', '', 'monitor', 'admin', sysdate(), '', null, '系统监控目录');
insert into sys_menu values('3', '系统工具', '0', '3', 'tool', null, '', 1, 0, 'M', '0', '0', '', 'tool', 'admin', sysdate(), '', null, '系统工具目录'); insert into sys_menu values('3', '系统工具', '0', '3', 'tool', null, '', 1, 0, 'M', '0', '0', '', 'tool', 'admin', sysdate(), '', null, '系统工具目录');
insert into sys_menu values('4', '若依官网', '0', '4', 'http://ruoyi.vip', null, '', 0, 0, 'M', '0', '0', '', 'guide', 'admin', sysdate(), '', null, '若依官网地址'); insert into sys_menu values('4', '林恩官网', '0', '4', 'http://ruoyi.vip', null, '', 0, 0, 'M', '0', '0', '', 'guide', 'admin', sysdate(), '', null, '林恩官网地址');
-- 二级菜单 -- 二级菜单
insert into sys_menu values('100', '用户管理', '1', '1', 'user', 'system/user/index', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 'admin', sysdate(), '', null, '用户管理菜单'); insert into sys_menu values('100', '用户管理', '1', '1', 'user', 'system/user/index', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 'admin', sysdate(), '', null, '用户管理菜单');
insert into sys_menu values('101', '角色管理', '1', '2', 'role', 'system/role/index', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', sysdate(), '', null, '角色管理菜单'); insert into sys_menu values('101', '角色管理', '1', '2', 'role', 'system/role/index', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', sysdate(), '', null, '角色管理菜单');
@ -619,8 +628,8 @@ create table sys_notice (
-- ---------------------------- -- ----------------------------
-- 初始化-公告信息表数据 -- 初始化-公告信息表数据
-- ---------------------------- -- ----------------------------
insert into sys_notice values('1', '温馨提醒2018-07-01 若依新版本发布啦', '2', '新版本内容', '0', 'admin', sysdate(), '', null, '管理员'); insert into sys_notice values('1', '温馨提醒2018-07-01 林恩新版本发布啦', '2', '新版本内容', '0', 'admin', sysdate(), '', null, '管理员');
insert into sys_notice values('2', '维护通知2018-07-01 若依系统凌晨维护', '1', '维护内容', '0', 'admin', sysdate(), '', null, '管理员'); insert into sys_notice values('2', '维护通知2018-07-01 林恩系统凌晨维护', '1', '维护内容', '0', 'admin', sysdate(), '', null, '管理员');
-- ---------------------------- -- ----------------------------
@ -681,3 +690,31 @@ create table gen_table_column (
update_time datetime comment '更新时间', update_time datetime comment '更新时间',
primary key (column_id) primary key (column_id)
) engine=innodb auto_increment=1 comment = '代码生成业务表字段'; ) engine=innodb auto_increment=1 comment = '代码生成业务表字段';
-- ----------------------------
-- Table structure for magic_api_file
-- ----------------------------
DROP TABLE IF EXISTS `magic_api_file`;
CREATE TABLE `magic_api_file` (
`file_path` varchar(512) NOT NULL,
`file_content` mediumtext,
PRIMARY KEY (`file_path`)
) ENGINE=InnoDB auto_increment=1 comment = 'magic-api生成的api';
-- ----------------------------
-- Table structure for magic_api_backup
-- ----------------------------
DROP TABLE IF EXISTS `magic_api_backup`;
CREATE TABLE `magic_api_backup` (
`id` varchar(32) NOT NULL COMMENT '原对象ID',
`create_date` bigint NOT NULL COMMENT '备份时间',
`tag` varchar(32) DEFAULT NULL COMMENT '标签',
`type` varchar(32) DEFAULT NULL COMMENT '类型',
`name` varchar(64) DEFAULT NULL COMMENT '原名称',
`content` mediumtext COMMENT '备份内容',
`create_by` varchar(64) DEFAULT NULL COMMENT '操作人',
PRIMARY KEY (`id`,`create_date`)
) ENGINE=InnoDB auto_increment=1 comment = 'magic-api生成的api的备份';
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

@ -1,6 +1,6 @@
spring.datasource.platform=mysql spring.datasource.platform=mysql
db.num=1 db.num=1
db.url.0=jdbc:mysql://database:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.url.0=jdbc:mysql://lynn.server.local:3306/lynn-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root db.user=root
db.password=lynntech db.password=lynntech

@ -1,36 +1,36 @@
worker_processes 1; worker_processes 1;
events { events {
worker_connections 1024; worker_connections 1024;
} }
http { http {
include mime.types; include mime.types;
default_type application/octet-stream; default_type application/octet-stream;
sendfile on; sendfile on;
keepalive_timeout 65; keepalive_timeout 65;
server { server {
listen 80; listen 80;
server_name localhost; server_name localhost;
location / { location / {
root /home/ruoyi/projects/ruoyi-ui; root /home/lynn/projects/lynn-ui;
try_files $uri $uri/ /index.html; try_files $uri $uri/ /index.html;
index index.html index.htm; index index.html index.htm;
} }
location /prod-api/{ location /prod-api/{
proxy_set_header Host $http_host; proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://ruoyi-gateway:8080/; proxy_pass http://lynn-gateway:8080/;
} }
error_page 500 502 503 504 /50x.html; error_page 500 502 503 504 /50x.html;
location = /50x.html { location = /50x.html {
root html; root html;
} }
} }
}# requirepass 123456 }# requirepass 123456

@ -1,15 +1,15 @@
# 基础镜像 # 基础镜像
FROM nginx FROM nginx
# author # author
MAINTAINER ruoyi MAINTAINER lynn
# 挂载目录 # 挂载目录
VOLUME /home/ruoyi/projects/ruoyi-ui VOLUME /home/lynn/projects/lynn-ui
# 创建目录 # 创建目录
RUN mkdir -p /home/ruoyi/projects/ruoyi-ui RUN mkdir -p /home/lynn/projects/lynn-ui
# 指定路径 # 指定路径
WORKDIR /home/ruoyi/projects/ruoyi-ui WORKDIR /home/lynn/projects/lynn-ui
# 复制conf文件到路径 # 复制conf文件到路径
COPY ./conf/nginx.conf /etc/nginx/nginx.conf COPY ./conf/nginx.conf /etc/nginx/nginx.conf
# 复制html文件到路径 # 复制html文件到路径
COPY ./html/dist /home/ruoyi/projects/ruoyi-ui COPY ./html/dist /home/lynn/projects/lynn-ui

@ -1,13 +1,13 @@
# 基础镜像 # 基础镜像
FROM redis FROM redis
# author # author
MAINTAINER ruoyi MAINTAINER lynn
# 挂载目录 # 挂载目录
VOLUME /home/ruoyi/redis VOLUME /home/lynn/redis
# 创建目录 # 创建目录
RUN mkdir -p /home/ruoyi/redis RUN mkdir -p /home/lynn/redis
# 指定路径 # 指定路径
WORKDIR /home/ruoyi/redis WORKDIR /home/lynn/redis
# 复制conf文件到路径 # 复制conf文件到路径
COPY ./conf/redis.conf /home/ruoyi/redis/redis.conf COPY ./conf/redis.conf /home/lynn/redis/redis.conf

@ -1,17 +0,0 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER ruoyi
# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/*.* /home/ruoyi/
RUN chmod +x /home/ruoyi/startup.sh
# 启动网关服务
# ENTRYPOINT ["java","-jar","ruoyi-gateway.jar","ruoyi-auth.jar"]
ENTRYPOINT ["/home/ruoyi/startup.sh"]

@ -1,10 +0,0 @@
#!/bin/bash
# 命令后加入 & ,保持程序后台持续运行
nohup java -jar ./ruoyi-gateway.jar &
nohup java -jar ./ruoyi-auth.jar &
nohup java -jar ./ruoyi-modules-gen.jar &
nohup java -jar ./ruoyi-modules-file.jar &
nohup java -jar ./ruoyi-modules-job.jar &
nohup java -jar ./ruoyi-magicapi.jar &
java -jar ./ruoyi-modules-system.jar

@ -1,15 +0,0 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER ruoyi
# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/*.jar /home/ruoyi/
# 启动认证服务
ENTRYPOINT ["java","-jar","ruoyi-auth.jar"]

@ -1,15 +0,0 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER ruoyi
# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/*.jar /home/ruoyi/
# 启动网关服务
ENTRYPOINT ["java","-jar","ruoyi-gateway.jar"]

@ -1,15 +0,0 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER ruoyi
# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/*.jar /home/ruoyi/
# 启动文件服务
ENTRYPOINT ["java","-jar","ruoyi-modules-file.jar"]

@ -1,15 +0,0 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER ruoyi
# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/*.jar /home/ruoyi/
# 启动代码生成服务
ENTRYPOINT ["java","-jar","ruoyi-modules-gen.jar"]

@ -1,15 +0,0 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER ruoyi
# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/*.jar /home/ruoyi/
# 启动定时任务服务
ENTRYPOINT ["java","-jar","ruoyi-modules-job.jar"]

@ -1,15 +0,0 @@
# 基础镜像
FROM openjdk:8-jre
# author
MAINTAINER ruoyi
# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/*.jar /home/ruoyi/
# 启动系统服务
ENTRYPOINT ["java","-jar","ruoyi-modules-system.jar"]

@ -4,16 +4,16 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi</artifactId> <artifactId>lynn</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
<name>ruoyi</name> <name>lynnCloud</name>
<url>http://www.ruoyi.vip</url> <url>http://www.lynntech.cn</url>
<description>若依微服务系统</description> <description>林恩低代码开发平台</description>
<properties> <properties>
<ruoyi.version>3.1.0</ruoyi.version> <lynn.version>3.1.0</lynn.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version> <java.version>1.8</java.version>
@ -182,58 +182,58 @@
<!-- 核心模块 --> <!-- 核心模块 -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-core</artifactId> <artifactId>lynn-common-core</artifactId>
<version>${ruoyi.version}</version> <version>${lynn.version}</version>
</dependency> </dependency>
<!-- 接口模块 --> <!-- 接口模块 -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-swagger</artifactId> <artifactId>lynn-common-swagger</artifactId>
<version>${ruoyi.version}</version> <version>${lynn.version}</version>
</dependency> </dependency>
<!-- 安全模块 --> <!-- 安全模块 -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-security</artifactId> <artifactId>lynn-common-security</artifactId>
<version>${ruoyi.version}</version> <version>${lynn.version}</version>
</dependency> </dependency>
<!-- 权限范围 --> <!-- 权限范围 -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-datascope</artifactId> <artifactId>lynn-common-datascope</artifactId>
<version>${ruoyi.version}</version> <version>${lynn.version}</version>
</dependency> </dependency>
<!-- 多数据源 --> <!-- 多数据源 -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-datasource</artifactId> <artifactId>lynn-common-datasource</artifactId>
<version>${ruoyi.version}</version> <version>${lynn.version}</version>
</dependency> </dependency>
<!-- 日志记录 --> <!-- 日志记录 -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-log</artifactId> <artifactId>lynn-common-log</artifactId>
<version>${ruoyi.version}</version> <version>${lynn.version}</version>
</dependency> </dependency>
<!-- 缓存服务 --> <!-- 缓存服务 -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-redis</artifactId> <artifactId>lynn-common-redis</artifactId>
<version>${ruoyi.version}</version> <version>${lynn.version}</version>
</dependency> </dependency>
<!-- 系统接口 --> <!-- 系统接口 -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-api-system</artifactId> <artifactId>lynn-api-system</artifactId>
<version>${ruoyi.version}</version> <version>${lynn.version}</version>
</dependency> </dependency>
</dependencies> </dependencies>

@ -1,22 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi</artifactId> <artifactId>lynn</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<modules> <modules>
<module>ruoyi-api-system</module> <module>ruoyi-api-system</module>
</modules> </modules>
<artifactId>ruoyi-api</artifactId> <artifactId>lynn-api</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<description> <description>
ruoyi-api系统接口 ruoyi-api系统接口
</description> </description>
</project> </project>

@ -1,28 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-api</artifactId> <artifactId>lynn-api</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-api-system</artifactId> <artifactId>lynn-api-system</artifactId>
<description> <description>
ruoyi-api-system系统接口模块 ruoyi-api-system系统接口模块
</description> </description>
<dependencies> <dependencies>
<!-- RuoYi Common Core--> <!-- RuoYi Common Core-->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-core</artifactId> <artifactId>lynn-common-core</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

@ -1,74 +1,74 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi</artifactId> <artifactId>lynn</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-auth</artifactId> <artifactId>lynn-auth</artifactId>
<description> <description>
ruoyi-auth认证授权中心 lynn-auth认证授权中心
</description> </description>
<dependencies> <dependencies>
<!-- SpringCloud Alibaba Nacos --> <!-- SpringCloud Alibaba Nacos -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency> </dependency>
<!-- SpringCloud Alibaba Nacos Config --> <!-- SpringCloud Alibaba Nacos Config -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency> </dependency>
<!-- SpringCloud Alibaba Sentinel --> <!-- SpringCloud Alibaba Sentinel -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency> </dependency>
<!-- SpringBoot Web --> <!-- SpringBoot Web -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>
</dependency> </dependency>
<!-- SpringBoot Actuator --> <!-- SpringBoot Actuator -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId> <artifactId>spring-boot-starter-actuator</artifactId>
</dependency> </dependency>
<!-- RuoYi Common Security--> <!-- RuoYi Common Security-->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-security</artifactId> <artifactId>lynn-common-security</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<finalName>${project.artifactId}</finalName> <finalName>${project.artifactId}</finalName>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<executions> <executions>
<execution> <execution>
<goals> <goals>
<goal>repackage</goal> <goal>repackage</goal>
</goals> </goals>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
</project> </project>

@ -6,7 +6,7 @@ server:
spring: spring:
application: application:
# 应用名称 # 应用名称
name: ruoyi-auth name: lynn-auth
profiles: profiles:
# 环境配置 # 环境配置
active: dev active: dev
@ -14,10 +14,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: kubernetes.docker.internal:8848 server-addr: lynn.server.local:8848
config: config:
# 配置中心地址 # 配置中心地址
server-addr: kubernetes.docker.internal:8848 server-addr: lynn.server.local:8848
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

@ -1,28 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi</artifactId> <artifactId>lynn</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<modules> <modules>
<module>ruoyi-common-log</module> <module>ruoyi-common-log</module>
<module>ruoyi-common-core</module> <module>ruoyi-common-core</module>
<module>ruoyi-common-redis</module> <module>ruoyi-common-redis</module>
<module>ruoyi-common-swagger</module> <module>ruoyi-common-swagger</module>
<module>ruoyi-common-security</module> <module>ruoyi-common-security</module>
<module>ruoyi-common-datascope</module> <module>ruoyi-common-datascope</module>
<module>ruoyi-common-datasource</module> <module>ruoyi-common-datasource</module>
</modules> </modules>
<artifactId>ruoyi-common</artifactId> <artifactId>lynn-common</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<description> <description>
ruoyi-common通用模块 ruoyi-common通用模块
</description> </description>
</project> </project>

@ -1,112 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common</artifactId> <artifactId>lynn-common</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-common-core</artifactId> <artifactId>lynn-common-core</artifactId>
<description> <description>
ruoyi-common-core核心模块 ruoyi-common-core核心模块
</description> </description>
<dependencies> <dependencies>
<!-- SpringCloud Openfeign --> <!-- SpringCloud Openfeign -->
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId> <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency> </dependency>
<!-- SpringCloud Loadbalancer --> <!-- SpringCloud Loadbalancer -->
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId> <artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency> </dependency>
<!-- Spring Context Support --> <!-- Spring Context Support -->
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId> <artifactId>spring-context-support</artifactId>
</dependency> </dependency>
<!-- Spring Web --> <!-- Spring Web -->
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId> <artifactId>spring-web</artifactId>
</dependency> </dependency>
<!-- Apache Commons Pool2 --> <!-- Apache Commons Pool2 -->
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId> <artifactId>commons-pool2</artifactId>
</dependency> </dependency>
<!-- Pagehelper --> <!-- Pagehelper -->
<dependency> <dependency>
<groupId>com.github.pagehelper</groupId> <groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId> <artifactId>pagehelper-spring-boot-starter</artifactId>
</dependency> </dependency>
<!-- Hibernate Validator --> <!-- Hibernate Validator -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId> <artifactId>spring-boot-starter-validation</artifactId>
</dependency> </dependency>
<!-- Jackson --> <!-- Jackson -->
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
</dependency> </dependency>
<!-- Alibaba Fastjson --> <!-- Alibaba Fastjson -->
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId> <artifactId>fastjson</artifactId>
</dependency> </dependency>
<!-- Apache Lang3 --> <!-- Apache Lang3 -->
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId> <artifactId>commons-lang3</artifactId>
</dependency> </dependency>
<!-- Commons Io --> <!-- Commons Io -->
<dependency> <dependency>
<groupId>commons-io</groupId> <groupId>commons-io</groupId>
<artifactId>commons-io</artifactId> <artifactId>commons-io</artifactId>
</dependency> </dependency>
<!-- Commons Fileupload --> <!-- Commons Fileupload -->
<dependency> <dependency>
<groupId>commons-fileupload</groupId> <groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId> <artifactId>commons-fileupload</artifactId>
</dependency> </dependency>
<!-- excel工具 --> <!-- excel工具 -->
<dependency> <dependency>
<groupId>org.apache.poi</groupId> <groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId> <artifactId>poi-ooxml</artifactId>
</dependency> </dependency>
<!-- Java Servlet --> <!-- Java Servlet -->
<dependency> <dependency>
<groupId>javax.servlet</groupId> <groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId> <artifactId>javax.servlet-api</artifactId>
</dependency> </dependency>
<!-- Swagger --> <!-- Swagger -->
<dependency> <dependency>
<groupId>io.swagger</groupId> <groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId> <artifactId>swagger-annotations</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

@ -1,24 +1,24 @@
package com.ruoyi.common.core.constant; package com.ruoyi.common.core.constant;
/** /**
* *
* *
* @author ruoyi * @author ruoyi
*/ */
public class ServiceNameConstants public class ServiceNameConstants
{ {
/** /**
* serviceid * serviceid
*/ */
public static final String AUTH_SERVICE = "ruoyi-auth"; public static final String AUTH_SERVICE = "lynn-auth";
/** /**
* serviceid * serviceid
*/ */
public static final String SYSTEM_SERVICE = "ruoyi-system"; public static final String SYSTEM_SERVICE = "lynn-system";
/** /**
* serviceid * serviceid
*/ */
public static final String FILE_SERVICE = "ruoyi-file"; public static final String FILE_SERVICE = "lynn-file";
} }

@ -1,27 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common</artifactId> <artifactId>lynn-common</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-common-datascope</artifactId> <artifactId>lynn-common-datascope</artifactId>
<description> <description>
ruoyi-common-datascope权限范围 ruoyi-common-datascope权限范围
</description> </description>
<dependencies> <dependencies>
<!-- RuoYi Common Security --> <!-- RuoYi Common Security -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-security</artifactId> <artifactId>lynn-common-security</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

@ -1,41 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common</artifactId> <artifactId>lynn-common</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-common-datasource</artifactId> <artifactId>lynn-common-datasource</artifactId>
<description> <description>
ruoyi-common-datasource多数据源 ruoyi-common-datasource多数据源
</description> </description>
<dependencies> <dependencies>
<!-- Druid --> <!-- Druid -->
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId> <artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version> <version>${druid.version}</version>
</dependency> </dependency>
<!-- Dynamic DataSource --> <!-- Dynamic DataSource -->
<dependency> <dependency>
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>${dynamic-ds.version}</version> <version>${dynamic-ds.version}</version>
</dependency> </dependency>
<!-- SpringBoot Seata --> <!-- SpringBoot Seata -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-seata</artifactId> <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

@ -1,27 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common</artifactId> <artifactId>lynn-common</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-common-log</artifactId> <artifactId>lynn-common-log</artifactId>
<description> <description>
ruoyi-common-log日志记录 ruoyi-common-log日志记录
</description> </description>
<dependencies> <dependencies>
<!-- RuoYi Common Security --> <!-- RuoYi Common Security -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-security</artifactId> <artifactId>lynn-common-security</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

@ -1,33 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common</artifactId> <artifactId>lynn-common</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-common-redis</artifactId> <artifactId>lynn-common-redis</artifactId>
<description> <description>
ruoyi-common-redis缓存服务 ruoyi-common-redis缓存服务
</description> </description>
<dependencies> <dependencies>
<!-- SpringBoot Boot Redis --> <!-- SpringBoot Boot Redis -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId> <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency> </dependency>
<!-- RuoYi Common Core--> <!-- RuoYi Common Core-->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-core</artifactId> <artifactId>lynn-common-core</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

@ -1,33 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common</artifactId> <artifactId>lynn-common</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-common-security</artifactId> <artifactId>lynn-common-security</artifactId>
<description> <description>
ruoyi-common-security安全模块 ruoyi-common-security安全模块
</description> </description>
<dependencies> <dependencies>
<!-- RuoYi Api System --> <!-- RuoYi Api System -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-api-system</artifactId> <artifactId>lynn-api-system</artifactId>
</dependency> </dependency>
<!-- RuoYi Common Redis--> <!-- RuoYi Common Redis-->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-redis</artifactId> <artifactId>lynn-common-redis</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

@ -1,34 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common</artifactId> <artifactId>lynn-common</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-common-swagger</artifactId> <artifactId>lynn-common-swagger</artifactId>
<description> <description>
ruoyi-common-swagger系统接口 ruoyi-common-swagger系统接口
</description> </description>
<dependencies> <dependencies>
<!-- SpringBoot Web --> <!-- SpringBoot Web -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>
</dependency> </dependency>
<!-- Swagger --> <!-- Swagger -->
<dependency> <dependency>
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId> <artifactId>springfox-swagger2</artifactId>
<version>${swagger.fox.version}</version> <version>${swagger.fox.version}</version>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

@ -2,16 +2,16 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi</artifactId> <artifactId>lynn</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-gateway</artifactId> <artifactId>lynn-gateway</artifactId>
<description> <description>
ruoyi-gateway网关模块 lynn-gateway网关模块
</description> </description>
<dependencies> <dependencies>
@ -66,8 +66,8 @@
<!-- RuoYi Common Redis--> <!-- RuoYi Common Redis-->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-redis</artifactId> <artifactId>lynn-common-redis</artifactId>
</dependency> </dependency>
<!-- Swagger --> <!-- Swagger -->

@ -6,7 +6,7 @@ server:
spring: spring:
application: application:
# 应用名称 # 应用名称
name: ruoyi-gateway name: lynn-gateway
profiles: profiles:
# 环境配置 # 环境配置
active: dev active: dev
@ -16,10 +16,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: kubernetes.docker.internal:8848 server-addr: lynn.server.local:8848
config: config:
# 配置中心地址 # 配置中心地址
server-addr: kubernetes.docker.internal:8848 server-addr: lynn.server.local:8848
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置
@ -35,8 +35,8 @@ spring:
datasource: datasource:
ds1: ds1:
nacos: nacos:
server-addr: ruoyi-nacos:8848 server-addr: lynn-nacos:8848
dataId: sentinel-ruoyi-gateway dataId: sentinel-lynn-gateway
groupId: DEFAULT_GROUP groupId: DEFAULT_GROUP
data-type: json data-type: json
rule-type: flow rule-type: flow

@ -2,8 +2,8 @@
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi</artifactId> <artifactId>lynn</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@ -13,10 +13,10 @@
<module>ruoyi-gen</module> <module>ruoyi-gen</module>
<module>ruoyi-job</module> <module>ruoyi-job</module>
<module>ruoyi-file</module> <module>ruoyi-file</module>
<module>ruoyi-magicapi</module> <module>lynn-magic-api</module>
</modules> </modules>
<artifactId>ruoyi-modules</artifactId> <artifactId>lynn-modules</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<description> <description>

@ -1,88 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-modules</artifactId> <artifactId>lynn-modules</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-modules-file</artifactId> <artifactId>lynn-modules-file</artifactId>
<description> <description>
ruoyi-modules-file文件服务 lynn-modules-file文件服务
</description> </description>
<dependencies> <dependencies>
<!-- SpringCloud Alibaba Nacos --> <!-- SpringCloud Alibaba Nacos -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency> </dependency>
<!-- SpringCloud Alibaba Nacos Config --> <!-- SpringCloud Alibaba Nacos Config -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency> </dependency>
<!-- SpringCloud Alibaba Sentinel --> <!-- SpringCloud Alibaba Sentinel -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency> </dependency>
<!-- SpringBoot Actuator --> <!-- SpringBoot Actuator -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId> <artifactId>spring-boot-starter-actuator</artifactId>
</dependency> </dependency>
<!-- FastDFS --> <!-- FastDFS -->
<dependency> <dependency>
<groupId>com.github.tobato</groupId> <groupId>com.github.tobato</groupId>
<artifactId>fastdfs-client</artifactId> <artifactId>fastdfs-client</artifactId>
</dependency> </dependency>
<!-- Minio --> <!-- Minio -->
<dependency> <dependency>
<groupId>io.minio</groupId> <groupId>io.minio</groupId>
<artifactId>minio</artifactId> <artifactId>minio</artifactId>
<version>${minio.version}</version> <version>${minio.version}</version>
</dependency> </dependency>
<!-- RuoYi Api System --> <!-- RuoYi Api System -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-api-system</artifactId> <artifactId>lynn-api-system</artifactId>
</dependency> </dependency>
<!-- RuoYi Common Swagger --> <!-- RuoYi Common Swagger -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-swagger</artifactId> <artifactId>lynn-common-swagger</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<finalName>${project.artifactId}</finalName> <finalName>${project.artifactId}</finalName>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<executions> <executions>
<execution> <execution>
<goals> <goals>
<goal>repackage</goal> <goal>repackage</goal>
</goals> </goals>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
</project> </project>

@ -6,7 +6,7 @@ server:
spring: spring:
application: application:
# 应用名称 # 应用名称
name: ruoyi-file name: lynn-file
profiles: profiles:
# 环境配置 # 环境配置
active: dev active: dev
@ -14,10 +14,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: kubernetes.docker.internal:8848 server-addr: lynn.server.local:8848
config: config:
# 配置中心地址 # 配置中心地址
server-addr: kubernetes.docker.internal:8848 server-addr: lynn.server.local:8848
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

@ -1,100 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-modules</artifactId> <artifactId>lynn-modules</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-modules-gen</artifactId> <artifactId>lynn-modules-gen</artifactId>
<description> <description>
ruoyi-modules-gen代码生成 ruoyi-modules-gen代码生成
</description> </description>
<dependencies> <dependencies>
<!-- SpringCloud Alibaba Nacos --> <!-- SpringCloud Alibaba Nacos -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency> </dependency>
<!-- SpringCloud Alibaba Nacos Config --> <!-- SpringCloud Alibaba Nacos Config -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency> </dependency>
<!-- SpringCloud Alibaba Sentinel --> <!-- SpringCloud Alibaba Sentinel -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency> </dependency>
<!-- SpringBoot Actuator --> <!-- SpringBoot Actuator -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId> <artifactId>spring-boot-starter-actuator</artifactId>
</dependency> </dependency>
<!-- Swagger UI --> <!-- Swagger UI -->
<dependency> <dependency>
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId> <artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.fox.version}</version> <version>${swagger.fox.version}</version>
</dependency> </dependency>
<!-- Apache Velocity --> <!-- Apache Velocity -->
<dependency> <dependency>
<groupId>org.apache.velocity</groupId> <groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId> <artifactId>velocity</artifactId>
</dependency> </dependency>
<!-- Commons Collections --> <!-- Commons Collections -->
<dependency> <dependency>
<groupId>commons-collections</groupId> <groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId> <artifactId>commons-collections</artifactId>
</dependency> </dependency>
<!-- Mysql Connector --> <!-- Mysql Connector -->
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-java</artifactId>
</dependency> </dependency>
<!-- RuoYi Common Log --> <!-- RuoYi Common Log -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-log</artifactId> <artifactId>lynn-common-log</artifactId>
</dependency> </dependency>
<!-- RuoYi Common Swagger --> <!-- RuoYi Common Swagger -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-swagger</artifactId> <artifactId>lynn-common-swagger</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<finalName>${project.artifactId}</finalName> <finalName>${project.artifactId}</finalName>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<executions> <executions>
<execution> <execution>
<goals> <goals>
<goal>repackage</goal> <goal>repackage</goal>
</goals> </goals>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
</project> </project>

@ -6,7 +6,7 @@ server:
spring: spring:
application: application:
# 应用名称 # 应用名称
name: ruoyi-gen name: lynn-gen
profiles: profiles:
# 环境配置 # 环境配置
active: dev active: dev
@ -14,10 +14,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: kubernetes.docker.internal:8848 server-addr: lynn.server.local:8848
config: config:
# 配置中心地址 # 配置中心地址
server-addr: kubernetes.docker.internal:8848 server-addr: lynn.server.local:8848
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

@ -1,100 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-modules</artifactId> <artifactId>lynn-modules</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-modules-job</artifactId> <artifactId>lynn-modules-job</artifactId>
<description> <description>
ruoyi-modules-job定时任务 ruoyi-modules-job定时任务
</description> </description>
<dependencies> <dependencies>
<!-- SpringCloud Alibaba Nacos --> <!-- SpringCloud Alibaba Nacos -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency> </dependency>
<!-- SpringCloud Alibaba Nacos Config --> <!-- SpringCloud Alibaba Nacos Config -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency> </dependency>
<!-- SpringCloud Alibaba Sentinel --> <!-- SpringCloud Alibaba Sentinel -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency> </dependency>
<!-- SpringBoot Actuator --> <!-- SpringBoot Actuator -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId> <artifactId>spring-boot-starter-actuator</artifactId>
</dependency> </dependency>
<!-- Swagger UI --> <!-- Swagger UI -->
<dependency> <dependency>
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId> <artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.fox.version}</version> <version>${swagger.fox.version}</version>
</dependency> </dependency>
<!-- Quartz --> <!-- Quartz -->
<dependency> <dependency>
<groupId>org.quartz-scheduler</groupId> <groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId> <artifactId>quartz</artifactId>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>com.mchange</groupId> <groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId> <artifactId>c3p0</artifactId>
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<!-- Mysql Connector --> <!-- Mysql Connector -->
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-java</artifactId>
</dependency> </dependency>
<!-- RuoYi Common Log --> <!-- RuoYi Common Log -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-log</artifactId> <artifactId>lynn-common-log</artifactId>
</dependency> </dependency>
<!-- RuoYi Common Swagger --> <!-- RuoYi Common Swagger -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-swagger</artifactId> <artifactId>lynn-common-swagger</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<finalName>${project.artifactId}</finalName> <finalName>${project.artifactId}</finalName>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<executions> <executions>
<execution> <execution>
<goals> <goals>
<goal>repackage</goal> <goal>repackage</goal>
</goals> </goals>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
</project> </project>

@ -6,7 +6,7 @@ server:
spring: spring:
application: application:
# 应用名称 # 应用名称
name: ruoyi-job name: lynn-job
profiles: profiles:
# 环境配置 # 环境配置
active: dev active: dev
@ -14,10 +14,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: kubernetes.docker.internal:8848 server-addr: lynn.server.local:8848
config: config:
# 配置中心地址 # 配置中心地址
server-addr: kubernetes.docker.internal:8848 server-addr: lynn.server.local:8848
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

@ -1,126 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-modules</artifactId>
<version>3.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-magicapi</artifactId>
<description>
ruoyi-magic-api
</description>
<properties>
<margic.api.version>1.4.1</margic.api.version>
</properties>
<dependencies>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud Alibaba Sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- SpringBoot Actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- Swagger UI -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.fox.version}</version>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- RuoYi Common DataSource -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-datasource</artifactId>
</dependency>
<!-- RuoYi Common DataScope -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-datascope</artifactId>
</dependency>
<!-- RuoYi Common Log -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-log</artifactId>
</dependency>
<!-- RuoYi Common Swagger -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-swagger</artifactId>
</dependency>
<!-- RuoYi Auth -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-auth</artifactId>
<version>3.1.0</version>
</dependency>
<!-- magic-pai -->
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api-spring-boot-starter</artifactId>
<version>${margic.api.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>5.5.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>5.5.1</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

@ -1,34 +0,0 @@
package cn.lynntech.magicapi;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import com.ruoyi.common.security.annotation.EnableCustomConfig;
import com.ruoyi.common.security.annotation.EnableRyFeignClients;
import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2;
/**
*
*
* @author ruoyi
*/
@EnableCustomConfig
@EnableCustomSwagger2
@EnableRyFeignClients
@SpringBootApplication
public class MagicapiApplication
{
public static void main(String[] args)
{
SpringApplication.run(MagicapiApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ MagicApi模块启动成功 ლ(´ڡ`ლ)゙ \n" +
" .-------. ____ __ \n" +
" | _ _ \\ \\ \\ / / \n" +
" | ( ' ) | \\ _. / ' \n" +
" |(_ o _) / _( )_ .' \n" +
" | (_,_).' __ ___(_ o _)' \n" +
" | |\\ \\ | || |(_,_)' \n" +
" | | \\ `' /| `-' / \n" +
" | | \\ / \\ / \n" +
" ''-' `'-' `-..-' ");
}
}

@ -1,62 +0,0 @@
package cn.lynntech.magicapi.filter;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.system.api.model.LoginUser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
/**
* token token
*
* @author wanfeng
*/
@Component
public class AuthFilter extends OncePerRequestFilter
{
private static final Logger log = LoggerFactory.getLogger(AuthFilter.class);
@Autowired
private TokenService tokenService;
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
throws ServletException, IOException
{
log.info("ACCESS URL => {}", request.getRequestURI());
Object trust = request.getAttribute("TrustHostFiltered");
if (trust != null && (Boolean)trust) {
chain.doFilter(request, response);
return;
}
LoginUser loginUser = tokenService.getLoginUser(request);
if (StringUtils.isNull(loginUser) || StringUtils.isNull(loginUser.getToken()))
{
if(request.getRequestURI().startsWith("/api")){
//异常处理,无权限
//throw new HttpClientErrorException(HttpStatus.UNAUTHORIZED);
response.setStatus(HttpStatus.UNAUTHORIZED.value());
response.setContentLength(-1);
response.setContentType(MediaType.TEXT_PLAIN_VALUE + ";charset=utf-8");
OutputStream stream = response.getOutputStream();
stream.write("用户未登录".getBytes(StandardCharsets.UTF_8));
stream.flush();
stream.close();
}
}
chain.doFilter(request, response);
}
}

@ -1,77 +0,0 @@
Manifest-Version: 1.0
Class-Path: SparseBitSet-1.2.jar checker-qual-3.10.0.jar feign-form-3.
8.0.jar spring-cloud-starter-bootstrap-3.0.3.jar javax.servlet-api-4.
0.1.jar spring-boot-starter-json-2.5.3.jar feign-core-10.12.jar fastj
son-1.2.76.jar netty-codec-4.1.66.Final.jar tomcat-embed-core-9.0.50.
jar reactor-extra-3.4.3.jar spring-cloud-starter-openfeign-3.0.3.jar
spring-cloud-openfeign-core-3.0.3.jar concurrentlinkedhashmap-lru-1.4
.2.jar mysql-connector-java-8.0.26.jar springfox-spring-webmvc-3.0.0.
jar spring-cloud-starter-alibaba-nacos-discovery-2021.1.jar spring-bo
ot-actuator-autoconfigure-2.5.3.jar mybatis-spring-boot-starter-2.2.0
.jar lettuce-core-6.1.4.RELEASE.jar spring-boot-starter-validation-2.
5.3.jar spring-cloud-loadbalancer-3.0.3.jar jakarta.validation-api-2.
0.2.jar spring-boot-starter-data-redis-2.5.3.jar spring-boot-starter-
logging-2.5.3.jar springfox-core-3.0.0.jar spring-boot-starter-2.5.3.
jar pagehelper-spring-boot-starter-1.3.1.jar xmlbeans-3.1.0.jar sprin
gfox-swagger-common-3.0.0.jar druid-spring-boot-starter-1.2.6.jar spr
ing-context-support-5.3.9.jar spring-boot-starter-cache-2.5.3.jar spr
ing-cloud-starter-loadbalancer-3.0.3.jar sentinel-core-1.8.0.jar sent
inel-reactor-adapter-1.8.0.jar commons-codec-1.15.jar classmate-1.5.1
.jar commons-fileupload-1.4.jar jackson-datatype-jsr310-2.12.4.jar ja
karta.annotation-api-1.3.5.jar jackson-module-parameter-names-2.12.4.
jar springfox-spring-web-3.0.0.jar spring-security-crypto-5.5.1.jar m
icrometer-core-1.7.2.jar poi-4.1.2.jar tomcat-embed-websocket-9.0.50.
jar spring-security-rsa-1.0.10.RELEASE.jar sentinel-cluster-client-de
fault-1.8.0.jar httpcore-4.4.14.jar snakeyaml-1.28.jar netty-transpor
t-4.1.66.Final.jar spring-boot-starter-web-2.5.3.jar spring-cloud-con
text-3.0.3.jar spring-data-commons-2.5.3.jar httpcore-nio-4.4.14.jar
spring-cloud-circuitbreaker-sentinel-2021.1.jar sentinel-spring-webmv
c-adapter-1.8.0.jar spring-context-5.3.9.jar springfox-spring-webflux
-3.0.0.jar spring-webmvc-5.3.9.jar spring-cloud-starter-alibaba-nacos
-config-2021.1.jar spring-cloud-starter-alibaba-seata-2021.1.jar conf
ig-1.2.1.jar jackson-datatype-jdk8-2.12.4.jar spring-web-5.3.9.jar sp
ring-context-support-1.0.10.jar druid-1.2.6.jar spring-boot-starter-a
ctuator-2.5.3.jar spring-cloud-starter-alibaba-sentinel-2021.1.jar cg
lib-3.1.jar asm-4.2.jar jackson-annotations-2.12.4.jar spring-aop-5.3
.9.jar pagehelper-spring-boot-autoconfigure-1.3.1.jar spring-boot-aut
oconfigure-2.5.3.jar commons-math3-3.6.1.jar jackson-core-2.12.4.jar
springfox-spi-3.0.0.jar spring-cloud-starter-3.0.3.jar feign-form-spr
ing-3.8.0.jar slf4j-api-1.7.32.jar reflections-0.9.11.jar poi-ooxml-4
.1.2.jar commons-lang-2.6.jar tomcat-embed-el-9.0.50.jar jboss-loggin
g-3.4.2.Final.jar seata-spring-boot-starter-1.3.0.jar HikariCP-4.0.3.
jar spring-cloud-commons-3.0.3.jar nacos-client-2.0.3.jar log4j-to-sl
f4j-2.14.1.jar javassist-3.21.0-GA.jar LatencyUtils-2.0.3.jar simplec
lient-0.10.0.jar spring-beans-5.3.9.jar spring-expression-5.3.9.jar s
pring-boot-actuator-2.5.3.jar logback-core-1.2.4.jar pagehelper-5.2.1
.jar evictor-1.0.0.jar spring-plugin-core-2.0.0.RELEASE.jar commons-l
ang3-3.12.0.jar commons-compress-1.19.jar spring-boot-starter-tomcat-
2.5.3.jar sentinel-annotation-aspectj-1.8.0.jar sentinel-datasource-e
xtension-1.8.0.jar poi-ooxml-schemas-4.1.2.jar aopalliance-1.0.jar Hd
rHistogram-2.1.12.jar byte-buddy-1.10.22.jar spring-data-redis-2.5.3.
jar netty-buffer-4.1.66.Final.jar jackson-databind-2.12.4.jar bcprov-
jdk15on-1.68.jar error_prone_annotations-2.5.1.jar spring-plugin-meta
data-2.0.0.RELEASE.jar guava-20.0.jar mybatis-spring-2.0.6.jar sentin
el-transport-simple-http-1.8.0.jar netty-handler-4.1.66.Final.jar bcp
kix-jdk15on-1.68.jar spring-core-5.3.9.jar commons-io-2.11.0.jar swag
ger-annotations-2.1.2.jar spring-oxm-5.3.9.jar sentinel-parameter-flo
w-control-1.8.0.jar jsqlparser-4.0.jar logback-classic-1.2.4.jar jul-
to-slf4j-1.7.32.jar netty-all-4.1.66.Final.jar dynamic-datasource-spr
ing-boot-starter-3.4.1.jar spring-tx-5.3.9.jar mapstruct-1.3.1.Final.
jar netty-common-4.1.66.Final.jar swagger-annotations-1.6.2.jar react
or-core-3.4.8.jar spring-jdbc-5.3.9.jar log4j-api-2.14.1.jar aspectjr
t-1.9.7.jar httpclient-4.5.13.jar spring-boot-starter-aop-2.5.3.jar s
pring-jcl-5.3.9.jar feign-slf4j-10.12.jar spring-boot-2.5.3.jar swagg
er-models-1.6.2.jar springfox-swagger2-3.0.0.jar hibernate-validator-
6.2.0.Final.jar netty-resolver-4.1.66.Final.jar spring-cloud-alibaba-
commons-2021.1.jar mybatis-3.5.7.jar curvesapi-1.06.jar protobuf-java
-3.7.1.jar springfox-schema-3.0.0.jar sentinel-spring-webflux-adapter
-1.8.0.jar seata-all-1.3.0.jar spring-boot-starter-jdbc-2.5.3.jar sen
tinel-cluster-common-default-1.8.0.jar httpasyncclient-4.1.4.jar sent
inel-cluster-server-default-1.8.0.jar mybatis-spring-boot-autoconfigu
re-2.2.0.jar caffeine-2.9.2.jar classgraph-4.8.83.jar sentinel-transp
ort-common-1.8.0.jar commons-collections4-4.4.jar spring-data-keyvalu
e-2.5.3.jar springfox-swagger-ui-3.0.0.jar spring-cloud-alibaba-senti
nel-datasource-2021.1.jar commons-pool-1.6.jar aspectjweaver-1.9.7.ja
r reactive-streams-1.0.3.jar commons-pool2-2.10.0.jar
Main-Class: com.ruoyi.system.RuoYiSystemApplication

@ -1,10 +0,0 @@
Spring Boot Version: ${spring-boot.version}
Spring Application Name: ${spring.application.name}
_ _
(_) | |
_ __ _ _ ___ _ _ _ ______ ___ _ _ ___ | |_ ___ _ __ ___
| '__|| | | | / _ \ | | | || ||______|/ __|| | | |/ __|| __| / _ \| '_ ` _ \
| | | |_| || (_) || |_| || | \__ \| |_| |\__ \| |_ | __/| | | | | |
|_| \__,_| \___/ \__, ||_| |___/ \__, ||___/ \__| \___||_| |_| |_|
__/ | __/ |
|___/ |___/

@ -1,35 +0,0 @@
# Tomcat
server:
port: 9205
# Spring
spring:
application:
# 应用名称
name: ruoyi-magic-api
profiles:
# 环境配置
active: dev
cloud:
nacos:
discovery:
# 服务注册地址
server-addr: kubernetes.docker.internal:8848
config:
# 配置中心地址
server-addr: kubernetes.docker.internal:8848
# 配置文件格式
file-extension: yml
# 共享配置
shared-configs:
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
magic-api:
web: /magic/web
resource:
type: database # 配置接口存储方式,这里选择存在数据库中
table-name: magic_api_file # 数据库中的表名
datasource: master
#prefix: /magic-api # 前缀
# location: classpath:magic-api
# 其它配置请参考 https://ssssssss.org/config/

@ -1,74 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 日志存放路径 -->
<property name="log.path" value="logs/ruoyi-magin-api" />
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.ruoyi" level="info" />
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn" />
<root level="info">
<appender-ref ref="console" />
</root>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info" />
<appender-ref ref="file_error" />
</root>
</configuration>

@ -1,100 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-modules</artifactId> <artifactId>lynn-modules</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-modules-system</artifactId> <artifactId>lynn-modules-system</artifactId>
<description> <description>
ruoyi-modules-system系统模块 lynn-modules-system系统模块
</description> </description>
<dependencies> <dependencies>
<!-- SpringCloud Alibaba Nacos --> <!-- SpringCloud Alibaba Nacos -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency> </dependency>
<!-- SpringCloud Alibaba Nacos Config --> <!-- SpringCloud Alibaba Nacos Config -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency> </dependency>
<!-- SpringCloud Alibaba Sentinel --> <!-- SpringCloud Alibaba Sentinel -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency> </dependency>
<!-- SpringBoot Actuator --> <!-- SpringBoot Actuator -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId> <artifactId>spring-boot-starter-actuator</artifactId>
</dependency> </dependency>
<!-- Swagger UI --> <!-- Swagger UI -->
<dependency> <dependency>
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId> <artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.fox.version}</version> <version>${swagger.fox.version}</version>
</dependency> </dependency>
<!-- Mysql Connector --> <!-- Mysql Connector -->
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-java</artifactId>
</dependency> </dependency>
<!-- RuoYi Common DataSource --> <!-- RuoYi Common DataSource -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-datasource</artifactId> <artifactId>lynn-common-datasource</artifactId>
</dependency> </dependency>
<!-- RuoYi Common DataScope --> <!-- RuoYi Common DataScope -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-datascope</artifactId> <artifactId>lynn-common-datascope</artifactId>
</dependency> </dependency>
<!-- RuoYi Common Log --> <!-- RuoYi Common Log -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-log</artifactId> <artifactId>lynn-common-log</artifactId>
</dependency> </dependency>
<!-- RuoYi Common Swagger --> <!-- RuoYi Common Swagger -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-common-swagger</artifactId> <artifactId>lynn-common-swagger</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<finalName>${project.artifactId}</finalName> <finalName>${project.artifactId}</finalName>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<executions> <executions>
<execution> <execution>
<goals> <goals>
<goal>repackage</goal> <goal>repackage</goal>
</goals> </goals>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
</project> </project>

@ -6,7 +6,7 @@ server:
spring: spring:
application: application:
# 应用名称 # 应用名称
name: ruoyi-system name: lynn-system
profiles: profiles:
# 环境配置 # 环境配置
active: dev active: dev
@ -14,10 +14,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: kubernetes.docker.internal:8848 server-addr: lynn.server.local:8848
config: config:
# 配置中心地址 # 配置中心地址
server-addr: kubernetes.docker.internal:8848 server-addr: lynn.server.local:8848
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

@ -1,11 +1,11 @@
# 页面标题 # 页面标题
VUE_APP_TITLE = 若依管理系统 VUE_APP_TITLE = 林恩低代码平台
# 开发环境配置 # 开发环境配置
ENV = 'development' ENV = 'development'
# 若依管理系统/开发环境 # 林恩低代码平台/开发环境
VUE_APP_BASE_API = '/dev-api' VUE_APP_BASE_API = '/dev-api'
# 路由懒加载 # 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true VUE_CLI_BABEL_TRANSPILE_MODULES = true

@ -1,8 +1,8 @@
# 页面标题 # 页面标题
VUE_APP_TITLE = 若依管理系统 VUE_APP_TITLE = 林恩低代码平台
# 生产环境配置 # 生产环境配置
ENV = 'production' ENV = 'production'
# 若依管理系统/生产环境 # 林恩低代码平台/生产环境
VUE_APP_BASE_API = '/prod-api' VUE_APP_BASE_API = '/prod-api'

@ -1,10 +1,10 @@
# 页面标题 # 页面标题
VUE_APP_TITLE = 若依管理系统 VUE_APP_TITLE = 林恩低代码平台
NODE_ENV = production NODE_ENV = production
# 测试环境配置 # 测试环境配置
ENV = 'staging' ENV = 'staging'
# 若依管理系统/测试环境 # 林恩低代码平台/测试环境
VUE_APP_BASE_API = '/stage-api' VUE_APP_BASE_API = '/stage-api'

@ -1,88 +1,88 @@
{ {
"name": "ruoyi", "name": "lynn",
"version": "3.1.0", "version": "3.1.0",
"description": "若依管理系统", "description": "林恩低代码开发平台",
"author": "若依", "author": "林恩",
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"dev": "vue-cli-service serve", "dev": "vue-cli-service serve",
"build:prod": "vue-cli-service build", "build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging", "build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview", "preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src" "lint": "eslint --ext .js,.vue src"
}, },
"husky": { "husky": {
"hooks": { "hooks": {
"pre-commit": "lint-staged" "pre-commit": "lint-staged"
} }
}, },
"lint-staged": { "lint-staged": {
"src/**/*.{js,vue}": [ "src/**/*.{js,vue}": [
"eslint --fix", "eslint --fix",
"git add" "git add"
] ]
}, },
"keywords": [ "keywords": [
"vue", "vue",
"admin", "admin",
"dashboard", "dashboard",
"element-ui", "element-ui",
"boilerplate", "boilerplate",
"admin-template", "admin-template",
"management-system" "management-system"
], ],
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://gitee.com/y_project/RuoYi-Cloud.git" "url": "https://gitee.com/y_project/RuoYi-Cloud.git"
}, },
"dependencies": { "dependencies": {
"@riophae/vue-treeselect": "0.4.0", "@riophae/vue-treeselect": "0.4.0",
"axios": "0.21.0", "axios": "0.21.0",
"clipboard": "2.0.6", "clipboard": "2.0.6",
"core-js": "3.8.1", "core-js": "3.8.1",
"echarts": "4.9.0", "echarts": "4.9.0",
"element-ui": "2.15.5", "element-ui": "2.15.5",
"file-saver": "2.0.4", "file-saver": "2.0.4",
"fuse.js": "6.4.3", "fuse.js": "6.4.3",
"highlight.js": "9.18.5", "highlight.js": "9.18.5",
"js-beautify": "1.13.0", "js-beautify": "1.13.0",
"js-cookie": "2.2.1", "js-cookie": "2.2.1",
"jsencrypt": "3.0.0-rc.1", "jsencrypt": "3.0.0-rc.1",
"nprogress": "0.2.0", "nprogress": "0.2.0",
"quill": "1.3.7", "quill": "1.3.7",
"screenfull": "5.0.2", "screenfull": "5.0.2",
"sortablejs": "1.10.2", "sortablejs": "1.10.2",
"vue": "2.6.12", "vue": "2.6.12",
"vue-count-to": "1.0.13", "vue-count-to": "1.0.13",
"vue-cropper": "0.5.5", "vue-cropper": "0.5.5",
"vue-router": "3.4.9", "vue-router": "3.4.9",
"vue-meta": "^2.4.0", "vue-meta": "^2.4.0",
"vuedraggable": "2.24.3", "vuedraggable": "2.24.3",
"vuex": "3.6.0" "vuex": "3.6.0"
}, },
"devDependencies": { "devDependencies": {
"@vue/cli-plugin-babel": "4.4.6", "@vue/cli-plugin-babel": "4.4.6",
"@vue/cli-plugin-eslint": "4.4.6", "@vue/cli-plugin-eslint": "4.4.6",
"@vue/cli-service": "4.4.6", "@vue/cli-service": "4.4.6",
"babel-eslint": "10.1.0", "babel-eslint": "10.1.0",
"chalk": "4.1.0", "chalk": "4.1.0",
"connect": "3.6.6", "connect": "3.6.6",
"eslint": "7.15.0", "eslint": "7.15.0",
"eslint-plugin-vue": "7.2.0", "eslint-plugin-vue": "7.2.0",
"lint-staged": "10.5.3", "lint-staged": "10.5.3",
"runjs": "4.4.2", "runjs": "4.4.2",
"sass": "1.32.0", "sass": "1.32.0",
"sass-loader": "10.1.0", "sass-loader": "10.1.0",
"script-ext-html-webpack-plugin": "2.1.5", "script-ext-html-webpack-plugin": "2.1.5",
"svg-sprite-loader": "5.1.1", "svg-sprite-loader": "5.1.1",
"vue-template-compiler": "2.6.12" "vue-template-compiler": "2.6.12"
}, },
"engines": { "engines": {
"node": ">=8.9", "node": ">=8.9",
"npm": ">= 3.0.0" "npm": ">= 3.0.0"
}, },
"browserslist": [ "browserslist": [
"> 1%", "> 1%",
"last 2 versions" "last 2 versions"
] ]
} }

@ -1,93 +1,128 @@
<template> <template>
<div class="sidebar-logo-container" :class="{'collapse':collapse}" :style="{ backgroundColor: sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground }"> <div
<transition name="sidebarLogoFade"> class="sidebar-logo-container"
<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/"> :class="{ collapse: collapse }"
<img v-if="logo" :src="logo" class="sidebar-logo" /> :style="{
<h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1> backgroundColor:
</router-link> sideTheme === 'theme-dark'
<router-link v-else key="expand" class="sidebar-logo-link" to="/"> ? variables.menuBackground
<img v-if="logo" :src="logo" class="sidebar-logo" /> : variables.menuLightBackground,
<h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1> }"
</router-link> >
</transition> <transition name="sidebarLogoFade">
</div> <router-link
</template> v-if="collapse"
key="collapse"
<script> class="sidebar-logo-link"
import logoImg from '@/assets/logo/logo.png' to="/"
import variables from '@/assets/styles/variables.scss' >
<img v-if="logo" :src="logo" class="sidebar-logo" />
export default { <h1
name: 'SidebarLogo', v-else
props: { class="sidebar-title"
collapse: { :style="{
type: Boolean, color:
required: true sideTheme === 'theme-dark'
} ? variables.logoTitleColor
}, : variables.logoLightTitleColor,
computed: { }"
variables() { >
return variables; {{ title }}
}, </h1>
sideTheme() { </router-link>
return this.$store.state.settings.sideTheme <router-link v-else key="expand" class="sidebar-logo-link" to="/">
} <img v-if="logo" :src="logo" class="sidebar-logo" />
}, <h1
data() { class="sidebar-title"
return { :style="{
title: '若依管理系统', color:
logo: logoImg sideTheme === 'theme-dark'
} ? variables.logoTitleColor
} : variables.logoLightTitleColor,
} }"
</script> >
{{ title }}
<style lang="scss" scoped> </h1>
.sidebarLogoFade-enter-active { </router-link>
transition: opacity 1.5s; </transition>
} </div>
</template>
.sidebarLogoFade-enter,
.sidebarLogoFade-leave-to { <script>
opacity: 0; import logoImg from "@/assets/logo/logo.png";
} import variables from "@/assets/styles/variables.scss";
.sidebar-logo-container { export default {
position: relative; name: "SidebarLogo",
width: 100%; props: {
height: 50px; collapse: {
line-height: 50px; type: Boolean,
background: #2b2f3a; required: true,
text-align: center; },
overflow: hidden; },
computed: {
& .sidebar-logo-link { variables() {
height: 100%; return variables;
width: 100%; },
sideTheme() {
& .sidebar-logo { return this.$store.state.settings.sideTheme;
width: 32px; },
height: 32px; },
vertical-align: middle; data() {
margin-right: 12px; return {
} title: "林恩低代码平台",
logo: logoImg,
& .sidebar-title { };
display: inline-block; },
margin: 0; };
color: #fff; </script>
font-weight: 600;
line-height: 50px; <style lang="scss" scoped>
font-size: 14px; .sidebarLogoFade-enter-active {
font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif; transition: opacity 1.5s;
vertical-align: middle; }
}
} .sidebarLogoFade-enter,
.sidebarLogoFade-leave-to {
&.collapse { opacity: 0;
.sidebar-logo { }
margin-right: 0px;
} .sidebar-logo-container {
} position: relative;
} width: 100%;
</style> height: 50px;
line-height: 50px;
background: #2b2f3a;
text-align: center;
overflow: hidden;
& .sidebar-logo-link {
height: 100%;
width: 100%;
& .sidebar-logo {
width: 32px;
height: 32px;
vertical-align: middle;
margin-right: 12px;
}
& .sidebar-title {
display: inline-block;
margin: 0;
color: #fff;
font-weight: 600;
line-height: 50px;
font-size: 14px;
font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
vertical-align: middle;
}
}
&.collapse {
.sidebar-logo {
margin-right: 0px;
}
}
}
</style>

File diff suppressed because it is too large Load Diff

@ -1,215 +1,252 @@
<template> <template>
<div class="login"> <div class="login">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form"> <el-form
<h3 class="title">若依后台管理系统</h3> ref="loginForm"
<el-form-item prop="username"> :model="loginForm"
<el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="账号"> :rules="loginRules"
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" /> class="login-form"
</el-input> >
</el-form-item> <h3 class="title">林恩低代码平台</h3>
<el-form-item prop="password"> <el-form-item prop="username">
<el-input <el-input
v-model="loginForm.password" v-model="loginForm.username"
type="password" type="text"
auto-complete="off" auto-complete="off"
placeholder="密码" placeholder="账号"
@keyup.enter.native="handleLogin" >
> <svg-icon
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" /> slot="prefix"
</el-input> icon-class="user"
</el-form-item> class="el-input__icon input-icon"
<el-form-item prop="code" v-if="captchaOnOff"> />
<el-input </el-input>
v-model="loginForm.code" </el-form-item>
auto-complete="off" <el-form-item prop="password">
placeholder="验证码" <el-input
style="width: 63%" v-model="loginForm.password"
@keyup.enter.native="handleLogin" type="password"
> auto-complete="off"
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" /> placeholder="密码"
</el-input> @keyup.enter.native="handleLogin"
<div class="login-code"> >
<img :src="codeUrl" @click="getCode" class="login-code-img"/> <svg-icon
</div> slot="prefix"
</el-form-item> icon-class="password"
<el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;"></el-checkbox> class="el-input__icon input-icon"
<el-form-item style="width:100%;"> />
<el-button </el-input>
:loading="loading" </el-form-item>
size="medium" <el-form-item prop="code" v-if="captchaOnOff">
type="primary" <el-input
style="width:100%;" v-model="loginForm.code"
@click.native.prevent="handleLogin" auto-complete="off"
> placeholder="验证码"
<span v-if="!loading"> </span> style="width: 63%"
<span v-else> ...</span> @keyup.enter.native="handleLogin"
</el-button> >
<div style="float: right;" v-if="register"> <svg-icon
<router-link class="link-type" :to="'/register'">立即注册</router-link> slot="prefix"
</div> icon-class="validCode"
</el-form-item> class="el-input__icon input-icon"
</el-form> />
<!-- 底部 --> </el-input>
<div class="el-login-footer"> <div class="login-code">
<span>Copyright © 2018-2021 ruoyi.vip All Rights Reserved.</span> <img :src="codeUrl" @click="getCode" class="login-code-img" />
</div> </div>
</div> </el-form-item>
</template> <el-checkbox
v-model="loginForm.rememberMe"
<script> style="margin: 0px 0px 25px 0px"
import { getCodeImg } from "@/api/login"; >记住密码</el-checkbox
import Cookies from "js-cookie"; >
import { encrypt, decrypt } from '@/utils/jsencrypt' <el-form-item style="width: 100%">
<el-button
export default { :loading="loading"
name: "Login", size="medium"
data() { type="primary"
return { style="width: 100%"
codeUrl: "", @click.native.prevent="handleLogin"
cookiePassword: "", >
loginForm: { <span v-if="!loading"> </span>
username: "admin", <span v-else> ...</span>
password: "admin123", </el-button>
rememberMe: false, <div style="float: right" v-if="register">
code: "", <router-link class="link-type" :to="'/register'"
uuid: "" >立即注册</router-link
}, >
loginRules: { </div>
username: [ </el-form-item>
{ required: true, trigger: "blur", message: "请输入您的账号" } </el-form>
], <!-- 底部 -->
password: [ <div class="el-login-footer">
{ required: true, trigger: "blur", message: "请输入您的密码" } <span>Copyright © 2018-2021 ruoyi.vip All Rights Reserved.</span>
], </div>
code: [{ required: true, trigger: "change", message: "请输入验证码" }] </div>
}, </template>
loading: false,
// <script>
captchaOnOff: true, import { getCodeImg } from "@/api/login";
// import Cookies from "js-cookie";
register: false, import { encrypt, decrypt } from "@/utils/jsencrypt";
redirect: undefined
}; export default {
}, name: "Login",
watch: { data() {
$route: { return {
handler: function(route) { codeUrl: "",
this.redirect = route.query && route.query.redirect; cookiePassword: "",
}, loginForm: {
immediate: true username: "admin",
} password: "admin123",
}, rememberMe: false,
created() { code: "",
this.getCode(); uuid: "",
this.getCookie(); },
}, loginRules: {
methods: { username: [
getCode() { { required: true, trigger: "blur", message: "请输入您的账号" },
getCodeImg().then(res => { ],
this.captchaOnOff = res.captchaOnOff === undefined ? true : res.captchaOnOff; password: [
if (this.captchaOnOff) { { required: true, trigger: "blur", message: "请输入您的密码" },
this.codeUrl = "data:image/gif;base64," + res.img; ],
this.loginForm.uuid = res.uuid; code: [{ required: true, trigger: "change", message: "请输入验证码" }],
} },
}); loading: false,
}, //
getCookie() { captchaOnOff: true,
const username = Cookies.get("username"); //
const password = Cookies.get("password"); register: false,
const rememberMe = Cookies.get('rememberMe') redirect: undefined,
this.loginForm = { };
username: username === undefined ? this.loginForm.username : username, },
password: password === undefined ? this.loginForm.password : decrypt(password), watch: {
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe) $route: {
}; handler: function (route) {
}, this.redirect = route.query && route.query.redirect;
handleLogin() { },
this.$refs.loginForm.validate(valid => { immediate: true,
if (valid) { },
this.loading = true; },
if (this.loginForm.rememberMe) { created() {
Cookies.set("username", this.loginForm.username, { expires: 30 }); this.getCode();
Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 }); this.getCookie();
Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 }); },
} else { methods: {
Cookies.remove("username"); getCode() {
Cookies.remove("password"); getCodeImg().then((res) => {
Cookies.remove('rememberMe'); this.captchaOnOff =
} res.captchaOnOff === undefined ? true : res.captchaOnOff;
this.$store.dispatch("Login", this.loginForm).then(() => { if (this.captchaOnOff) {
this.$router.push({ path: this.redirect || "/" }).catch(()=>{}); this.codeUrl = "data:image/gif;base64," + res.img;
}).catch(() => { this.loginForm.uuid = res.uuid;
this.loading = false; }
if (this.captchaOnOff) { });
this.getCode(); },
} getCookie() {
}); const username = Cookies.get("username");
} const password = Cookies.get("password");
}); const rememberMe = Cookies.get("rememberMe");
} this.loginForm = {
} username: username === undefined ? this.loginForm.username : username,
}; password:
</script> password === undefined ? this.loginForm.password : decrypt(password),
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
<style rel="stylesheet/scss" lang="scss"> };
.login { },
display: flex; handleLogin() {
justify-content: center; this.$refs.loginForm.validate((valid) => {
align-items: center; if (valid) {
height: 100%; this.loading = true;
background-image: url("../assets/images/login-background.jpg"); if (this.loginForm.rememberMe) {
background-size: cover; Cookies.set("username", this.loginForm.username, { expires: 30 });
} Cookies.set("password", encrypt(this.loginForm.password), {
.title { expires: 30,
margin: 0px auto 30px auto; });
text-align: center; Cookies.set("rememberMe", this.loginForm.rememberMe, {
color: #707070; expires: 30,
} });
} else {
.login-form { Cookies.remove("username");
border-radius: 6px; Cookies.remove("password");
background: #ffffff; Cookies.remove("rememberMe");
width: 400px; }
padding: 25px 25px 5px 25px; this.$store
.el-input { .dispatch("Login", this.loginForm)
height: 38px; .then(() => {
input { this.$router.push({ path: this.redirect || "/" }).catch(() => {});
height: 38px; })
} .catch(() => {
} this.loading = false;
.input-icon { if (this.captchaOnOff) {
height: 39px; this.getCode();
width: 14px; }
margin-left: 2px; });
} }
} });
.login-tip { },
font-size: 13px; },
text-align: center; };
color: #bfbfbf; </script>
}
.login-code { <style rel="stylesheet/scss" lang="scss">
width: 33%; .login {
height: 38px; display: flex;
float: right; justify-content: center;
img { align-items: center;
cursor: pointer; height: 100%;
vertical-align: middle; background-image: url("../assets/images/login-background.jpg");
} background-size: cover;
} }
.el-login-footer { .title {
height: 40px; margin: 0px auto 30px auto;
line-height: 40px; text-align: center;
position: fixed; color: #707070;
bottom: 0; }
width: 100%;
text-align: center; .login-form {
color: #fff; border-radius: 6px;
font-family: Arial; background: #ffffff;
font-size: 12px; width: 400px;
letter-spacing: 1px; padding: 25px 25px 5px 25px;
} .el-input {
.login-code-img { height: 38px;
height: 38px; input {
} height: 38px;
</style> }
}
.input-icon {
height: 39px;
width: 14px;
margin-left: 2px;
}
}
.login-tip {
font-size: 13px;
text-align: center;
color: #bfbfbf;
}
.login-code {
width: 33%;
height: 38px;
float: right;
img {
cursor: pointer;
vertical-align: middle;
}
}
.el-login-footer {
height: 40px;
line-height: 40px;
position: fixed;
bottom: 0;
width: 100%;
text-align: center;
color: #fff;
font-family: Arial;
font-size: 12px;
letter-spacing: 1px;
}
.login-code-img {
height: 38px;
}
</style>

@ -1,208 +1,257 @@
<template> <template>
<div class="register"> <div class="register">
<el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form"> <el-form
<h3 class="title">若依后台管理系统</h3> ref="registerForm"
<el-form-item prop="username"> :model="registerForm"
<el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号"> :rules="registerRules"
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" /> class="register-form"
</el-input> >
</el-form-item> <h3 class="title">林恩低代码平台</h3>
<el-form-item prop="password"> <el-form-item prop="username">
<el-input <el-input
v-model="registerForm.password" v-model="registerForm.username"
type="password" type="text"
auto-complete="off" auto-complete="off"
placeholder="密码" placeholder="账号"
@keyup.enter.native="handleRegister" >
> <svg-icon
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" /> slot="prefix"
</el-input> icon-class="user"
</el-form-item> class="el-input__icon input-icon"
<el-form-item prop="confirmPassword"> />
<el-input </el-input>
v-model="registerForm.confirmPassword" </el-form-item>
type="password" <el-form-item prop="password">
auto-complete="off" <el-input
placeholder="确认密码" v-model="registerForm.password"
@keyup.enter.native="handleRegister" type="password"
> auto-complete="off"
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" /> placeholder="密码"
</el-input> @keyup.enter.native="handleRegister"
</el-form-item> >
<el-form-item prop="code" v-if="captchaOnOff"> <svg-icon
<el-input slot="prefix"
v-model="registerForm.code" icon-class="password"
auto-complete="off" class="el-input__icon input-icon"
placeholder="验证码" />
style="width: 63%" </el-input>
@keyup.enter.native="handleRegister" </el-form-item>
> <el-form-item prop="confirmPassword">
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" /> <el-input
</el-input> v-model="registerForm.confirmPassword"
<div class="register-code"> type="password"
<img :src="codeUrl" @click="getCode" class="register-code-img"/> auto-complete="off"
</div> placeholder="确认密码"
</el-form-item> @keyup.enter.native="handleRegister"
<el-form-item style="width:100%;"> >
<el-button <svg-icon
:loading="loading" slot="prefix"
size="medium" icon-class="password"
type="primary" class="el-input__icon input-icon"
style="width:100%;" />
@click.native.prevent="handleRegister" </el-input>
> </el-form-item>
<span v-if="!loading"> </span> <el-form-item prop="code" v-if="captchaOnOff">
<span v-else> ...</span> <el-input
</el-button> v-model="registerForm.code"
<div style="float: right;"> auto-complete="off"
<router-link class="link-type" :to="'/login'">使用已有账户登录</router-link> placeholder="验证码"
</div> style="width: 63%"
</el-form-item> @keyup.enter.native="handleRegister"
</el-form> >
<!-- 底部 --> <svg-icon
<div class="el-register-footer"> slot="prefix"
<span>Copyright © 2018-2021 ruoyi.vip All Rights Reserved.</span> icon-class="validCode"
</div> class="el-input__icon input-icon"
</div> />
</template> </el-input>
<div class="register-code">
<script> <img :src="codeUrl" @click="getCode" class="register-code-img" />
import { getCodeImg, register } from "@/api/login"; </div>
</el-form-item>
export default { <el-form-item style="width: 100%">
name: "Register", <el-button
data() { :loading="loading"
const equalToPassword = (rule, value, callback) => { size="medium"
if (this.registerForm.password !== value) { type="primary"
callback(new Error("两次输入的密码不一致")); style="width: 100%"
} else { @click.native.prevent="handleRegister"
callback(); >
} <span v-if="!loading"> </span>
}; <span v-else> ...</span>
return { </el-button>
codeUrl: "", <div style="float: right">
registerForm: { <router-link class="link-type" :to="'/login'"
username: "", >使用已有账户登录</router-link
password: "", >
confirmPassword: "", </div>
code: "", </el-form-item>
uuid: "" </el-form>
}, <!-- 底部 -->
registerRules: { <div class="el-register-footer">
username: [ <span>Copyright © 2018-2021 ruoyi.vip All Rights Reserved.</span>
{ required: true, trigger: "blur", message: "请输入您的账号" }, </div>
{ min: 2, max: 20, message: '用户账号长度必须介于 2 和 20 之间', trigger: 'blur' } </div>
], </template>
password: [
{ required: true, trigger: "blur", message: "请输入您的密码" }, <script>
{ min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' } import { getCodeImg, register } from "@/api/login";
],
confirmPassword: [ export default {
{ required: true, trigger: "blur", message: "请再次输入您的密码" }, name: "Register",
{ required: true, validator: equalToPassword, trigger: "blur" } data() {
], const equalToPassword = (rule, value, callback) => {
code: [{ required: true, trigger: "change", message: "请输入验证码" }] if (this.registerForm.password !== value) {
}, callback(new Error("两次输入的密码不一致"));
loading: false, } else {
captchaOnOff: true callback();
}; }
}, };
created() { return {
this.getCode(); codeUrl: "",
}, registerForm: {
methods: { username: "",
getCode() { password: "",
getCodeImg().then(res => { confirmPassword: "",
this.captchaOnOff = res.captchaOnOff === undefined ? true : res.captchaOnOff; code: "",
if (this.captchaOnOff) { uuid: "",
this.codeUrl = "data:image/gif;base64," + res.img; },
this.registerForm.uuid = res.uuid; registerRules: {
} username: [
}); { required: true, trigger: "blur", message: "请输入您的账号" },
}, {
handleRegister() { min: 2,
this.$refs.registerForm.validate(valid => { max: 20,
if (valid) { message: "用户账号长度必须介于 2 和 20 之间",
this.loading = true; trigger: "blur",
register(this.registerForm).then(res => { },
const username = this.registerForm.username; ],
this.$alert("<font color='red'>恭喜你,您的账号 " + username + " 注册成功!</font>", '系统提示', { password: [
dangerouslyUseHTMLString: true { required: true, trigger: "blur", message: "请输入您的密码" },
}).then(() => { {
this.$router.push("/login"); min: 5,
}).catch(() => {}); max: 20,
}).catch(() => { message: "用户密码长度必须介于 5 和 20 之间",
this.loading = false; trigger: "blur",
if (this.captchaOnOff) { },
this.getCode(); ],
} confirmPassword: [
}) { required: true, trigger: "blur", message: "请再次输入您的密码" },
} { required: true, validator: equalToPassword, trigger: "blur" },
}); ],
} code: [{ required: true, trigger: "change", message: "请输入验证码" }],
} },
}; loading: false,
</script> captchaOnOff: true,
};
<style rel="stylesheet/scss" lang="scss"> },
.register { created() {
display: flex; this.getCode();
justify-content: center; },
align-items: center; methods: {
height: 100%; getCode() {
background-image: url("../assets/images/login-background.jpg"); getCodeImg().then((res) => {
background-size: cover; this.captchaOnOff =
} res.captchaOnOff === undefined ? true : res.captchaOnOff;
.title { if (this.captchaOnOff) {
margin: 0px auto 30px auto; this.codeUrl = "data:image/gif;base64," + res.img;
text-align: center; this.registerForm.uuid = res.uuid;
color: #707070; }
} });
},
.register-form { handleRegister() {
border-radius: 6px; this.$refs.registerForm.validate((valid) => {
background: #ffffff; if (valid) {
width: 400px; this.loading = true;
padding: 25px 25px 5px 25px; register(this.registerForm)
.el-input { .then((res) => {
height: 38px; const username = this.registerForm.username;
input { this.$alert(
height: 38px; "<font color='red'>恭喜你,您的账号 " +
} username +
} " 注册成功!</font>",
.input-icon { "系统提示",
height: 39px; {
width: 14px; dangerouslyUseHTMLString: true,
margin-left: 2px; }
} )
} .then(() => {
.register-tip { this.$router.push("/login");
font-size: 13px; })
text-align: center; .catch(() => {});
color: #bfbfbf; })
} .catch(() => {
.register-code { this.loading = false;
width: 33%; if (this.captchaOnOff) {
height: 38px; this.getCode();
float: right; }
img { });
cursor: pointer; }
vertical-align: middle; });
} },
} },
.el-register-footer { };
height: 40px; </script>
line-height: 40px;
position: fixed; <style rel="stylesheet/scss" lang="scss">
bottom: 0; .register {
width: 100%; display: flex;
text-align: center; justify-content: center;
color: #fff; align-items: center;
font-family: Arial; height: 100%;
font-size: 12px; background-image: url("../assets/images/login-background.jpg");
letter-spacing: 1px; background-size: cover;
} }
.register-code-img { .title {
height: 38px; margin: 0px auto 30px auto;
} text-align: center;
</style> color: #707070;
}
.register-form {
border-radius: 6px;
background: #ffffff;
width: 400px;
padding: 25px 25px 5px 25px;
.el-input {
height: 38px;
input {
height: 38px;
}
}
.input-icon {
height: 39px;
width: 14px;
margin-left: 2px;
}
}
.register-tip {
font-size: 13px;
text-align: center;
color: #bfbfbf;
}
.register-code {
width: 33%;
height: 38px;
float: right;
img {
cursor: pointer;
vertical-align: middle;
}
}
.el-register-footer {
height: 40px;
line-height: 40px;
position: fixed;
bottom: 0;
width: 100%;
text-align: center;
color: #fff;
font-family: Arial;
font-size: 12px;
letter-spacing: 1px;
}
.register-code-img {
height: 38px;
}
</style>

@ -1,117 +1,117 @@
'use strict' 'use strict'
const path = require('path') const path = require('path')
function resolve(dir) { function resolve(dir) {
return path.join(__dirname, dir) return path.join(__dirname, dir)
} }
const name = process.env.VUE_APP_TITLE || '若依管理系统' // 网页标题 const name = process.env.VUE_APP_TITLE || '林恩低代码平台' // 网页标题
const port = process.env.port || process.env.npm_config_port || 80 // 端口 const port = process.env.port || process.env.npm_config_port || 80 // 端口
// vue.config.js 配置说明 // vue.config.js 配置说明
//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
// 这里只列一部分,具体配置参考文档 // 这里只列一部分,具体配置参考文档
module.exports = { module.exports = {
// 部署生产环境和开发环境下的URL。 // 部署生产环境和开发环境下的URL。
// 默认情况下Vue CLI 会假设你的应用是被部署在一个域名的根路径上 // 默认情况下Vue CLI 会假设你的应用是被部署在一个域名的根路径上
// 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。 // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
publicPath: process.env.NODE_ENV === "production" ? "/" : "/", publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
// 在npm run build 或 yarn build 时 生成文件的目录名称要和baseUrl的生产环境路径一致默认dist // 在npm run build 或 yarn build 时 生成文件的目录名称要和baseUrl的生产环境路径一致默认dist
outputDir: 'dist', outputDir: 'dist',
// 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下) // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
assetsDir: 'static', assetsDir: 'static',
// 是否开启eslint保存检测有效值ture | false | 'error' // 是否开启eslint保存检测有效值ture | false | 'error'
lintOnSave: process.env.NODE_ENV === 'development', lintOnSave: process.env.NODE_ENV === 'development',
// 如果你不需要生产环境的 source map可以将其设置为 false 以加速生产环境构建。 // 如果你不需要生产环境的 source map可以将其设置为 false 以加速生产环境构建。
productionSourceMap: false, productionSourceMap: false,
// webpack-dev-server 相关配置 // webpack-dev-server 相关配置
devServer: { devServer: {
host: '0.0.0.0', host: '0.0.0.0',
port: port, port: port,
open: true, open: true,
proxy: { proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy // detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: { [process.env.VUE_APP_BASE_API]: {
target: `http://localhost:8080`, target: `http://localhost:8080`,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: '' ['^' + process.env.VUE_APP_BASE_API]: ''
} }
} }
}, },
disableHostCheck: true disableHostCheck: true
}, },
configureWebpack: { configureWebpack: {
name: name, name: name,
resolve: { resolve: {
alias: { alias: {
'@': resolve('src') '@': resolve('src')
} }
} }
}, },
chainWebpack(config) { chainWebpack(config) {
config.plugins.delete('preload') // TODO: need test config.plugins.delete('preload') // TODO: need test
config.plugins.delete('prefetch') // TODO: need test config.plugins.delete('prefetch') // TODO: need test
// set svg-sprite-loader // set svg-sprite-loader
config.module config.module
.rule('svg') .rule('svg')
.exclude.add(resolve('src/assets/icons')) .exclude.add(resolve('src/assets/icons'))
.end() .end()
config.module config.module
.rule('icons') .rule('icons')
.test(/\.svg$/) .test(/\.svg$/)
.include.add(resolve('src/assets/icons')) .include.add(resolve('src/assets/icons'))
.end() .end()
.use('svg-sprite-loader') .use('svg-sprite-loader')
.loader('svg-sprite-loader') .loader('svg-sprite-loader')
.options({ .options({
symbolId: 'icon-[name]' symbolId: 'icon-[name]'
}) })
.end() .end()
config config
.when(process.env.NODE_ENV !== 'development', .when(process.env.NODE_ENV !== 'development',
config => { config => {
config config
.plugin('ScriptExtHtmlWebpackPlugin') .plugin('ScriptExtHtmlWebpackPlugin')
.after('html') .after('html')
.use('script-ext-html-webpack-plugin', [{ .use('script-ext-html-webpack-plugin', [{
// `runtime` must same as runtimeChunk name. default is `runtime` // `runtime` must same as runtimeChunk name. default is `runtime`
inline: /runtime\..*\.js$/ inline: /runtime\..*\.js$/
}]) }])
.end() .end()
config config
.optimization.splitChunks({ .optimization.splitChunks({
chunks: 'all', chunks: 'all',
cacheGroups: { cacheGroups: {
libs: { libs: {
name: 'chunk-libs', name: 'chunk-libs',
test: /[\\/]node_modules[\\/]/, test: /[\\/]node_modules[\\/]/,
priority: 10, priority: 10,
chunks: 'initial' // only package third parties that are initially dependent chunks: 'initial' // only package third parties that are initially dependent
}, },
elementUI: { elementUI: {
name: 'chunk-elementUI', // split elementUI into a single package name: 'chunk-elementUI', // split elementUI into a single package
priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
}, },
commons: { commons: {
name: 'chunk-commons', name: 'chunk-commons',
test: resolve('src/components'), // can customize your rules test: resolve('src/components'), // can customize your rules
minChunks: 3, // minimum common number minChunks: 3, // minimum common number
priority: 5, priority: 5,
reuseExistingChunk: true reuseExistingChunk: true
} }
} }
}) })
config.optimization.runtimeChunk('single'), config.optimization.runtimeChunk('single'),
{ {
from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件 from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件
to: './', //到根目录下 to: './', //到根目录下
} }
} }
) )
} }
} }

@ -1,22 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi</artifactId> <artifactId>lynn</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<modules> <modules>
<module>ruoyi-monitor</module> <module>ruoyi-monitor</module>
</modules> </modules>
<artifactId>ruoyi-visual</artifactId> <artifactId>lynn-visual</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<description> <description>
ruoyi-visual图形化管理模块 ruoyi-visual图形化管理模块
</description> </description>
</project> </project>

@ -1,75 +1,75 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>cn.lynntech</groupId>
<artifactId>ruoyi-visual</artifactId> <artifactId>lynn-visual</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-visual-monitor</artifactId> <artifactId>lynn-visual-monitor</artifactId>
<description> <description>
ruoyi-visual-monitor监控中心 ruoyi-visual-monitor监控中心
</description> </description>
<dependencies> <dependencies>
<!-- SpringBoot Admin --> <!-- SpringBoot Admin -->
<dependency> <dependency>
<groupId>de.codecentric</groupId> <groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId> <artifactId>spring-boot-admin-starter-server</artifactId>
<version>${spring-boot-admin.version}</version> <version>${spring-boot-admin.version}</version>
</dependency> </dependency>
<!-- SpringCloud Alibaba Nacos --> <!-- SpringCloud Alibaba Nacos -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency> </dependency>
<!-- SpringCloud Alibaba Nacos Config --> <!-- SpringCloud Alibaba Nacos Config -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency> </dependency>
<!-- SpringCloud Alibaba Sentinel --> <!-- SpringCloud Alibaba Sentinel -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency> </dependency>
<!-- SpringBoot Web --> <!-- SpringBoot Web -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>
</dependency> </dependency>
<!-- Spring Security --> <!-- Spring Security -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId> <artifactId>spring-boot-starter-security</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<finalName>${project.artifactId}</finalName> <finalName>${project.artifactId}</finalName>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<executions> <executions>
<execution> <execution>
<goals> <goals>
<goal>repackage</goal> <goal>repackage</goal>
</goals> </goals>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
</project> </project>

@ -6,7 +6,7 @@ server:
spring: spring:
application: application:
# 应用名称 # 应用名称
name: ruoyi-monitor name: lynn-monitor
profiles: profiles:
# 环境配置 # 环境配置
active: dev active: dev
@ -14,10 +14,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: ruoyi-nacos:8848 server-addr: lynn-nacos:8848
config: config:
# 配置中心地址 # 配置中心地址
server-addr: ruoyi-nacos:8848 server-addr: lynn-nacos:8848
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

@ -0,0 +1,35 @@
/*
Navicat Premium Data Transfer
Source Server : local-mysql
Source Server Type : MySQL
Source Server Version : 80023
Source Host : 127.0.0.1:3306
Source Schema : wanfeng
Target Server Type : MySQL
Target Server Version : 80023
File Encoding : 65001
Date: 04/09/2021 00:07:12
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for magic_api_backup
-- ----------------------------
DROP TABLE IF EXISTS `magic_api_backup`;
CREATE TABLE `magic_api_backup` (
`id` varchar(32) NOT NULL COMMENT '原对象ID',
`create_date` bigint NOT NULL COMMENT '备份时间',
`tag` varchar(32) DEFAULT NULL COMMENT '标签',
`type` varchar(32) DEFAULT NULL COMMENT '类型',
`name` varchar(64) DEFAULT NULL COMMENT '原名称',
`content` mediumtext COMMENT '备份内容',
`create_by` varchar(64) DEFAULT NULL COMMENT '操作人',
PRIMARY KEY (`id`,`create_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
SET FOREIGN_KEY_CHECKS = 1;

@ -0,0 +1,30 @@
/*
Navicat Premium Data Transfer
Source Server : local-mysql
Source Server Type : MySQL
Source Server Version : 80023
Source Host : 127.0.0.1:3306
Source Schema : wanfeng
Target Server Type : MySQL
Target Server Version : 80023
File Encoding : 65001
Date: 04/09/2021 00:07:03
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for magic_api_file
-- ----------------------------
DROP TABLE IF EXISTS `magic_api_file`;
CREATE TABLE `magic_api_file` (
`file_path` varchar(512) NOT NULL,
`file_content` mediumtext,
PRIMARY KEY (`file_path`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
SET FOREIGN_KEY_CHECKS = 1;

@ -33,14 +33,14 @@ CREATE TABLE `config_info` (
insert into config_info(id, data_id, group_id, content, md5, gmt_create, gmt_modified, src_user, src_ip, app_name, tenant_id, c_desc, c_use, effect, type, c_schema) values insert into config_info(id, data_id, group_id, content, md5, gmt_create, gmt_modified, src_user, src_ip, app_name, tenant_id, c_desc, c_use, effect, type, c_schema) values
(1,'application-dev.yml','DEFAULT_GROUP','spring:\n main:\n allow-bean-definition-overriding: true\n autoconfigure:\n exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure\n\n#请求处理的超时时间\nribbon:\n ReadTimeout: 10000\n ConnectTimeout: 10000\n\n# feign 配置\nfeign:\n sentinel:\n enabled: true\n okhttp:\n enabled: true\n httpclient:\n enabled: false\n client:\n config:\n default:\n connectTimeout: 10000\n readTimeout: 10000\n compression:\n request:\n enabled: true\n response:\n enabled: true\n\n# 暴露监控端点\nmanagement:\n endpoints:\n web:\n exposure:\n include: \'*\'\n','c07e6f7321493f6d5390d0a08bffb75a','2019-11-29 16:31:20','2020-12-21 15:29:24',NULL,'0:0:0:0:0:0:0:1','','','通用配置','null','null','yaml','null'), (1,'application-dev.yml','DEFAULT_GROUP','spring:\n main:\n allow-bean-definition-overriding: true\n autoconfigure:\n exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure\n\n#请求处理的超时时间\nribbon:\n ReadTimeout: 10000\n ConnectTimeout: 10000\n\n# feign 配置\nfeign:\n sentinel:\n enabled: true\n okhttp:\n enabled: true\n httpclient:\n enabled: false\n client:\n config:\n default:\n connectTimeout: 10000\n readTimeout: 10000\n compression:\n request:\n enabled: true\n response:\n enabled: true\n\n# 暴露监控端点\nmanagement:\n endpoints:\n web:\n exposure:\n include: \'*\'\n','c07e6f7321493f6d5390d0a08bffb75a','2019-11-29 16:31:20','2020-12-21 15:29:24',NULL,'0:0:0:0:0:0:0:1','','','通用配置','null','null','yaml','null'),
(2,'ruoyi-gateway-dev.yml','DEFAULT_GROUP','spring:\n redis:\n host: localhost\n port: 6379\n password: \n cloud:\n gateway:\n discovery:\n locator:\n lowerCaseServiceId: true\n enabled: true\n routes:\n # 认证中心\n - id: ruoyi-auth\n uri: lb://ruoyi-auth\n predicates:\n - Path=/auth/**\n filters:\n # 验证码处理\n - CacheRequestFilter\n - ValidateCodeFilter\n - StripPrefix=1\n # 代码生成\n - id: ruoyi-gen\n uri: lb://ruoyi-gen\n predicates:\n - Path=/code/**\n filters:\n - StripPrefix=1\n # 定时任务\n - id: ruoyi-job\n uri: lb://ruoyi-job\n predicates:\n - Path=/schedule/**\n filters:\n - StripPrefix=1\n # 系统模块\n - id: ruoyi-system\n uri: lb://ruoyi-system\n predicates:\n - Path=/system/**\n filters:\n - StripPrefix=1\n # 文件服务\n - id: ruoyi-file\n uri: lb://ruoyi-file\n predicates:\n - Path=/file/**\n filters:\n - StripPrefix=1\n\n# 安全配置\nsecurity:\n # 验证码\n captcha:\n enabled: true\n type: math\n # 防止XSS攻击\n xss:\n enabled: true\n excludeUrls:\n - /system/notice\n # 不校验白名单\n ignore:\n whites:\n - /auth/logout\n - /auth/login\n - /auth/register\n - /*/v2/api-docs\n - /csrf\n','2f5a6b5a4ccf20b5801c5cf842456ec6','2020-05-14 14:17:55','2021-07-30 09:07:14',NULL,'0:0:0:0:0:0:0:1','','','网关模块','null','null','yaml','null'), (2,'lynn-gateway-dev.yml','DEFAULT_GROUP','spring:\n redis:\n host: localhost\n port: 6379\n password: \n cloud:\n gateway:\n discovery:\n locator:\n lowerCaseServiceId: true\n enabled: true\n routes:\n # 认证中心\n - id: lynn-auth\n uri: lb://lynn-auth\n predicates:\n - Path=/auth/**\n filters:\n # 验证码处理\n - CacheRequestFilter\n - ValidateCodeFilter\n - StripPrefix=1\n # 代码生成\n - id: lynn-gen\n uri: lb://lynn-gen\n predicates:\n - Path=/code/**\n filters:\n - StripPrefix=1\n # 定时任务\n - id: lynn-job\n uri: lb://lynn-job\n predicates:\n - Path=/schedule/**\n filters:\n - StripPrefix=1\n # 系统模块\n - id: lynn-system\n uri: lb://lynn-system\n predicates:\n - Path=/system/**\n filters:\n - StripPrefix=1\n # 文件服务\n - id: lynn-file\n uri: lb://lynn-file\n predicates:\n - Path=/file/**\n filters:\n - StripPrefix=1\n\n# 安全配置\nsecurity:\n # 验证码\n captcha:\n enabled: true\n type: math\n # 防止XSS攻击\n xss:\n enabled: true\n excludeUrls:\n - /system/notice\n # 不校验白名单\n ignore:\n whites:\n - /auth/logout\n - /auth/login\n - /auth/register\n - /*/v2/api-docs\n - /csrf\n','2f5a6b5a4ccf20b5801c5cf842456ec6','2020-05-14 14:17:55','2021-07-30 09:07:14',NULL,'0:0:0:0:0:0:0:1','','','网关模块','null','null','yaml','null'),
(3,'ruoyi-auth-dev.yml','DEFAULT_GROUP','spring: \r\n redis:\r\n host: localhost\r\n port: 6379\r\n password: \r\n','b7354e1eb62c2d846d44a796d9ec6930','2020-11-20 00:00:00','2021-02-28 21:06:58',NULL,'0:0:0:0:0:0:0:1','','','认证中心','null','null','yaml','null'), (3,'lynn-auth-dev.yml','DEFAULT_GROUP','spring: \r\n redis:\r\n host: localhost\r\n port: 6379\r\n password: \r\n','b7354e1eb62c2d846d44a796d9ec6930','2020-11-20 00:00:00','2021-02-28 21:06:58',NULL,'0:0:0:0:0:0:0:1','','','认证中心','null','null','yaml','null'),
(4,'ruoyi-monitor-dev.yml','DEFAULT_GROUP','# spring\r\nspring: \r\n security:\r\n user:\r\n name: ruoyi\r\n password: 123456\r\n boot:\r\n admin:\r\n ui:\r\n title: 若依服务状态监控\r\n','d8997d0707a2fd5d9fc4e8409da38129','2020-11-20 00:00:00','2020-12-21 16:28:07',NULL,'0:0:0:0:0:0:0:1','','','监控中心','null','null','yaml','null'), (4,'lynn-monitor-dev.yml','DEFAULT_GROUP','# spring\r\nspring: \r\n security:\r\n user:\r\n name: ruoyi\r\n password: 123456\r\n boot:\r\n admin:\r\n ui:\r\n title: 若依服务状态监控\r\n','d8997d0707a2fd5d9fc4e8409da38129','2020-11-20 00:00:00','2020-12-21 16:28:07',NULL,'0:0:0:0:0:0:0:1','','','监控中心','null','null','yaml','null'),
(5,'ruoyi-system-dev.yml','DEFAULT_GROUP','# spring配置\r\nspring: \r\n redis:\r\n host: localhost\r\n port: 6379\r\n password: \r\n datasource:\r\n druid:\r\n stat-view-servlet:\r\n enabled: true\r\n loginUsername: admin\r\n loginPassword: 123456\r\n dynamic:\r\n druid:\r\n initial-size: 5\r\n min-idle: 5\r\n maxActive: 20\r\n maxWait: 60000\r\n timeBetweenEvictionRunsMillis: 60000\r\n minEvictableIdleTimeMillis: 300000\r\n validationQuery: SELECT 1 FROM DUAL\r\n testWhileIdle: true\r\n testOnBorrow: false\r\n testOnReturn: false\r\n poolPreparedStatements: true\r\n maxPoolPreparedStatementPerConnectionSize: 20\r\n filters: stat,slf4j\r\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\r\n datasource:\r\n # 主库数据源\r\n master:\r\n driver-class-name: com.mysql.cj.jdbc.Driver\r\n url: jdbc:mysql://localhost:3306/ruoyi_cloud_db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\r\n username: root\r\n password: lynntech\r\n # 从库数据源\r\n # slave:\r\n # username: \r\n # password: \r\n # url: \r\n # driver-class-name: \r\n # seata: true # 开启seata代理开启后默认每个数据源都代理如果某个不需要代理可单独关闭\r\n\r\n# seata配置\r\nseata:\r\n # 默认关闭如需启用spring.datasource.dynami.seata需要同时开启\r\n enabled: false\r\n # Seata 应用编号,默认为 ${spring.application.name}\r\n application-id: ${spring.application.name}\r\n # Seata 事务组编号,用于 TC 集群名\r\n tx-service-group: ${spring.application.name}-group\r\n # 关闭自动代理\r\n enable-auto-data-source-proxy: false\r\n # 服务配置项\r\n service:\r\n # 虚拟组和分组的映射\r\n vgroup-mapping:\r\n ruoyi-system-group: default\r\n config:\r\n type: nacos\r\n nacos:\r\n serverAddr: 127.0.0.1:8848\r\n group: SEATA_GROUP\r\n namespace:\r\n registry:\r\n type: nacos\r\n nacos:\r\n application: seata-server\r\n server-addr: 127.0.0.1:8848\r\n namespace:\r\n\r\n# mybatis配置\r\nmybatis:\r\n # 搜索指定包别名\r\n typeAliasesPackage: com.ruoyi.system\r\n # 配置mapper的扫描找到所有的mapper.xml映射文件\r\n mapperLocations: classpath:mapper/**/*.xml\r\n\r\n# swagger配置\r\nswagger:\r\n title: 系统模块接口文档\r\n license: Powered By ruoyi\r\n licenseUrl: https://ruoyi.vip','ac8913dee679e65bb7d482df5f267d4e','2020-11-20 00:00:00','2021-01-27 10:42:25',NULL,'0:0:0:0:0:0:0:1','','','系统模块','null','null','yaml','null'), (5,'lynn-system-dev.yml','DEFAULT_GROUP','# spring配置\r\nspring: \r\n redis:\r\n host: localhost\r\n port: 6379\r\n password: \r\n datasource:\r\n druid:\r\n stat-view-servlet:\r\n enabled: true\r\n loginUsername: admin\r\n loginPassword: 123456\r\n dynamic:\r\n druid:\r\n initial-size: 5\r\n min-idle: 5\r\n maxActive: 20\r\n maxWait: 60000\r\n timeBetweenEvictionRunsMillis: 60000\r\n minEvictableIdleTimeMillis: 300000\r\n validationQuery: SELECT 1 FROM DUAL\r\n testWhileIdle: true\r\n testOnBorrow: false\r\n testOnReturn: false\r\n poolPreparedStatements: true\r\n maxPoolPreparedStatementPerConnectionSize: 20\r\n filters: stat,slf4j\r\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\r\n datasource:\r\n # 主库数据源\r\n master:\r\n driver-class-name: com.mysql.cj.jdbc.Driver\r\n url: jdbc:mysql://localhost:3306/ruoyi_cloud_db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\r\n username: root\r\n password: lynntech\r\n # 从库数据源\r\n # slave:\r\n # username: \r\n # password: \r\n # url: \r\n # driver-class-name: \r\n # seata: true # 开启seata代理开启后默认每个数据源都代理如果某个不需要代理可单独关闭\r\n\r\n# seata配置\r\nseata:\r\n # 默认关闭如需启用spring.datasource.dynami.seata需要同时开启\r\n enabled: false\r\n # Seata 应用编号,默认为 ${spring.application.name}\r\n application-id: ${spring.application.name}\r\n # Seata 事务组编号,用于 TC 集群名\r\n tx-service-group: ${spring.application.name}-group\r\n # 关闭自动代理\r\n enable-auto-data-source-proxy: false\r\n # 服务配置项\r\n service:\r\n # 虚拟组和分组的映射\r\n vgroup-mapping:\r\n lynn-system-group: default\r\n config:\r\n type: nacos\r\n nacos:\r\n serverAddr: 127.0.0.1:8848\r\n group: SEATA_GROUP\r\n namespace:\r\n registry:\r\n type: nacos\r\n nacos:\r\n application: seata-server\r\n server-addr: 127.0.0.1:8848\r\n namespace:\r\n\r\n# mybatis配置\r\nmybatis:\r\n # 搜索指定包别名\r\n typeAliasesPackage: com.ruoyi.system\r\n # 配置mapper的扫描找到所有的mapper.xml映射文件\r\n mapperLocations: classpath:mapper/**/*.xml\r\n\r\n# swagger配置\r\nswagger:\r\n title: 系统模块接口文档\r\n license: Powered By ruoyi\r\n licenseUrl: https://ruoyi.vip','ac8913dee679e65bb7d482df5f267d4e','2020-11-20 00:00:00','2021-01-27 10:42:25',NULL,'0:0:0:0:0:0:0:1','','','系统模块','null','null','yaml','null'),
(6,'ruoyi-gen-dev.yml','DEFAULT_GROUP','# spring配置\r\nspring: \r\n redis:\r\n host: localhost\r\n port: 6379\r\n password: \r\n datasource: \r\n driver-class-name: com.mysql.cj.jdbc.Driver\r\n url: jdbc:mysql://localhost:3306/ruoyi_cloud_db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\r\n username: root\r\n password: lynntech\r\n\r\n# mybatis配置\r\nmybatis:\r\n # 搜索指定包别名\r\n typeAliasesPackage: com.ruoyi.gen.domain\r\n # 配置mapper的扫描找到所有的mapper.xml映射文件\r\n mapperLocations: classpath:mapper/**/*.xml\r\n\r\n# swagger配置\r\nswagger:\r\n title: 代码生成接口文档\r\n license: Powered By ruoyi\r\n licenseUrl: https://ruoyi.vip\r\n\r\n# 代码生成\r\ngen: \r\n # 作者\r\n author: ruoyi\r\n # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool\r\n packageName: com.ruoyi.system\r\n # 自动去除表前缀默认是false\r\n autoRemovePre: false\r\n # 表前缀(生成类名不会包含表前缀,多个用逗号分隔)\r\n tablePrefix: sys_\r\n','8c79f64a4cca9b821a03dc8b27a2d8eb','2020-11-20 00:00:00','2021-01-26 10:36:45',NULL,'0:0:0:0:0:0:0:1','','','代码生成','null','null','yaml','null'), (6,'lynn-gen-dev.yml','DEFAULT_GROUP','# spring配置\r\nspring: \r\n redis:\r\n host: localhost\r\n port: 6379\r\n password: \r\n datasource: \r\n driver-class-name: com.mysql.cj.jdbc.Driver\r\n url: jdbc:mysql://localhost:3306/ruoyi_cloud_db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\r\n username: root\r\n password: lynntech\r\n\r\n# mybatis配置\r\nmybatis:\r\n # 搜索指定包别名\r\n typeAliasesPackage: com.ruoyi.gen.domain\r\n # 配置mapper的扫描找到所有的mapper.xml映射文件\r\n mapperLocations: classpath:mapper/**/*.xml\r\n\r\n# swagger配置\r\nswagger:\r\n title: 代码生成接口文档\r\n license: Powered By ruoyi\r\n licenseUrl: https://ruoyi.vip\r\n\r\n# 代码生成\r\ngen: \r\n # 作者\r\n author: ruoyi\r\n # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool\r\n packageName: com.ruoyi.system\r\n # 自动去除表前缀默认是false\r\n autoRemovePre: false\r\n # 表前缀(生成类名不会包含表前缀,多个用逗号分隔)\r\n tablePrefix: sys_\r\n','8c79f64a4cca9b821a03dc8b27a2d8eb','2020-11-20 00:00:00','2021-01-26 10:36:45',NULL,'0:0:0:0:0:0:0:1','','','代码生成','null','null','yaml','null'),
(7,'ruoyi-job-dev.yml','DEFAULT_GROUP','# spring配置\r\nspring: \r\n redis:\r\n host: localhost\r\n port: 6379\r\n password: \r\n datasource:\r\n driver-class-name: com.mysql.cj.jdbc.Driver\r\n url: jdbc:mysql://localhost:3306/ruoyi_cloud_db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\r\n username: root\r\n password: lynntech\r\n\r\n# mybatis配置\r\nmybatis:\r\n # 搜索指定包别名\r\n typeAliasesPackage: com.ruoyi.job.domain\r\n # 配置mapper的扫描找到所有的mapper.xml映射文件\r\n mapperLocations: classpath:mapper/**/*.xml\r\n\r\n# swagger配置\r\nswagger:\r\n title: 定时任务接口文档\r\n license: Powered By ruoyi\r\n licenseUrl: https://ruoyi.vip\r\n','d6dfade9a2c93c463ae857cd503cb172','2020-11-20 00:00:00','2021-01-26 10:36:04',NULL,'0:0:0:0:0:0:0:1','','','定时任务','null','null','yaml','null'), (7,'lynn-job-dev.yml','DEFAULT_GROUP','# spring配置\r\nspring: \r\n redis:\r\n host: localhost\r\n port: 6379\r\n password: \r\n datasource:\r\n driver-class-name: com.mysql.cj.jdbc.Driver\r\n url: jdbc:mysql://localhost:3306/ruoyi_cloud_db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8\r\n username: root\r\n password: lynntech\r\n\r\n# mybatis配置\r\nmybatis:\r\n # 搜索指定包别名\r\n typeAliasesPackage: com.ruoyi.job.domain\r\n # 配置mapper的扫描找到所有的mapper.xml映射文件\r\n mapperLocations: classpath:mapper/**/*.xml\r\n\r\n# swagger配置\r\nswagger:\r\n title: 定时任务接口文档\r\n license: Powered By ruoyi\r\n licenseUrl: https://ruoyi.vip\r\n','d6dfade9a2c93c463ae857cd503cb172','2020-11-20 00:00:00','2021-01-26 10:36:04',NULL,'0:0:0:0:0:0:0:1','','','定时任务','null','null','yaml','null'),
(8,'ruoyi-file-dev.yml','DEFAULT_GROUP','# 本地文件上传 \r\nfile:\r\n domain: http://127.0.0.1:9300\r\n path: \\ruoyi\\uploadPath\r\n prefix: /statics\r\n\r\n# FastDFS配置\r\nfdfs:\r\n domain: http://8.129.231.12\r\n soTimeout: 3000\r\n connectTimeout: 2000\r\n trackerList: 8.129.231.12:22122\r\n\r\n# Minio配置\r\nminio:\r\n url: http://8.129.231.12:9000\r\n accessKey: minioadmin\r\n secretKey: minioadmin\r\n bucketName: test','5382b93f3d8059d6068c0501fdd41195','2020-11-20 00:00:00','2020-12-21 21:01:59',NULL,'0:0:0:0:0:0:0:1','','','文件服务','null','null','yaml','null'), (8,'lynn-file-dev.yml','DEFAULT_GROUP','# 本地文件上传 \r\nfile:\r\n domain: http://127.0.0.1:9300\r\n path: \\ruoyi\\uploadPath\r\n prefix: /statics\r\n\r\n# FastDFS配置\r\nfdfs:\r\n domain: http://8.129.231.12\r\n soTimeout: 3000\r\n connectTimeout: 2000\r\n trackerList: 8.129.231.12:22122\r\n\r\n# Minio配置\r\nminio:\r\n url: http://8.129.231.12:9000\r\n accessKey: minioadmin\r\n secretKey: minioadmin\r\n bucketName: test','5382b93f3d8059d6068c0501fdd41195','2020-11-20 00:00:00','2020-12-21 21:01:59',NULL,'0:0:0:0:0:0:0:1','','','文件服务','null','null','yaml','null'),
(9,'sentinel-ruoyi-gateway','DEFAULT_GROUP','[\r\n {\r\n \"resource\": \"ruoyi-auth\",\r\n \"count\": 500,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n },\r\n {\r\n \"resource\": \"ruoyi-system\",\r\n \"count\": 1000,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n },\r\n {\r\n \"resource\": \"ruoyi-gen\",\r\n \"count\": 200,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n },\r\n {\r\n \"resource\": \"ruoyi-job\",\r\n \"count\": 300,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n }\r\n]','9f3a3069261598f74220bc47958ec252','2020-11-20 00:00:00','2020-11-20 00:00:00',NULL,'0:0:0:0:0:0:0:1','','','限流策略','null','null','json','null'); (9,'sentinel-lynn-gateway','DEFAULT_GROUP','[\r\n {\r\n \"resource\": \"lynn-auth\",\r\n \"count\": 500,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n },\r\n {\r\n \"resource\": \"lynn-system\",\r\n \"count\": 1000,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n },\r\n {\r\n \"resource\": \"lynn-gen\",\r\n \"count\": 200,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n },\r\n {\r\n \"resource\": \"lynn-job\",\r\n \"count\": 300,\r\n \"grade\": 1,\r\n \"limitApp\": \"default\",\r\n \"strategy\": 0,\r\n \"controlBehavior\": 0\r\n }\r\n]','9f3a3069261598f74220bc47958ec252','2020-11-20 00:00:00','2020-11-20 00:00:00',NULL,'0:0:0:0:0:0:0:1','','','限流策略','null','null','json','null');
/******************************************/ /******************************************/

Loading…
Cancel
Save