mirror of
				https://github.com/YunaiV/ruoyi-vue-pro.git
				synced 2025-10-31 02:28:03 +08:00 
			
		
		
		
	添加获取当前的环境配置方法
This commit is contained in:
		| @ -5,7 +5,10 @@ import org.springframework.beans.BeansException; | |||||||
| import org.springframework.beans.factory.NoSuchBeanDefinitionException; | import org.springframework.beans.factory.NoSuchBeanDefinitionException; | ||||||
| import org.springframework.beans.factory.config.BeanFactoryPostProcessor; | import org.springframework.beans.factory.config.BeanFactoryPostProcessor; | ||||||
| import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; | import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; | ||||||
|  | import org.springframework.context.ApplicationContext; | ||||||
|  | import org.springframework.context.ApplicationContextAware; | ||||||
| import org.springframework.stereotype.Component; | import org.springframework.stereotype.Component; | ||||||
|  | import com.ruoyi.common.utils.StringUtils; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * spring工具类 方便在非spring管理环境中获取bean |  * spring工具类 方便在非spring管理环境中获取bean | ||||||
| @ -13,17 +16,25 @@ import org.springframework.stereotype.Component; | |||||||
|  * @author ruoyi |  * @author ruoyi | ||||||
|  */ |  */ | ||||||
| @Component | @Component | ||||||
| public final class SpringUtils implements BeanFactoryPostProcessor | public final class SpringUtils implements BeanFactoryPostProcessor, ApplicationContextAware  | ||||||
| { | { | ||||||
|     /** Spring应用上下文环境 */ |     /** Spring应用上下文环境 */ | ||||||
|     private static ConfigurableListableBeanFactory beanFactory; |     private static ConfigurableListableBeanFactory beanFactory; | ||||||
|  |  | ||||||
|  |     private static ApplicationContext applicationContext; | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException  |     public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException  | ||||||
|     { |     { | ||||||
|         SpringUtils.beanFactory = beanFactory; |         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(); |         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; | ||||||
|  |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -63,20 +63,30 @@ export function addDateRange (params = {}, dateRange) { | |||||||
| } | } | ||||||
|  |  | ||||||
| // 回显数据字典 | // 回显数据字典 | ||||||
| export function selectDictLabel(datas = [], value = '') { | export function selectDictLabel(datas, value) { | ||||||
|   if (!value) return '-'; | 	var actions = []; | ||||||
|   const dataArr = datas.filter(item => item.dictValue === value.toString()); | 	Object.keys(datas).some((key) => { | ||||||
|   return dataArr.length ? dataArr[0].dictLabel : 'Error Dict'; | 		if (datas[key].dictValue == ('' + value)) { | ||||||
|  | 			actions.push(datas[key].dictLabel); | ||||||
|  | 			return true; | ||||||
|  | 		} | ||||||
|  | 	}) | ||||||
|  | 	return actions.join(''); | ||||||
| } | } | ||||||
|  |  | ||||||
| // 回显数据字典(字符串数组) | // 回显数据字典(字符串数组) | ||||||
| export function selectDictLabels(datas = [], value = '', separator = ',') { | export function selectDictLabels(datas, value, separator) { | ||||||
|   const actions = []; | 	var actions = []; | ||||||
|   const temp = value.split(separator).filter(item => item); | 	var currentSeparator = undefined === separator ? "," : separator; | ||||||
|   temp.forEach((_, index) => { | 	var temp = value.split(currentSeparator); | ||||||
|     actions.push(selectDictLabel(datas, temp[index])); | 	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(separator); | 	}) | ||||||
|  | 	return actions.join('').substring(0, actions.join('').length - 1); | ||||||
| } | } | ||||||
|  |  | ||||||
| // 通用下载方法 | // 通用下载方法 | ||||||
| @ -114,19 +124,22 @@ export function praseStrEmpty(str) { | |||||||
|  * @param {*} children 孩子节点字段 默认 'children' |  * @param {*} children 孩子节点字段 默认 'children' | ||||||
|  * @param {*} rootId 根Id 默认 0 |  * @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 cloneData = JSON.parse(JSON.stringify(data)) | ||||||
| 	//循环所有项 | 	//循环所有项 | ||||||
| 	const treeData = cloneData.filter(father => { | 	const treeData = cloneData.filter(father => { | ||||||
| 		const branchArr = cloneData.filter(child => { | 		let branchArr = cloneData.filter(child => { | ||||||
| 			//返回每一项的子级数组 | 			//返回每一项的子级数组 | ||||||
| 			return father[id] === child[parentId] | 			return father[id] === child[parentId] | ||||||
| 		}); | 		}); | ||||||
| 		branchArr.length && (father.children = branchArr); | 		branchArr.length > 0 ? father.children = branchArr : ''; | ||||||
| 		//返回第一层 | 		//返回第一层 | ||||||
| 		return father[parentId] === rootId; | 		return father[parentId] === rootId; | ||||||
| 	}); | 	}); | ||||||
| 	return treeData !== '' ? treeData : data; | 	return treeData != '' ? treeData : data; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 RuoYi
					RuoYi