系统参数
为了使框架更加灵活,很多配置并没有使用硬编码,而是在系统入口文件中配置相应的参数去控制变量。具体配置信息分为9类:
- 环境配置
- 路由配置
- 页面及sso相关
- 缓存设置
- http设置
- 语言设置
- ui设置
- 字典设置
- structure
app配置
在src/core/config/init.config.ts中的appConf属性配置。
ts
{
appConf: {
// 路由配置
router?: routerConf
// 需要的页面配置
pages?: PagesConf
// 缓存设置
cache?: CacheConf
// http设置
http?: HttpConf
// 语言设置
locales?: LocalesConf
// ui设置
ui?: {
// 表单配置
form?: FormConf
// 表格设置
table?: TableConf
// 信息设置
message?: MessageConf
},
// 字典相关设置
dict?: ApiSelectType,
// structure 相关配置
structure?: {
[key: string]: ApiSelectType
}
},
...
}API
路由配置 routerConf
| 属性 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| useHashRoute | 路由模式(是否启用hash模式) | boolean | true | |
| useAuthRoute | 是否使用权限路由(根据菜单生成路由,还是根据views文件夹生成路由) | boolean | false | |
| strictRoute | 是否使用全量路径(如果设置成true,则children中的路径均需要写全部路径,不能继承父路由的路径) | boolean | false | |
| virtualRoute | 自动生成的路由 | (RouteRecordRaw | PageRoute)[] | [] | |
| systemRoute | 支持静态路由 | RouteRecordRaw[] | [] | |
| transition | 路由动画 | zoom-fadezoom-outfade-slidefadefade-bottomfade-scale | 'fade' | |
| openPageLoading | 路由跳转是否显示遮罩层 | boolean | true | |
| openNProgress | 是否开启顶部进度条动画 | boolean | true | |
| closeDialogOnRouteChange | 路由跳转后 弹框是否关闭 | boolean | true | |
| removeHttpPendding | 路由跳转后 所有的http请求是否取消 | boolean | true |
页面配置 PagesConf
| 属性 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| ssoLogin | sso登录地址 | string | null | |
| ssoLogout | sso登出地址 | string | null | |
| queryColumnApi | 请求table表头信息的地址 | string | null |
缓存配置 CacheConf
| 属性 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| cacheMode | 浏览器共享缓存数据存储位置 | localStoragesessionStorage | 'localStorage' | |
| cacheTime | 默认缓存时长 | number | 24小时 | |
| cipher | 生产环境对缓存数据加密,设置一个值和偏移量 | Object | "{ key: '1234567890ABCDEF', iv: '@EDCBA0987654321' }" | |
| hasEncrypt | 开发环境是否进行加密 | boolean | false |
http配置 HttpConf
| 属性 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| tokenPreKey | 传给后台的token的key值 | string | 'Authorization' | |
| tokenPrefix | token修正,部分token需要在前面加上Bear 才能正常通信 | string | 'Bearer ' | |
| baseUrl | 基础路径(在请求前加一个路径) | string | null | |
| timeOut | 超时时长 0表示前端不存在超时 | number | 60 * 1000 | |
| unAuthCode | 需要跳转到登录页面的错误码 | (number | string)[] | [401] | |
| okCode | 请求正确,后台返回的code码 | number | string | 200 | |
| errors | http错误信息 (400、500等提示信息) | {[key: number]: string} | {} | |
| headers | 默认请求头配置 | { 'Content-Type': HttpContentTypeEnum } | null |
语言设置 LocalesConf
| 属性 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| defaultLocale | 默认使用哪种语言 | Language | 'navigator' | Language.ZH | |
| message | 根据语言获取国际化内容 | (lang: Language) => Recordable | Function |
当前系统仅支持中英文。
UI-表单配置 FormConf
| 属性 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| autoFetch | 自动查询 只支持在 'search' 模式 | boolean | true | |
| layout | 表单布局 | horizontal | vertical | inline | 'horizontal' | |
| labelWidth | 标签的宽度 | number | string | 120 | |
| enLabelWidth | 英文标签宽度 | number | string | 120 | |
| labelAlign | 标签对齐方式 | 'left' | 'right' | 'right' | |
| compact | 是否使用紧凑布局 | boolean | true | |
| colon | label后面是否需要':' | boolean | true | |
| autoFetchOnEnter | 回车键搜索 | boolean | true | |
| alwaysShowLines | 是否一直显示所有条目(不显示折叠按钮) | boolean | false | |
| minShowColumn | 查询条件折叠时最少显示几列 | number | 2 | |
| allowClear | 是否显示清除按钮 | boolean | true | |
| scrollToFirstError | 提交失败自动滚动到第一个错误字段 | boolean | false | |
| scrollToFirstError | 提交失败自动滚动到第一个错误字段 | boolean | false | |
| colspan | 查询列控制 | '{md?:number, xl?:number, xxl?:number}' | '{md: 24, xl: 8, xxl: 6}' |
表格设置 TableConf
| 属性 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| pageSizeOptions | 下拉框,可供选择的页码大小 | string[] | [] | |
| defaultPageSize | 默认分页大小 | number | 20 | |
| defaultPageNo | 默认指向页码 | number | 1 | |
| memorySelected | 切换页面是否需要记住已选中的数据 | boolean | true | |
| multipleSorter | 是否支持多列排序 | boolean | true | |
| align | 文字对齐方式 | 'center' | 'left' | 'right' | 'left' | |
| exportTable | 支持导出页面的模式: current-当前页, select-当前选中, all-后台导出 | ('current' | 'select' | 'all')[] | ||
| showUserDefineColumns | 是否支持用户自定义列 | boolean | true |
弹框设置 TableConf
| 属性 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| colspan | 弹框列控制 | '{md?:number, xl?:number, xxl?:number}' | '{md: 24, xl: 8, xxl: 6}' | |
| width | 弹框默认宽度 | string | number | '800px' |
消息设置 MessageConf
| 属性 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| top | 消息距离顶部的位置 | string | 8px | |
| duration | 提示信息默认显示时常, 单位秒 | number | 3 | |
| maxCount | 最大显示数, 超过限制时,最早的消息会被自动关闭 | number | 1 |
字典设置 ApiSelectType
| 属性 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| api | 请求接口 | string | null | |
| label | 作为标签值显示的属性 | string | ((item: Recordable) => string) | 'dictValue' | |
| enLabel | 英文标签值显示的属性 | string | ((item: Recordable) => string) | 'dictValue' | |
| value | 穿个后台属性 | string | 'dictKey' | |
| params | 请求参数 | {} | null | |
| requestKey | 字典请求key值 | string | code | |
| listName | 返回的列表放在哪个数据中 | string | string[] | ['data'] | |
| numberToString | value是否需要将数字转为string | boolean | ||
| setOptions | 手动设置options | (list:Array<any>) => Array<any> |