mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 16:23:42 +08:00 
			
		
		
		
	fix vue与boot整合打包与admin页面路由冲突
This commit is contained in:
		@@ -79,6 +79,10 @@ spring:
 | 
			
		||||
    restart:
 | 
			
		||||
      # 热部署开关
 | 
			
		||||
      enabled: true
 | 
			
		||||
  # 与vue整合部署使用
 | 
			
		||||
  thymeleaf:
 | 
			
		||||
    # 将系统模板放置到最前面 否则会与 springboot-admin 页面冲突
 | 
			
		||||
    template-resolver-order: 1
 | 
			
		||||
  application:
 | 
			
		||||
    name: ruoyi-vue-plus
 | 
			
		||||
  boot:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,15 +1,25 @@
 | 
			
		||||
package com.ruoyi.framework.config;
 | 
			
		||||
 | 
			
		||||
import de.codecentric.boot.admin.server.config.EnableAdminServer;
 | 
			
		||||
import org.springframework.beans.factory.ObjectProvider;
 | 
			
		||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 | 
			
		||||
import org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration;
 | 
			
		||||
import org.springframework.boot.autoconfigure.thymeleaf.ThymeleafProperties;
 | 
			
		||||
import org.springframework.boot.task.TaskExecutorBuilder;
 | 
			
		||||
import org.springframework.context.annotation.Bean;
 | 
			
		||||
import org.springframework.context.annotation.Configuration;
 | 
			
		||||
import org.springframework.context.annotation.Lazy;
 | 
			
		||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 | 
			
		||||
import org.thymeleaf.dialect.IDialect;
 | 
			
		||||
import org.thymeleaf.spring5.ISpringTemplateEngine;
 | 
			
		||||
import org.thymeleaf.spring5.SpringTemplateEngine;
 | 
			
		||||
import org.thymeleaf.templateresolver.ITemplateResolver;
 | 
			
		||||
 | 
			
		||||
import java.util.Comparator;
 | 
			
		||||
import java.util.LinkedHashSet;
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
import java.util.concurrent.Executor;
 | 
			
		||||
import java.util.stream.Collectors;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * springboot-admin server配置类
 | 
			
		||||
@@ -26,4 +36,28 @@ public class AdminServerConfig {
 | 
			
		||||
    public ThreadPoolTaskExecutor applicationTaskExecutor(TaskExecutorBuilder builder) {
 | 
			
		||||
        return builder.build();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 解决 admin 与 项目 页面的交叉引用 将 admin 的路由放到最后
 | 
			
		||||
     * @param properties
 | 
			
		||||
     * @param templateResolvers
 | 
			
		||||
     * @param dialects
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    @Bean
 | 
			
		||||
    @ConditionalOnMissingBean(ISpringTemplateEngine.class)
 | 
			
		||||
    SpringTemplateEngine templateEngine(ThymeleafProperties properties,
 | 
			
		||||
                                        ObjectProvider<ITemplateResolver> templateResolvers, ObjectProvider<IDialect> dialects) {
 | 
			
		||||
        SpringTemplateEngine engine = new SpringTemplateEngine();
 | 
			
		||||
        engine.setEnableSpringELCompiler(properties.isEnableSpringElCompiler());
 | 
			
		||||
        engine.setRenderHiddenMarkersBeforeCheckboxes(properties.isRenderHiddenMarkersBeforeCheckboxes());
 | 
			
		||||
        templateResolvers.orderedStream().forEach(engine::addTemplateResolver);
 | 
			
		||||
        dialects.orderedStream().forEach(engine::addDialect);
 | 
			
		||||
        Set<ITemplateResolver> templateResolvers1 = engine.getTemplateResolvers();
 | 
			
		||||
        templateResolvers1 = templateResolvers1.stream()
 | 
			
		||||
                .sorted(Comparator.comparing(ITemplateResolver::getOrder))
 | 
			
		||||
                .collect(Collectors.toCollection(LinkedHashSet::new));
 | 
			
		||||
        engine.setTemplateResolvers(templateResolvers1);
 | 
			
		||||
        return engine;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user