1.0.1 • Published 8 months ago

@kg01/epis v1.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
8 months ago

#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 动态组件扩展

  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/widgets/schema-form/complex-view 下写控件
  2. 配置到 app/widgets/schema-form/form-item-config.js

schema-search-bar 控件扩展

  1. app/widgets/schema-search-bar/complex-view 下写控件
  2. 配置到 app/widgets/schema-search-bar/search-item-config.js