{"_id":"@currywyh/elpis","name":"@currywyh/elpis","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@currywyh/elpis","version":"1.0.0","description":"\\#elpis","main":"index.js","scripts":{"test":"cross-env _ENV=local mocha 'test/**/*.js'","lint":"eslint --quiet --ext js,vue"},"repository":{"type":"git","url":"https://git.code.tencent.com/wyhcy/Elpis.git"},"author":{"name":"吴同学"},"license":"ISC","dependencies":{"@babel/core":"^7.24.0","@babel/plugin-transform-runtime":"^7.1.0","@babel/preset-env":"^7.4.5","@babel/runtime":"^7.28.4","@element-plus/icons-vue":"^2.3.2","ajv":"^6.10.2","axios":"^0.19.2","babel-loader":"^8.0.4","clean-webpack-plugin":"^0.1.19","consoler":"^0.2.0","cross-env":"^10.1.0","css-loader":"^0.23.1","css-minimizer-webpack-plugin":"^5.0.1","directory-named-webpack-plugin":"^4.0.1","echarts":"^5.5.0","element-plus":"^2.3.7","express":"^4.18.2","file-loader":"^6.2.0","generate-password":"^1.7.1","glob":"^7.1.4","happypack":"^5.0.1","html-webpack-inject-attributes-plugin":"^1.0.1","html-webpack-plugin":"^5.5.3","jsonwebtoken":"^9.0.2","knex":"^0.19.0","koa":"2.7.0","koa-bodyparser":"^4.2.1","koa-nunjucks-2":"^3.0.2","koa-router":"^7.4.0","koa-static":"^5.0.0","koa-useragent":"2.0.0","koa2-cors":"^2.0.6","less":"^3.8.1","less-loader":"^11.1.3","loadsh":"^0.0.4","lodash":"^4.17.21","log4js":"^6.9.1","md5":"^2.2.1","mini-css-extract-plugin":"^2.7.6","moment":"^2.29.4","mysql":"^2.18.1","node-schedule":"^2.1.1","nodemon":"^1.19.2","path":"^0.12.7","pinia":"^2.1.6","style-loader":"^0.14.1","superagent":"^8.1.2","terser-webpack-plugin":"^2.3.5","url-loader":"^4.1.1","vue":"^3.3.4","vue-json-viewer":"^3.0.4","vue-loader":"^17.2.2","vue-router":"^4.2.4","vue-style-loader":"^4.1.2","vuex":"^4.1.0","webpack":"^5.88.1","webpack-dev-middleware":"^6.1.1","webpack-hot-middleware":"^2.25.4","webpack-merge":"^4.2.1"},"devDependencies":{"assert":"^2.0.0","babel-eslint":"^10.0.2","eslint":"^7.32.0","eslint-plugin-import":"^2.28.1","eslint-plugin-vue":"^9.17.0","ghooks":"~1.0.3","mocha":"^6.1.4","supertest":"^4.0.2","validate-commit-msg":"~2.14.0"},"config":{"ghooks":{"commit-msg":"validate-commit-msg","pre-commit":"npm run lint"}},"_id":"@currywyh/elpis@1.0.0","gitHead":"ffe967b265daa75974a4aadfee6c364228947264","_nodeVersion":"18.19.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-6w/+A8XN9Xm5alzodPimXYN2qt9BxAWi1va6aCZQ/wfMazZ4I/tmMEeDEh8wztDmB6y+JLuwzB681KdAsSLZag==","shasum":"7981ac9d1d01f2bca758a38f2589cea21605bcb8","tarball":"https://registry.npmjs.org/@currywyh/elpis/-/elpis-1.0.0.tgz","fileCount":89,"unpackedSize":560816,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIH0xBmetH/rm0fUdCMEatJak/x1AQnhvXkeYknU03ykMAiEAycdh+EZkQKwa8wZGTCa+Bc2wMJT1iNIqqQ86JbliU38="}]},"_npmUser":{"name":"currywyh","email":"975458402@qq.com"},"directories":{},"maintainers":[{"name":"currywyh","email":"975458402@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/elpis_1.0.0_1764235521610_0.7494719455664616"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-27T09:25:21.527Z","1.0.0":"2025-11-27T09:25:21.866Z","modified":"2025-11-27T09:25:22.111Z"},"maintainers":[{"name":"currywyh","email":"975458402@qq.com"}],"description":"\\#elpis","repository":{"type":"git","url":"https://git.code.tencent.com/wyhcy/Elpis.git"},"author":{"name":"吴同学"},"license":"ISC","readme":"\\#elpis\r\n\r\n\\##一个企业级应用，通过全栈实现。\r\n\r\n### model 配置\r\nJavascript\r\n\r\n{\r\n    mode: 'dashboard'; // 模板类型，不同模板类型对应不一样的模板数据结构\r\n    name: ''; // 名称\r\n    desc: ''; // 描述\r\n    icon: ''; // icon\r\n    homePage: ''; // 首页（项目配置）\r\n    // 头部菜单\r\n    menu: [{\r\n        ...schema, // 标准 schema 配置\r\n        key: '', // 菜单唯一描述,\r\n        name: '', // 菜单名称\r\n        menuType: '', // 枚举值, group / module\r\n\r\n        // 当 menuType == group时 , 可填\r\n        subMenu: [{\r\n            // 可递归 menuItem\r\n        }],\r\n\r\n        // 当 menuType == module 时,\r\n        moduleType: '', // 枚举值: iframe/custom/schema\r\n\r\n        // 当 menuType == sider 时\r\n        siderConfig: {\r\n            menu: [{\r\n                // 可递归 menuItem(除 moduleType === sider)\r\n            }]\r\n        },\r\n\r\n        // 当 menuType == iframe 时\r\n        iframeConfig: {\r\n            path: '', // iframe路径\r\n        },\r\n\r\n        // 当 menuType == custom 时\r\n        customConfig: {\r\n            path: '', // 自定义路由路径\r\n        },\r\n\r\n        // 当 menuType == schema 时\r\n        schemaConfig: {\r\n            api: '/api/user', // 数据源API （遵循 RESTFUL规范）\r\n            schema: { // 板块数据结构\r\n                type: 'object',\r\n                properties: {\r\n                    key: {\r\n                        ...schema, // 标准 schema 配置\r\n                        type: '', // 字段类型\r\n                        label: '', // 字段的中文名\r\n                        // 字段在 table 中的相关配置\r\n                        tableOption: {\r\n                            ...elTableColumnConfig, // 标准 el-table-column 配置\r\n                            toFixed: 0, // 小数点保留\r\n                            visiable: true, // 默认为 true (false 或者 不配置表示不在表单中显示)\r\n                        },\r\n                        // 字段到 search-bar 中的相关配置\r\n                        searchOption: {\r\n                            ...eleComponentConfig, // 标准 el-component-column配置\r\n                            comType: '', // 配置组件类型 input/selecr=t/....\r\n                            default: '', // 默认值\r\n\r\n                            //comType === 'dynamicSelect'\r\n                            api: ''\r\n                        },\r\n                        // 字段到不同动态 component 中的相关配置，前缀对应 componentComfig中的键值\r\n                        // 如:componentConfig.createForm, 这里对应 createFormOption\r\n                        // 字段在 createForm 中相关配置\r\n                        createFormOption: {\r\n                            ...eleComponentConfig, // 标准 el-component 配置\r\n                            comType: '', // 控件类型 input/selet/input-number\r\n                            visiable: true, // 是否显示（true/false）,默认为true\r\n                            disabled: false, // 是否禁用（true/false）,默认为false\r\n                            default: '', // 默认值\r\n\r\n                            //comType === 'select 时生效\r\n                            enumLists: [] //枚举列表\r\n                        },\r\n                        // 字段在 editForm 表单中得相关配置\r\n                        editFormOption: {\r\n                            ...eleComponentConfig, // 标准 el-component 配置\r\n                            comType: '', // 控件类型 input/selet/input-number\r\n                            visiable: true, // 是否显示（true/false）,默认为true\r\n                            disabled: false, // 是否禁用（true/false）,默认为false\r\n                            default: '', // 默认值\r\n\r\n                            //comType === 'select 时生效\r\n                            enumLists: [] //枚举列表\r\n                        },\r\n                        detailPanelOption: {\r\n                            ...eleComponentConfig // 标准 el-component 配置\r\n                        }\r\n                    },\r\n                }\r\n            },\r\n            require: [], // 标记必填项字段\r\n        },\r\n        // table 相关配置\r\n        tableConfig: {\r\n            headerButtons: [{\r\n                label: '', // 按钮名称\r\n                eventKey: '', // 按钮事件名\r\n                eventOption: {\r\n                   // 当 eventKey === 'showComponent'\r\n                   comName: '', // 组件名称\r\n\r\n                   // 当 eventKey === 'remove'\r\n                   params: {\r\n                    // paramKey = 参数的键值\r\n                    // rowValueKey = 参数值， 格式为 schema::tableKey, 到table中找相应的字段\r\n                    paramKey: rowValueKey\r\n                   } \r\n                }, // 按钮事件具体配置\r\n                ...elButtonConfig // 标准 el-button\r\n            }],\r\n            rowButtons: [{\r\n                label: '', //按钮名称\r\n                eventKey: '', // 按钮事件名\r\n                eventOption: {\r\n                    // 当 eventKey === 'remove\r\n                    params: {\r\n                        // paramKey = 参数得键值\r\n                        // rowValueKey = 参数值(当格式为shema:xxx 需要到table中找相应得字段)\r\n                        paramKey: rowValueKey\r\n                    }\r\n                }, // 按钮事件具体配置\r\n                ...elButtonConfig // 标准 el-button\r\n            }]\r\n        },\r\n         // serach-bar 相关配置\r\n        searchConfig: {},\r\n        // 动态组件 相关配置\r\n        componentConfig: {\r\n            // create-form 表单相关配置\r\n            createForm: {\r\n                title: '', // 表单标题\r\n                saveBtnText: '', // 保存按钮文案\r\n            },\r\n            // edit-form 表单相关配置\r\n            editForm: {\r\n                mainKey: '', // 表单主键，用于唯一标识要修改得数据对象\r\n                title: '', // 表单标题\r\n                saveBtnText: '', // 保存按钮文案\r\n            },\r\n            // detail-panel 相关配置\r\n            detailPanel: {\r\n               mainKey: '', // 表单主键，用于唯一标识要修改得数据对象\r\n                title: '', // 表单标题\r\n            }\r\n            // ...支持用户动态扩展\r\n        },\r\n    }]\r\n}\r\n\r\n### 服务端启动\r\njavascript\r\nconst {\r\n    serverStart\r\n} = require('@currywyh/elpis');\r\n\r\n// 启动 elpis 服务\r\nconst app = serverStart({});\r\n\r\n### 自定义服务器\r\n- router-schema\r\n- router\r\n- controller\r\n- service\r\n- extend\r\n- config\r\n\r\n### 前端构建\r\n  、、、javaScript\r\n  const { frontendBuild } = require('@fsiaonma/elpis');\r\n\r\n  // 编译构建前端工程\r\n  frontendBUild(process.env._ENV);\r\n\r\n  ### 自定义页面扩展\r\n  * 在 app/pages/ 目录下写入 entry.xxx.js\r\n\r\n  ### dashboard / custom-view 自定义页面扩展\r\n  * 在 app/pages/dashboard/xxx 下写页面\r\n\r\n  ### dashboadr / schema-view / components 动态组件扩展\r\n  1.在 app/pages/dashboard/complex/schema-view/components 下写组件\r\n\r\n  2. 配置到 app/pages/dashboard/complex-view/shema-view/componenys/component-config.js\r\n\r\n  ### schema-form 空间配置\r\n  1. 在 app/widgets/schema-form/complex-view 下写控件\r\n  2. 配置到 app/widgets/schema-form/form-item-config.js\r\n\r\n  ### schema-search-bar 控件扩展\r\n  1. 在 app/widgets/schema-search-bar/complex-view 下写控件\r\n  2. 配置到 app/widgets/schema-search-bar/search-item-confg.js","readmeFilename":"README.md","_rev":"1-3b8449f3d4bcf594ce224c0234649e38"}