@meowmeow233/elpis
v1.0.1
Published
```javascript { modelKey: 'dashboard', // 模板类型,不同模板类型对应不同模板数据结构 name:'', desc:'', icon:'', homePage:'', // 头部菜单 menu: [ { key: '', name: '', menuType: '', // 枚举值:g
Readme
一个企业级全栈应用开发框架。
model 配置
{
modelKey: 'dashboard', // 模板类型,不同模板类型对应不同模板数据结构
name:'',
desc:'',
icon:'',
homePage:'',
// 头部菜单
menu: [
{
key: '',
name: '',
menuType: '', // 枚举值:group / module
// 当 menuType 为 group 时,可填
subMenu: [
{
// 可递归 menuItem 数据
},
...
],
// 当 menuType 为 module 时,可填
moduleType: '', // 枚举值:schema / iframe / custom / sider
// 当 moduleType 为 schema 时,
schemaConfig: {
api: '', // 数据源API, 遵循 RSETFUL 规范
schema: { // 板块数据结构
type: "object", // 数据结构类型
properties: { // 字段
[key]: {
...schema, // 标准 schema 配置
label: '', // 字段中文名称
type: '', // 字段类型
tableOption:{
...elTabelColumnConfig, // 标准的 el-table-column 配置
toFixed: 0, // 保留小数点后几位
visible: true // 默认可见,只有配置为 false 时不可见
},
searchOption:{
...elSearchConfig,
comType:'', // 组价类型
default:'', // 默认值
// 当 comType === 'select'
enumList:[], // 下拉框可选项
// 当 comType === 'dynamic-select'
api:''
},
createFormOption:{
...elTabelColumnConfig, // 标准的 el-table-column 配置
comType:'', // 控件类型
visible: true, // 是否可见,默认 true
disabled: false, // 是否禁用,false / true, 默认 true
default:'', // 默认值
// comType === 'select' 时生效
enumList:[]
},
detaialPanelOption:{
...elTabelColumnConfig, // 标准的 el-table-column 配置
}
},
...
},
tableConfig: {
headerButtons: [
{
label:'', // 按钮中文名称
eventKey:'', // 按钮事件名 add/update/remove
eventOption:{ // 按钮事件具体配置
// 当 eventKey === showComponent 时
comName:''
},
...elButtonConfig // 标准 el-button 配置
},
...
],
rowButtons: [
{
label:'', // 按钮中文名称
eventKey:'', // 按钮事件名
eventOption:{ // 按钮事件具体配置
// 当 eventKey === showComponent 时
comName:'',
// 当 eventKey 为 remove 时
params:{
// paramKey = 参数的键值
// rowValueKey = 参数值,格式为 schema::[tableKey]
[paramKey]: [rowValueKey]
}
},
...elButtonConfig // 标准 el-button 配置
},
...
]
}, // table 相关配置
searchConfig: {}, // 搜索 search-bar 相关配置
componentConfig: {
// create-form 表单相关配置
createForm:{
title:'', // 组件标题
saveBtnText:'' // 保存按钮文案
},
// edit-form 相关表单配置
editForm:{
mainKey:'', // 表单主键,用于唯一标识符需要修改的数据对象,例如 id
title:'', // 组件标题
saveBtnText:'' // 保存按钮文案
},
// detail-panel 详情面板相关配置
detaialPanel:{
mainKey:'', // 表单主键,用于唯一标识符需要修改的数据对象,例如 id
title:'', // 组件标题
saveBtnText:'' // 保存按钮文案
},
... // 用户动态扩展其他组件
},
required:[] // 必填的字段
}
},
// 当 moduleType 为 iframe 时,
iframeConfig: {
path: ''
},
// 当 moduleType 为 custom 时,
customConfig: {
path: ''
},
// 当 moduleType 为 sider 时,
siderConfig: {
menu: [
{
// 可递归 menuItem 数据
},
...]
}
},
...
]
}服务端启动
const { serverStart } = require('@meowmeow233/elpis');
const app = serverStart({});自定义服务端启动
- router-schema
- router
- controller
- service
- extend
- config
前端构建
const { frontendBuild } = require("@meowmeow233/elpis");
// 编译构建前端工程
frontendBuild(process.env._ENV);自定义页面扩展
在 app/pages/目录下写入口 entry.xxx.js
dashboard / custom-view 自定义页面扩展
- 在
app/pages/dashboard/complex-view/schema-view/components下写组件; - 配置到
app/pages/dashboard/complex-view/schema-view/components/component-config.js;
schema-form 空间扩展
- 在
app/widgets/schema-form/complex-view下写控件; - 配置到
app/widgets/schema-form/form-item-config.js;
schema-search-bar 控件扩展
- 在
app/widgets/schema-search-bar/complex-view下写控件; - 配置到
app/widgets/schema-search-bar/search-item-config.js;
