Selaa lähdekoodia

添加获取当前的环境配置方法

RuoYi 4 vuotta sitten
vanhempi
commit
3b61ed56b0

+ 34 - 2
ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java

@@ -5,7 +5,10 @@ import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.NoSuchBeanDefinitionException;
 import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
 import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
 import org.springframework.stereotype.Component;
+import com.ruoyi.common.utils.StringUtils;
 
 /**
  * spring工具类 方便在非spring管理环境中获取bean
@@ -13,17 +16,25 @@ import org.springframework.stereotype.Component;
  * @author ruoyi
  */
 @Component
-public final class SpringUtils implements BeanFactoryPostProcessor
+public final class SpringUtils implements BeanFactoryPostProcessor, ApplicationContextAware 
 {
     /** Spring应用上下文环境 */
     private static ConfigurableListableBeanFactory beanFactory;
 
+    private static ApplicationContext applicationContext;
+
     @Override
-    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
+    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException 
     {
         SpringUtils.beanFactory = beanFactory;
     }
 
+    @Override
+    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException 
+    {
+        SpringUtils.applicationContext = applicationContext;
+    }
+
     /**
      * 获取对象
      *
@@ -111,4 +122,25 @@ public final class SpringUtils implements BeanFactoryPostProcessor
     {
         return (T) AopContext.currentProxy();
     }
+
+    /**
+     * 获取当前的环境配置,无配置返回null
+     *
+     * @return 当前的环境配置
+     */
+    public static String[] getActiveProfiles()
+    {
+        return applicationContext.getEnvironment().getActiveProfiles();
+    }
+
+    /**
+     * 获取当前的环境配置,当有多个环境配置时,只获取第一个
+     *
+     * @return 当前的环境配置
+     */
+    public static String getActiveProfile()
+    {
+        final String[] activeProfiles = getActiveProfiles();
+        return StringUtils.isNotEmpty(activeProfiles) ? activeProfiles[0] : null;
+    }
 }

+ 34 - 21
ruoyi-ui/src/utils/ruoyi.js

@@ -55,28 +55,38 @@ export function resetForm(refName) {
 
 // 添加日期范围
 export function addDateRange (params = {}, dateRange) {
-  if (dateRange != null && dateRange !== '') {
-    params.beginTime = this.dateRange[0]
-    params.endTime = this.dateRange[1]
-  }
-  return params
+	if (dateRange != null && dateRange !== '') {
+	  params.beginTime = this.dateRange[0]
+	  params.endTime = this.dateRange[1]
+	}
+	return params
 }
 
 // 回显数据字典
-export function selectDictLabel(datas = [], value = '') {
-  if (!value) return '-';
-  const dataArr = datas.filter(item => item.dictValue === value.toString());
-  return dataArr.length ? dataArr[0].dictLabel : 'Error Dict';
+export function selectDictLabel(datas, value) {
+	var actions = [];
+	Object.keys(datas).some((key) => {
+		if (datas[key].dictValue == ('' + value)) {
+			actions.push(datas[key].dictLabel);
+			return true;
+		}
+	})
+	return actions.join('');
 }
 
 // 回显数据字典(字符串数组)
-export function selectDictLabels(datas = [], value = '', separator = ',') {
-  const actions = [];
-  const temp = value.split(separator).filter(item => item);
-  temp.forEach((_, index) => {
-    actions.push(selectDictLabel(datas, temp[index]));
-  })
-  return actions.join(separator);
+export function selectDictLabels(datas, value, separator) {
+	var actions = [];
+	var currentSeparator = undefined === separator ? "," : separator;
+	var temp = value.split(currentSeparator);
+	Object.keys(value.split(currentSeparator)).some((val) => {
+		Object.keys(datas).some((key) => {
+			if (datas[key].dictValue == ('' + temp[val])) {
+				actions.push(datas[key].dictLabel + currentSeparator);
+			}
+		})
+	})
+	return actions.join('').substring(0, actions.join('').length - 1);
 }
 
 // 通用下载方法
@@ -114,19 +124,22 @@ export function praseStrEmpty(str) {
  * @param {*} children 孩子节点字段 默认 'children'
  * @param {*} rootId 根Id 默认 0
  */
-export function handleTree(data = [], id = 'id', parentId = 'parentId', children = 'children', rootId = 0) {
+export function handleTree(data, id, parentId, children, rootId) {
+	id = id || 'id'
+	parentId = parentId || 'parentId'
+	children = children || 'children'
+	rootId = rootId || 0
 	//对源数据深度克隆
 	const cloneData = JSON.parse(JSON.stringify(data))
 	//循环所有项
 	const treeData = cloneData.filter(father => {
-		const branchArr = cloneData.filter(child => {
+		let branchArr = cloneData.filter(child => {
 			//返回每一项的子级数组
 			return father[id] === child[parentId]
 		});
-		branchArr.length && (father.children = branchArr);
+		branchArr.length > 0 ? father.children = branchArr : '';
 		//返回第一层
 		return father[parentId] === rootId;
 	});
-	return treeData !== '' ? treeData : data;
+	return treeData != '' ? treeData : data;
 }
-