
下载前后分离版ruoyi: 项目扩展 | RuoYihttps://gitee.com/Double_AutoEE/AutoEE这个是vite antdv1.安装好后端基础改端口、配接口、建数据库前端下载后 npm install npm run dev如果npm install 报错ERESOLVE unable to resolve dependency tree则执行npm install --legacy-peer-deps解决ERESOLVE unable to resolve dependency tree-CSDN博客2.新建一个模块包括完整的数据流程包名尽量用 com.ruoyi.xxx这样Controller直接使用不用在RuoyiApplication.java中再配置ComponentScan({com.testname.})3.新建模块的POM里加上dependencies dependency groupIdcom.ruoyi/groupId artifactIdruoyi-common/artifactId /dependency /dependenciesruoyi-admin的pom里加上dependency groupIdcom.ruoyi/groupId artifactIdpiaopiaoruo/artifactId version${ruoyi.version}/version /dependency4.将原项目中的mybatis 替换为 Mybatis-plus :参考 若依前后端分离版本原生mybatis替换mybatis-plus详细教程_mybatis_会飞的三胖子-RuoYi 若依主pom中加入 依赖dependency groupIdcom.baomidou/groupId artifactIdmybatis-plus-boot-starter/artifactId version3.5.1/version /dependency在common 及framework中加入 子依赖dependency groupIdcom.baomidou/groupId artifactIdmybatis-plus-boot-starter/artifactId /dependency framework的config 中去掉 mybatisconfig.java, 加入 mybatisplusconfig.java:Configuration public class MybatisPlusConfig { Bean //解决 Page total 一直为0的情况 public MybatisPlusInterceptor mybatisPlusInterceptor(){ MybatisPlusInterceptor interceptor new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2)); return interceptor; } }最后 admin 主类加上MapperScan(com.ruoyi.piao.dao)5.Docker 部署先新建application-prod.yaml 把 application-druid.yaml 中的内容合并过来。注意删除# profiles: # active: druidFROM openjdk:8 EXPOSE 1024 VOLUME /tmp ADD ./target/ruopiao.jar /ruopiao.jar RUN bash -c touch /ruopiao.jar ENTRYPOINT [java,-jar,/ruopiao.jar,--spring.profiles.activeprod]把Dockerfile 及jar 上传到 服务器运行docker build -t ruopiao .docker run -d -p 1024:1024 --name piaoruo --restart always ruopiao镜像必须是最后一个执行过最自动启动了不用再docker start piao上面加restart就不用这一行了docker update piaoruo --restartalways加上时区的用这个可以保证时间不慢8小时docker run -d -p 1024:1024 -e TZAsia/Shanghai --name piaoruo --restart always ruopiao6.在package.json中添加build:prod: vite build --mode prod,即可按 npm run build:prod 打包 部署前端。7.使用 echarts:npm install echarts vue-echartsmain.js 中import echarts;import ECharts from vue-echartsapp.component(v-chart, ECharts)页面中templatev-chart :optionchartOptions stylewidth: 100%; height: 400px;/v-chart /templatescript setup import {reactive, ref} from vue; const chartOptions ref({ title: { text: Sales Data }, tooltip: {}, xAxis: { type: category, data: Array.from({ length: 24 }, (_, i) ${i}:00) }, yAxis: { type: value }, series: [ { name: Sales, type: bar, data: Array.from({ length: 24 }, () Math.floor(Math.random() * 1000)) } ] }); /script8.使用固定主题切换引入 skins.less到assets里。Setting.vue里li v-for(skin, index) in skinOptions :keyindex stylefloat:left; width: 33.3%; padding: 5px; a clickselectSkin(skin)const skins [ { name: 蓝, colors: [#367fa9, #3c8dbc, #2f4050, #f4f5f7], class: skin-blue|theme-dark },]const selectSkin (skin) { const [newSkin, newTheme] skin.class.split(|); // 清除所有可能的类 skins.forEach(s { document.body.classList.remove(s.class.split(|)[0]); document.body.classList.remove(s.class.split(|)[1]); }); // 添加新的类 document.body.classList.add(newSkin); document.body.classList.add(newTheme); }; const skinOptions skins;在 HomePage.vue里a-layout-header classnavbar 并去掉background的color.a-layout-header classlogo 并去掉background的color.9.使用若依功能按钮权限1.后台菜单列表加上按钮权限标识要写上去如piao:reportorder:search2.Controller方法加上注解如PreAuthorize(ss.hasPermi(piao:reportorder:search)) PostMapping(/order) public ResponseDTOJSONArray3.在页面按钮上加v-hasPermia-button typeprimary html-typesubmit v-hasPermi[piao:reportorder:search]查询/a-button即可控制相应按钮的权限。10. Mysql Docker时间慢8小时时处理方法centos 下执行 touch /mydata/mysql/conf/my.cnf 文件内容 [mysqld] default-time-zone 08:00 下面执行Docker命令 docker stop mysql docker rm mysql docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -v /mydata/mysql/files:/var/lib/mysql-files \ -e MYSQL_ROOT_PASSWORDGms2024 \ -d mysql:8.0.22 docker update mysql --restartalways 最后在mysql中把相应字段加8小时 update p_order SET inserttime DATE_ADD(inserttime, INTERVAL 8 HOUR); 11.java Docker 慢的解决办法 docker run -d -p 1024:1024 -e TZAsia/Shanghai12. nginx 的域名配置which nginx 一般位于 /etc/nginx/下13.依赖改为jar而非子模块模式首先dependency groupIdcom.ruoyi/groupId artifactIdruoyi-framework/artifactId version${project.version}/version scopesystem/scope systemPath${project.basedir}/lib/ruoyi-framework-${project.version}.jar/systemPath /dependency 然后在另一个项目的plugin里加!-- 增加 maven-dependency-plugin 用于复制 JAR 文件 -- plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-dependency-plugin/artifactId version3.7.1/version executions execution phasepackage/phase !-- 在 package 阶段执行 -- goals goalcopy/goal /goals configuration artifactItems artifactItem groupIdcom.ruoyi/groupId artifactIdruopiao/artifactId !-- 当前项目的 artifactId -- version${project.version}/version !-- 使用当前项目版本 -- typejar/type outputDirectory${basedir}/../ruoyi-admin/lib//outputDirectory !-- 复制到指定目录 -- /artifactItem !-- 另一个子模块生成的 JAR -- artifactItem groupIdcom.ruoyi/groupId artifactIdruoyi-common/artifactId version${project.version}/version typejar/type outputDirectory${basedir}/../ruoyi-admin/lib//outputDirectory !-- 复制到指定目录 -- /artifactItem /artifactItems /configuration /execution /executions /plugin14.清理文件运行docker rm docker rmi 后一般会自动删除相关文件如果有悬空文件可运行docker container prunedocker image prune确认清理清理 docker-compose 中已删除的容器docker compose down --remove-orphans