.xy-tsd.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. module.exports = {
  2. // 1.全落标:对工程直接替换;2.半落标:增加接口请求获取配置数据,并增加拦截请求方法处理,
  3. tsdType: 1,
  4. // 基础文件夹路径,如src/
  5. basePath: '/src',
  6. // 排除处理文件,正则表达式或文件名数组, 默认排除多语言
  7. exclude: ['/{api,config,assets,locale,router,store,utils}/**/*.js', '/views/batch/require/*.js', '/views/@xdjf/**/{api,config,assets,locale,router,store,utils}/**/*.js', '/views/framework/Login/index.vue'],
  8. // 配置文件路径
  9. config: '.xy-tsd.js',
  10. // 要处理的文件类型, 可以多个,数组形式,配置参考https://github.com/isaacs/node-glob
  11. include: '**/*.@(vue|js)',
  12. // 自闭标签列表
  13. selfClosingTag: ['img', 'hr', 'br', 'svg-icon', 'input'],
  14. // 生成结果目标文件夹
  15. output: '/temp',
  16. // 映射关系数据来源api/excel,api则调用接口获取数据,excel则解析excel文件类获取映射数据
  17. type: 'excel',
  18. api: {
  19. server: 'http://192.168.50.60:30355',
  20. // 默认post请求, 支持对象类型及函数配置
  21. rules: '/api/metaChangeStdField/listallchangefield',
  22. // 字典映射列表
  23. datacodes: '/api/metaChangeDict',
  24. // 接口映射列表
  25. apis: '/api/metaChangeStdField/listchangeapi',
  26. },
  27. excel: {
  28. // 文件名
  29. path: '标准字段差异数据.xlsx',
  30. // 类型与excel标签页映射关系 目前仅仅实现了 field data-code 无效
  31. types: {
  32. field: '差异标准字段',
  33. 'data-code': '字典映射',
  34. },
  35. // 该映射关系需要与 config.map 对应上
  36. // excel列与字段映射关系
  37. map: {
  38. field: {
  39. // 模块英文名: 'moduleName',
  40. // 模块中文名: 'moduleNameCn',
  41. // 表名: 'tableName',
  42. // 表中文名: 'tableNameCn',
  43. '原字段英文名': 'oldName',
  44. '新字段英文名': 'newName',
  45. '原字段中文名': 'oldNameCn',
  46. '新字段中文名': 'newNameCn',
  47. // 字段类型: 'oldDbType',
  48. // 标准字段类型: 'newDbType',
  49. // 字典编号: 'oldCode',
  50. // 标准字典编号: 'newCode',
  51. },
  52. // 'data-code': {
  53. // 字典编号: 'oldCode',
  54. // 字典中文名: 'oldName',
  55. // 选项名称: 'oldItemName',
  56. // 选项码值: 'oldItemValue',
  57. // 标准字典编号: 'newCode',
  58. // 标准字典中文名: 'newName',
  59. // 标准选项名称: 'newItemName',
  60. // 标准选项码值: 'newItemValue',
  61. // },
  62. },
  63. },
  64. // 日志记录配置
  65. logs: {
  66. path: 'logs/data-standard.log',
  67. },
  68. // 1.全量字段类型;2.接口类型
  69. rulesType: 1,
  70. // 规则判断主键
  71. rulesPrimarykey: {
  72. field: 'oldName',
  73. 'data-code': 'oldCode',
  74. },
  75. // 转换规则
  76. rules: null,
  77. // 是否需要转驼峰
  78. isHump: true,
  79. // 特殊关键词,指定特殊标记,在template中,内容与特殊关键词相同的,需要进行转换处理,但关键词本身不处理
  80. specialKeywords: ['scope.row'],
  81. // js代码中替换信息
  82. map: {
  83. dataCodeMap: ['oldCode', 'newCode'], // 数据字典映射关系
  84. jsMap: ['oldName', 'newName'],
  85. tempMap: ['oldName', 'newName'], // 模板通用
  86. // 表单对应key替换信息,数组第一个为比较值,第二个为更新值
  87. xformMap: {
  88. label: ['oldNameCn', 'newNameCn'],
  89. name: ['oldName', 'newName'],
  90. 'data-code': ['oldCode', 'newCode'],
  91. },
  92. // 表格对应key替换信息,数组第一个为比较值,第二个为更新值
  93. xtableMap: {
  94. label: ['oldNameCn', 'newNameCn'],
  95. prop: ['oldName', 'newName'],
  96. },
  97. },
  98. // 数据字典
  99. datacodes: null,
  100. // 接口映射数据,用于接口路径、接口请求类型修改
  101. apis: null,
  102. // 添加JavaScript默认解析器
  103. jsVisitor: function () {
  104. return {};
  105. },
  106. // js 特殊需要处理过滤器
  107. jsFilters: function () {
  108. return false;
  109. },
  110. // js 特殊需要处理过滤器
  111. tempFilters: function () {
  112. return false;
  113. },
  114. // 添加模板默认解析器
  115. tempVisitor: [
  116. {
  117. tag: 'yu-xform',
  118. childrenTag: 'yu-xform-item',
  119. // 先不处理数据字典
  120. KEYS: ['label', 'name', 'data-code'],
  121. mapKey: 'xformMap',
  122. },
  123. {
  124. tag: 'yu-xtable',
  125. childrenTag: 'yu-xtable-column',
  126. // KEYS: ['prop', 'data-code'],
  127. // 先不处理数据字典
  128. KEYS: ['label', 'prop'],
  129. mapKey: 'xtableMap',
  130. },
  131. ],
  132. };