| import { mergeRecursive } from "@/utils/ruoyi"; | 
| import dictConverter from './DictConverter' | 
|   | 
| export const options = { | 
|   metas: { | 
|     '*': { | 
|       /** | 
|        * 字典请求,方法签名为function(dictMeta: DictMeta): Promise | 
|        */ | 
|       request: (dictMeta) => { | 
|         console.log(`load dict ${dictMeta.type}`) | 
|         return Promise.resolve([]) | 
|       }, | 
|       /** | 
|        * 字典响应数据转换器,方法签名为function(response: Object, dictMeta: DictMeta): DictData | 
|        */ | 
|       responseConverter, | 
|       labelField: 'label', | 
|       valueField: 'value', | 
|     }, | 
|   }, | 
|   /** | 
|    * 默认标签字段 | 
|    */ | 
|   DEFAULT_LABEL_FIELDS: ['label', 'name', 'title'], | 
|   /** | 
|    * 默认值字段 | 
|    */ | 
|   DEFAULT_VALUE_FIELDS: ['value', 'id', 'uid', 'key'], | 
| } | 
|   | 
| /** | 
|  * 映射字典 | 
|  * @param {Object} response 字典数据 | 
|  * @param {DictMeta} dictMeta 字典元数据 | 
|  * @returns {DictData} | 
|  */ | 
| function responseConverter(response, dictMeta) { | 
|   const dicts = response.content instanceof Array ? response.content : response | 
|   if (dicts === undefined) { | 
|     console.warn(`no dict data of "${dictMeta.type}" found in the response`) | 
|     return [] | 
|   } | 
|   return dicts.map(d => dictConverter(d, dictMeta)) | 
| } | 
|   | 
| export function mergeOptions(src) { | 
|   mergeRecursive(options, src) | 
| } | 
|   | 
| export default options |