@zzlongs/elpis
v1.0.0
Published
```javascript { mode:'dashboard',//模板类型,不同模板类型对应不一样的模板数据结构 name:'',//名称 deec:'',//描述 icon:'',//图标 homePage:'',//首页(项目配置) //头部菜单 menu:[{ key:'',//菜单唯一描述 name:'',//菜单名称 menuType:'',//枚举值:group /
Downloads
141
Readme
elpis
一个企业应用框架,通过全栈实现。
model 配置
{
mode:'dashboard',//模板类型,不同模板类型对应不一样的模板数据结构
name:'',//名称
deec:'',//描述
icon:'',//图标
homePage:'',//首页(项目配置)
//头部菜单
menu:[{
key:'',//菜单唯一描述
name:'',//菜单名称
menuType:'',//枚举值:group / module
// 当 menuType ==group 时,可填
subMenu:[{
//可递归 menuItem
}, ...],
//当 menuType == module 时,可填
moduleType:'', //枚举值:sider/iframe/custom/schema
//当 moduleType == sider 时
siderConfig:{
menu:[{
//可递归 menuItem (除 moduleType === sider)
},...]
},
//当 moduleType == iframe 时
iframeConfig:{
path:'',// iframe 路径
},
//当 moduleType == custom 时
customConfig:{
path:'',//自定义路由路径
},
//当 moduleType == schema 时
schemaConfig:{
api:'/api/user', //数据源API (遵循 RESTful 规范)
schema:{ //板块数据结构
type:'object',
properties:{
key:{
...schema, //标准 schema 配置
type:'',//字段类型
label:'',//字段的中文名
//字段在 table 中的配置
tableOption:{
...elTableColumnConfig,//标准 el-table-column 配置
toFixed:0, //保留小数位数
visible:true,//默认为 true (false 表示不在表单中显示)
},
// 字段 在 search-bar 中的配置
searchOption:{
...elComponentConfig,//标准 el-component-column 配置
comType:'', //配置组件类型 input/select/...
default:'', //默认值
// 当 comType == select
enumList:[],//枚举值
// 当 comType == dynamicSelect
api:'',
},
//字段在不同状态 component 中的配置 前缀对应componentConfig 中的键值
//componentConfig.createForm 对应 createFormOption
//字段在 createForm 中的配置
creatFormOption:{
...elComponentConfig,//标准 el-component-column 配置
comType:'', //控件类型
visible:true,//是否展示
disabled:false,//是否禁用
default:'', //默认值
//comType == select 时,
enumList:[],//枚举列表
},
//字段在 editForm 中的配置
editFormOption:{
...elComponentConfig,//标准 el-component-column 配置
comType:'', //控件类型
visible:true,//是否展示
disabled:false,//是否禁用
default:'', //默认值
//comType == select 时,
enumList:[],//枚举列表
},
detailPanelOption:{
...elComponentConfig,//标准 el-component-column 配置
}
},
...
},
required:[],// 标记 必填字段
},
// table 配置
tableConfig:{
headerButtons:[{
label:'',//按钮中文名
eventKey:'',//按钮事件名
eventOption:{
//当eventKey === ‘showComponent’
comName:'',//组件名称
},//按钮事件配置
...elButtonConfig,//标准 el-button 配置
},...],
rowButtons:[{
label:'',//按钮中文名
eventKey:'',//按钮事件名
eventOption:{
//当eventKey === ‘showComponent’
comName:'',//组件名称
//当eventKey === remove
params:{
//paramKey = 参数键值
//rowValueKey = 参数值 (当格式为schema::tableKey 时,到 table 中找相应字段)
paramKey:rowValueKey
}
},//按钮事件配置
...elButtonConfig,//标准 el-button 配置
},...],
},
// search-bar 配置
searchConfig:{},
// 动态组件 相关配置
componentConfig:{
title:'',//表单标题
saveBtnText:'', //保存按钮文案
},
// editForm 表单配置
editForm:{
mainKey:'',//表单主键,标识
title:'',//表单标题
saveBtnText:'', //保存按钮文案
}
//detail=panel 配置
detailPanel:{
mainKey:'',//表单主键,标识
title:'',//表单标题
}
}, //支持 用户 动态扩展
},...]
}服务端启动
const {
serverStart,
} = require("@zzlongs/elpis");
// 启动 elpis 服务
const app = serverStart();
自定义服务端
- router-schema
- router
- controller
- service
- extend
- config
前端构建
const { frontendBuild } = require('@zzlongs/elpis');
// 编译构建前端工程
frontendBuild(process.env._ENV);自定义页面扩展
- 在
app/pages/目录下写入口 entry.xxx.js
dashboard / custom-view 自定义页面扩展
- 在
app/pages/dashboard/xxxx下写页面
dashboard /schema-view /component 控件扩展
- 在
app/pages/dashboard/complex/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/schema-form-config.js
schema-search-bar 控件扩展
- 在
app/widgets/schema-search-bar/complex-view下写控件 - 配置到
app/widgets/schema-search-bar/search-item-config.js
