elpis-code全栈框架学习笔记

99 阅读2分钟

以下内容基于抖音【哲玄前端】博主的699课程做出阶段性总结

前端切图仔心里的crud痛点

大量重复地根据element-ui框架设计后台管理,耗时且耗心。
虽然目前社会上有许多低代码平台 可以拖拉拽开发 如 Avue 。
本人用了3年Avue框架进行开发,深知其中的痛点及不足。
虽然它可以快速地搭建一个 管理页面,但是想个性化开发某些小组件,简直难上登天!!!
许多属性写死到页面上,只能通过自己重新搭建新的页面去实现。

设计思想

通过JSON schema 规范进行配置文件,通过相关引擎解析器去解析相关模块文件,直接输出到页面中,实现了以 “数据” 驱动 生成页面,且保留个性化定制的接口。

落地方案

以下是前端页面的实现:

首先规范好页面的大概布局,如 el-header el-aside el-container ,经典的侧边栏布局。

**menu --> header**
写 el-header 时for循环 menuList, 且还需解析是否需要下拉。 因此 mode 有两个类型:'module'是正常显示的菜单, 'group' 是可以hover触发下拉的菜单

**menu--> aside**
写 el-aside 时,也是循环 menuList,但是和header的区别是 ,点击后需要判断跳转的情况,如果header 上的menu 已经active了 ,就无需跳转。

**el-container**
通过配置 tableOption 和 searchOption 达到管理后台页面的生成,并且是通用的组件库。
例如不同的页面有不同的搜索字段,通过组件化地getValue(),直接返回当前页面的所有字段,并且在传递给接口,重置功能也相同,是我写3年curd代码无法企及的设计思想!!!

以下是各引擎的实现:

控制层:根据路由返回相对应的 dataList
依赖层:主要是输出日志
中间件层:如 api的参数校验,签名校验,报错处理等
路由层:对相关的路由进行配置
服务层:代理相关接口

个人心得

原来接口也可以封装成get(获取) post(修改) delete(删除) put(新增)