mirror of
				https://github.com/continew-org/continew-admin-ui.git
				synced 2025-10-31 22:57:15 +08:00 
			
		
		
		
	chore: 优化字典重复请求问题
This commit is contained in:
		| @@ -2,6 +2,7 @@ import { ref, toRefs } from 'vue' | ||||
| import { listCommonDict } from '@/apis' | ||||
| import { useDictStore } from '@/stores' | ||||
|  | ||||
| const tmpCodeZone: string[] = [] | ||||
| export function useDict(...codes: Array<string>) { | ||||
|   const res = ref<any>({}) | ||||
|   return (() => { | ||||
| @@ -12,10 +13,19 @@ export function useDict(...codes: Array<string>) { | ||||
|       if (dict) { | ||||
|         res.value[code] = dict | ||||
|       } else { | ||||
|         listCommonDict(code).then((resp) => { | ||||
|         if (!tmpCodeZone.includes(code)) { | ||||
|           // 防止重复请求 | ||||
|           tmpCodeZone.push(code) | ||||
|           listCommonDict(code) | ||||
|             .then((resp) => { | ||||
|               res.value[code] = resp.data | ||||
|               dictStore.setDict(code, res.value[code]) | ||||
|               tmpCodeZone.splice(tmpCodeZone.indexOf(code), 1) | ||||
|             }) | ||||
|             .catch(() => { | ||||
|               tmpCodeZone.splice(tmpCodeZone.indexOf(code), 1) | ||||
|             }) | ||||
|         } | ||||
|       } | ||||
|     }) | ||||
|     return toRefs(res.value) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 秋帆
					秋帆