@harve/elpis
v1.0.1
Published
```javascript { model:'dashboard', //模板类型,不同模板类型对应不一样的模板数据结构 name:'',//名称 desc:'',//描述 icon:'',//icon homePage:'',//首页(项目配置) // 头部菜单 menu:[{ key:'',//菜单唯一描述 name:'',//菜单名称 menuType:'',//菜单类型 g
Readme
elpis
一个企业级应用框架,通过全栈实现
model 配置
{
model:'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外)
}]
},
// 当menuType==iframe时
iframeConfig: {
path:'',//iframe路径
},
// 当menuType==custom时
customConfig:{
path:'',//自定义路由
},
// 当menuType==schema
schemaConfig:{
api:'',//数据源api(遵循restful规范)
schema:{//模板数据结构
type:'object',
properties:{
key:{//表格列的配置
...schema,//标准schema配置
type:'',//字段类型
label:'',//字段的中文名
// 字段在table中的相关配置
tableOption:{
...ElTableColumnConfig,//eltable标准配置
toFixed:0,//保留小数点后几位
visible:true,//是否渲染,默认true,false或者不配置时不再表单显示
},
// 字段在searchBar中的配置
searchOption: {
...eleComponentConfig,//element-plus标准配置
comType:'',//配置组件类型 input/select/
default:'',//默认值
},
// 字段在不同component中的相关配置,前缀对应componentComfig中的键值
// 如componentConfig.createForm,这里对应createFormOption
// 字段createForm中相关配置
createFormOption:{
...eleComponentConfig,//标准el-component配置
comType:'',//控件类型input select等
visible:true,//是否展示,默认true
disabled:false,//是否禁用,默认false
dafault:'',
// comType===select时生效
enumList:[]
},
// 字段在editform表单中的相关配置
editFormOption:{
...eleComponentConfig,//标准el-component配置
comType:'',//控件类型input select等
visible:true,//是否展示,默认true
disabled:false,//是否禁用,默认false
dafault:'',
// comType===select时生效
enumList:[]
},
// 参看详情配置
detailPanelOption:{
...eleComponentConfig,//标准el-component配置
}
},
...
},
required:[],//是否必填,对于form表单来说
},
tableConfig:{
// 表格上面的按钮
headerButtons:[{
label:'',//按钮名称
eventKey:'',//按钮事件名
eventOption:{
// 当eventKey===‘showComponent’
comName:'',//组件名称
// 当eventKey===‘remove’
params:{
// paramKey=参数的键值
// rowValueKey=参数值,格式为schema::tableKey,到table中找到相应的字段
paramsKey:rowValueKey
}
},//按钮事件具体配置,通过事件打开component
...elButtonConfig//elbutton配置
}...],
// 表格内部的操作按钮
rowButtons:[{
label:'',//按钮名称
eventKey:'',//按钮事件名
eventOption:{
// 当eventKey===remove
params:{
// paramKey = 参数的键值
// rowValue = 参数值(当格式为schema::tableKey的时候,到table中找响应字段)
paramKey:rowValueKey
}
},//按钮事件具体配置
...elButtonConfig//elbutton配置
}...]
},//table相关配置
searchConfig:'',//search-bar 相关配置
componentConfig:{
// create-form表单配置
createForm:{
title:'',//组件名称
saveBtnText:'',//保存按钮文案
},
// edit-form表单配置
editForm:{
title:'',//组件名称
saveBtnText:'',//保存按钮文案
mainKey:'',//表单主键,用于唯一标识要修改的数据对象
},
// detail-pannel组件配置
detailPanel:{
mainKey:'',
title:''
}
...
},//模板组件,这里是配置有什么组件的,比例新增弹窗,修改弹窗;schema中是配置具体的弹窗里面的内容
},
}]
}服务端启动
const { serverStart } = require("@harve/elips")
// 启动elips服务
const app = serverStart({
name: "Elips",
homePage: "/view/project-list",
})自定义服务端
- router-schema
- router
- controller
- service
- extend
- config
前端构建
const { frontendBuild } = require("@harve/elips")
// 编译构建前端工具
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
