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