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