@wwwwwww1111/elpis
v1.0.1
Published
```javascript { mode: "dashboard", // 模板类型 name: "", // 项目名称 decs: "", // 项目描述 icon: "", // 项目图标 homePage: "", // 项目首页 // 头部菜单 menu: [ { key: "", // 菜单唯一描述 name: "", // 菜单名称 menuType: "", // 枚举值,group/module // 当 menuType==group 时,SubMenu 表示子菜单 subMenu: [
Readme
##一个企业级应用,通过全栈实现
model配置
{
mode: "dashboard", // 模板类型
name: "", // 项目名称
decs: "", // 项目描述
icon: "", // 项目图标
homePage: "", // 项目首页
// 头部菜单
menu: [
{
key: "", // 菜单唯一描述
name: "", // 菜单名称
menuType: "", // 枚举值,group/module
// 当 menuType==group 时,SubMenu 表示子菜单
subMenu: [
{
//可递归 menuItem
},
],
// 当 menuType==module 时,module 描述模块
moduleType: "", // sider/iframe/custom/schema
// 当 moduleType==sider 时,siderConfig 描述 sider 模块
siderConfig: {
menu: [
{
//可递归 menuItem
},
],
},
// 当 moduleType==iframe 时,iframeConfig 描述 iframe 模块
iframeConfig: {
path: "", // iframe 路径
},
// 当 moduleType==custom 时,customConfig 描述自定义模块
customConfig: {
path: "", // 自定义模块路径
},
// 当 moduleType==schema 时,schemaConfig 描述 schema 模块
schemaConfig: {
api: "", // 数据源API(遵循 RESTFUL 规范)
schema: {
// 板块数据结构
type: "object",
properties: {
key: {
...schema, //标准schema配置
type: "string", //字段类型
label: "字段名称", //字段名称
// 字段在table中的相关配置
tableOption: {
...elTableColumnConfig, //标准el-table-column配置
toFixed: 0, //保留小数后几位
visible: true, //默认true(false或不配置时,标识不在表单中显示)
},
searchOption: {
...elComponentConfig, //标准el-component-column
comType: "", //配置组件类型 input/select/...
default: "", //默认值
// comType为select时
enumList: [],
// comType为dynamicSelect时
api: "",
},
// 字段在不同动态component中的相关配置,前缀对应componentConfig中的键值
// 如ComponentConfig.createForm,这里对应createFormOption
// 字段在createForm中相关配置
createFormOption: {
...elComponentConfig, //标准el-component-column
comType: "", //配置组件类型 input/select/...
visible: true, //默认true(false或不配置时,标识不在表单中显示)
disabled: false, //默认false(true或不配置时,标识不可编辑)
default: "", //默认值
// comType为select时
enumList: [],
},
// 字段在editForm中的配置
editFormOption: {
...elComponentConfig, //标准el-component-column
comType: "", //配置组件类型 input/select/...
visible: true, //默认true(false或不配置时,标识不在表单中显示)
disabled: false, //默认false(true或不配置时,标识不可编辑)
default: "", //默认值
// comType为select时
enumList: [],
},
detailPanelOption: {
...elComponentConfig, //标准el-component-column
},
},
},
},
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 配置
},
],
},
searchConfig: {},
componentConfig: {
createForm: {
// 创建表单数据结构
title: "", //表单标题
saveBtnText: "", //保存按钮中文
},
// 修改表单相关配置
editForm: {
mainKey: "", //表单主键,用于提交表单
title: "", //表单标题
saveBtnText: "", //保存按钮中文
},
// detail-panel 相关配置
detailPanel: {
mainKey: "", //表单主键,用于提交表单
title: "", //表单标题
},
}, //模板组件
},
},
],
};服务端启动
const { serverStart } = require("@wwwwwww1111/elpis");
// 启动 elpis 服务
const app = serverStart({});自定义服务端
- router-schema
- router
- controller
- service
- extend
- config
前端构建
const { frontendBuild } = require("@wwwwwww1111/elpis");
// 编译构建前端工程
frontendBuild(process.env._ENV);自定义页面扩展
- 在
app/pages/目录下写入口 entry.xxx.js
dashboard / custom-view 自定义页面扩展
- 在
app/pages/dashboard/xxxx下写页面
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
