1.0.2 • Published 6 months ago

@qianchen97/elpis v1.0.2

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

一个企业级应用框架,通过全栈实现

model配置

const a = {
    mode : 'dashboard',
    name: '', // 名称
    desc: '', // 描述
    icon: '', // 图标
    homePage: '', // 首页
    // 头部菜单
    menu : [{
        key: '', // 菜单key
        name: '', // 菜单名称
        menuType: '', // 菜单类型  枚举值 group/model
        // menuType为group时,可填
        subMenu: [
            {},{} // 可递归item
        ],
        moduleType: '', // 枚举值 1.iframe/custom/schema/slider
        // 当moduleType为slider时,可填
        sliderConfig: {
            menu: [
            //    可递归item(除了module Type==slider)
            ]
        },
        // 当moduleType为iframe时,可填
        iframeConfig: {
            path: '' // iframe路径
        },
        // 当moduleType为custom时,可填
        customConfig: {
            path: '' // 自定义路由路径
        },
        // 当moduleType为schema时,可填
        schemaConfig: {
            api: '', // 数据源api(restFull)
            schema: {
                type: 'object',
                properties: {
                    // 属性数据结构
                    key: {
                        ...schema, // 标准schema结构
                        type: 'string', // 字段类型
                        label: '', // 字段中文名
                        // 字段在table中的相关配置
                        tableOption: {
                            ...elTableColumnConfig, // 标准elTableColumn结构
                            toFixed: 0, // 保留小数点后几位
                            visible: true, // 是否显示
                        },
                        // 字段在search-bar中的相关配置
                        searchOption: {
                            ...eleComponentConfig, // 标准elComponent结构
                            visible: true, // 是否显示
                            comType: '', // 组件类型
                            default: '', // 默认值
                            // comType 为select时
                            enumList: [], // 下拉框内容
                            // conType 为dynamicSelect时
                            // 动态下拉框内容
                            api: ''

                        },
                        // 字段在component中的相关配置, 前缀对应componentConfig中的键值
                        // 如: createFormOption.createForm 对应 createFormOption
                        // 字段在createForm中相关配置
                        createFormOption: {
                            ...eleComponentConfig, // 标准elComponent结构
                            comType: '', // 组件类型
                            visible: true, // 是否显示
                            disabled: false, // 是否禁用
                            default: '', // 默认值
                            // comType 为select时
                            enumList: [] // 下拉框内容
                        },
                        // 字段在editForm中相关配置
                        editFormOption: {
                            ...eleComponentConfig, // 标准elComponent结构
                            comType: '', // 组件类型
                            visible: true, // 是否显示
                            disabled: false, // 是否禁用
                            default: '', // 默认值
                            // comType 为select时
                            enumList: [] // 下拉框内容
                        },
                        detailPanelOption: {
                            ...eleComponentConfig, // 标准elComponent结构
                        }
                    }
                },
                required: [], // 必选字段
            }, // 板块数据结构
            tableConfig: {
                // 表格配置
               headerButtons: [{
                   label: '', // 按钮名称
                   eventKey: '', // 事件名称
                   eventOption: {
                       // 当eventKey为showComponent时
                       comName: '', // 组件名称

                   }, // 按钮事件配置
                   ...elButtonConfig, // 标准elButton配置
               }, ...],
               rowButtons: [{
                   label: '', // 按钮名称
                   eventKey: '', // 事件名称
                   eventOption: {
                       // 当eventKey为remove时
                       params : {
                           // paramKey = 参数键值
                           // rowValueKey = 参数值(当格式为schema:tableKey的时候,到table中招响应的字段)
                           paramKey: rowValueKey
                       },
                       // 当eventKey为showComponent时
                       comName: ''
                   }, // 按钮事件配置
                   ...elButtonConfig, // 标准elButton配置
               }, ...],
            },
            searchConfig: {
                // 搜索配置
                columns: [
                    // 搜索列配置
                ]
            },
            componentConfig: {
                // create-form 表单
                createForm: {
                    // 表单配置
                    title: '', // 标题,
                    saveBtnText: '', // 保存按钮文案
                },
                // edit-form 表单
                editForm: {
                    mainKey: '', // 主字段,用于唯一标识修改的数据对象
                    title: '', // 标题,
                    saveBtnText: '', // 保存按钮文案
                },
                // 详情组件 detail-panel
                detailPanel: {
                    mainKey: '', // 主字段,用于唯一标识修改的数据对象
                    title: '', // 标题,
                }
                // ...支持动态扩展
            } // 组件配置
        }
    },

}

服务端启动

const {serverStart} = require('@qianchen97/elpis');
// 启动服务
const app = serverStart()

自定义服务端

  • router-schema
  • router
  • controller
  • service
  • extend
  • config