1.0.1 • Published 8 months ago
@kg01/epis v1.0.1
#Epis ##一个企业级应用框架,通过全栈实现。
model 配置
{
mode: 'dashboard', // 模版类型,不同模版类型对应不同数据结构
name: '',//名称
desc: '',//描述
icon: '',//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 时
iframerConfig: {
path: '',// iframe 路径
},
// 当 moduleType == custom 时
customConfig: {
path: '',// 自定义路由路径
},
// 当 moduleType == schema 时
schemaConfig: {
api: '/api/user', //数据源API 遵循 RESTFUL 规范
schema: { //板块数据结构
type: 'object',
propertries: {
key: {
...schema, //标准 schema 配置
type: '', // 字段类型
label: '', // 字段中文名
// 字段在 table 中的相关配置
tableOption: {
...elTableColumnConfig, // el-table-column 相关配置
toFixed: 2, // 小数点后保留几位
visible: true, // 是否显示
},
// 字段在 searchBar 中的相关配置
searchOption: {
...elComponentConfig, // el-table-column 相关配置
comType:'',//配置组件类型 input/select/.....
default:'',//搜索默认展示什么值
//当格式为comType==='select'时,配置下拉选项
enumList:[],
//当格式为comType==='dynamicSelect'时,配置下拉选项
api:''
},
// 字段在 不同动态component 中的相关配置,前缀对应 componentConfig 中的 key
// 例如:componentConfig.createForm 对应 createFormOption 中的相关配置
createFormOption: {
...elComponentConfig, // el-component 相关配置
comType:'',//配置组件类型 input/select/.....
default:'',//搜索默认展示什么值
visible:true,//是否显示
disabled:false,//是否禁用
//当格式为comType==='select'时,配置下拉选项
enumList:[],
//当格式为comType==='dynamicSelect'时,配置下拉选项
api:''
},
//字段在 editForm 表单相关配置
editFromOption: {
...elComponentConfig, // el-component 相关配置
comType:'',//配置组件类型 input/select/.....
default:'',//搜索默认展示什么值
visible:true,//是否显示
disabled:false,//是否禁用
//当格式为comType==='select'时,配置下拉选项
enumList:[],
//当格式为comType==='dynamicSelect'时,配置下拉选项
api:''
},
detailPanelOption:{
...elComponentConfig, // el-component 相关配置
}
},
...
}
},
tableConfig: { // table 相关配置
headerButtons:[{
label:'', // 按钮名称
eventKey:'',//按钮事件名
eventOption:{//按钮事件具体配置
// 当 eventKey==='showComponent'
comName:'',//组件名称
},
...elButtonConfig
},...],
rowButtons: [{
label:'', // 按钮名称
eventKey:'',//按钮事件名
eventOption:{//按钮事件具体配置
// 当 eventKey==='showComponent'
comName:'',//组件名称
// 当 eventKey==='remove'
params:{
//paramKey=参数的键值
//rowValueKey=参数值 (当格式为 schema::tableKey 时,表示从 table 中取相应的字段)
paramKey:rowValueKey
}
},
...elButtonConfig
},...],
},
// search-bar 相关配置
searchConfig: {
},
// 动态组件 相关配置
componentConfig: {
//create-form 表单相关配置
createFrom:{
title:'', //表单标题
saveBtnText, //保存按钮名称
},
//edit-form 表单相关配置
editFrom:{
mainKey:'',//主键(用于标识唯一要修改的数据)
title:'', //表单标题
saveBtnText, //保存按钮名称
},
//detail-panel 表单相关配置
detailPanel:{
mainKey:'',//主键(用于标识唯一要修改的数据)
title:'', //表单标题
},
//支持用户动态扩展
}
},
}, ...]
}服务端启动
const {serverStart}=require('@kg01/epis')
//启动epis服务
const app=serverStart({
name:'EpisDemo' //服务名称
})自定义服务端
- router-schema
- router
- controller
- service
- extend
- config
前端构建
const {frontendNuild}=require('@kg01/epis')
//编译构建前端工程
frontendBuild(process.env._ENV);自定义页面扩展
- 在
app/pages/目录下写入口 entry.xxx.js
dashboard/custom-view 自定义页面扩展
- 在
app/pages/dashboard/xxx下写页面
dashboard/schema-view/components 动态组件扩展
- 在
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