@yxcheng/augustus
v1.0.4
Published
一个全栈框架
Downloads
26
Readme
Augustus-elpis
一个企业级全栈应用框架
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时
iframConfig: {
path: "", //iframe路径
},
//当moduleType==custom
customConfig: {
path: "", //自定义路由
},
//当moduleType==schema时
schemaConfig: {
api: "", //数据源API(遵循RESTFUL规范)
schema: {
//板块数据结构
type: "object",
properties: {
key: {
...schema, //标准schema配置
type: "", //字段类型
label: "", //字段中文名
// 字段在table中的相关配置
tableOption: {
...elTableColumnConfig, //el-table-column相关配置
visible: true, //字段是否在table中展示,默认为true(false表示不在表单展示)
},
// 字段在search-bar中的相关配置
searchOption: {
...eleComponentConfig, //标准el-component-column 配置
comType: "", //配置组件类型 input/select/...
default: "", //默认值
// comType=='select'
enumList: [], //下拉框可选项
// comType=='dynamicSelect
api: "",
},
// 字段在不同动态component中相关配置,前缀对应componentConfig中的键值
// 如createFormOption对应componentConfig中的createForm
// 字段在createForm中的相关配置
createFormOption: {
...eleComponentConfig, //标准el-component 配置
comType: "", //配置组件类型 input/select/...
visible: true, //字段是否在createForm中展示,默认为true(false表示不在表单展示)
disabled: false, //字段在createForm中是否禁用,默认为false
default: "", //默认值
// comType=='select'
enumList: [], //下拉框可选项
},
// 字段在editForm中的相关配置
editFormOption: {
...eleComponentConfig, //标准el-component 配置
comType: "", //配置组件类型 input/select/...
visible: true, //字段是否在editForm中展示,默认为true(false表示不在表单展示)
disabled: false, //字段在editForm中是否禁用,默认为false
default: "", //默认值
},
detailPanelOption: {
...eleComponentConfig,
},
},
},
required: [], //标记哪些字段必填
},
},
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相关配置
},
], //表格行按钮配置
}, //table相关配置
//searchBar相关配置
searchConfig: {},
// 动态组件相关配置
componentConfig: {
// create-form表单相关配置
createForm: {
title: "", //表单标题
saveBtnText: "", //保存按钮文本
},
// edit-form表单相关配置
editForm: {
mainKey: "", //表单主键,用于唯一标识要修改的数据对象
title: "", //表单标题
saveBtnText: "", //保存按钮文本
},
// detail-panel相关配置
detailPanel: {
mainKey: "", //表单主键,
title: "", //表单标题
},
// 自行拓展
},
},
];
}服务端启动
const { serverStart } = require("@yxcheng/augustus");
// 启动服务
const app = serverStart({});自定义服务端
- router-schema
- router
- controller
- service
- extend
- config
前端构建
const {frontendBuild} =require('@yxcheng/augustus')
// 编译构建前端工程
frontendBuild(process.env._ENV)自定义页面扩展
- 在
app/pages/目录下写入口 entry.xxx.js
dashboard / custom-view 自定义页面扩展
- 在
app/pages/dashboard/xxx下写页面
dashboard / schema-view / components 动态组件拓展
1.在app/pages/dashboard/complex-view/schema-view/components下写组件 2.配置到app/pages/dashboard/complex-view/schema-view/components/component-config.js
schema-form 控件扩展
1.在app/pages/widgets/schema-form/complex-view下写控件 2.配置到app/pages/widgets/schema-form/form-item-config.js
schema-search-bar 控件扩展
1.在app/pages/widgets/schema-search-bar/complex-view下写控件 2.配置到app/pages/widgets/schema-search-bar/search-item-config.js
