SchemaUtils

getSchema

通过 Swagger Json Schema 获取实体信息

此方法可通过 Swagger Json Schema 自动生成的 json 文件,来生成前端组件所使用的数据格式。

参数说明

参数说明类型
fileName对应 swagger 生成的文件名String
className对应文件中实体类的属性 keyString
import { getSchema } from 'setaria-business-framework'

const schema = getSchema('Demo', 'AutoSignOffConfig')

getSchemaByKeyArray

通过给定的 arr 数据从 schema 中摘取对应的 JSON schema 数据并返回重新组织的 schmea 对象

一般用于 getSchema('Demo', 'AutoSignOffConfig')获取数据后,只想在这个基础上获取几个属性时使用。

参数说明

参数说明类型
schemaSchema 对象Object
operKeys需要操作的属性 KeyArray
import { getSchema, getSchemaByKeyArray } from 'setaria-business-framework'

const baseSchema = getSchema('Claim', 'GrantsCalcProcessVo')
// 从schema只摘取以下数据并返回重新组织的schmea对象
getSchemaByKeyArray(baseSchema, [
  'transactionDateMin',
  'transactionDateMax',
  'signDateMin',
  'signDateMax',
])

createDefaultObjectBySchema

通过 schmea 创建属性的默认值

此方法一般配合getSchemaByApiKey方法一起使用

参数说明

参数说明类型
schemaschema 对象Object
import {
  getSchema,
  createDefaultObjectBySchema,
} from 'setaria-business-framework'
const schema = getSchema('Demo', 'AutoSignOffConfig')
const data = createDefaultObjectBySchema(schema)

replaceSchemaLabels

批量替换 schema 中的 label 内容

参数说明

参数说明类型
schemaSchema 对象Object
labels需要替换的内容键值对Object
// 引入
import { replaceSchemaLabels } from 'setaria-business-framework'

replaceSchemaLabels(this, schema, {
  applyUserNum: '我是新的label内容',
})

replaceLabelsToI18n

批量国际化 替换 schmea 的 label 内容

参数说明

参数说明类型
schemaSchema 对象Object
prefix国际化 Key 中的前置内容String
// 引入
import { replaceLabelsToI18n } from 'setaria-business-framework'

replaceLabelsToI18n(schema, 'Role')