Anson
Anson
支持S3规范的文件存储 - S3配置 - 文件管理  
web开发需要前端可视化界面以及后端接口。 当前fb已经可以实现API接口的快速生成,并支持自定义。后端接口开发的工作基本满足。 前端可视化界面从使用场景又可分为两大类:完全定制化的前端 和中后台前端 参考:https://code.fun/ 对于完全定制化的前端,由于定制化程度高,暂时不考虑解决。而中后台前端重复性高,定制化程度低,所以可以通过抽象来快速生成。 **第一阶段:** 经过调研发现,REFINE简直是飞布的绝佳搭配伙伴,目前它的社区中已经有众多case,其中hasura,nohost,supase都是飞布对标的竞品。  第一阶段,考虑基于它实现一套带有权限管理的CRUD后台。 **功能概览:** (参考:https://snowy.xiaonuo.vip/sys/menu) ‒ 用户管理: ‒ 超级管理员:内置超级管理员,可以进入后台新建其他管理员 ‒ 用户角色:可以修改其所拥有的角色 ‒ 用户组:用户所属分组(需要在授权钩子中,根据用户组所属的角色,给用户新增角色) 疑问:自建数据库还是用OIDC呢?前者是否可以用gql实现登录,注册功能呢?(可能要搭配钩子) ‒ 角色管理:复用飞布的角色接口 ‒ 授权资源:某角色所能访问的菜单  ‒ 授权权限:角色对应的接口(同RBAC指令)-》需要修改gql(还有四种关系 );接口的名称作为按钮的权限粒度,控制按钮是否禁用或隐藏 ...
为了支持NODEJS的语法提醒,优化了钩子的编辑器。 
对于中后台场景,逐个新建API太繁琐,新增了批量新建功能。 - 仅支持数据库类型的数据源 - 根据表和字段新建增删改查接口 
**为了降低用户学习GraphQL的成本,封装了友好的GraphQL编辑界面**  - 超图面板 - GrapQL编辑区 - 参数输入区 这三块,哪个拿出来都是难啃的骨头~
为了直观的看出来Fireboom API的运行流程,根据operation展示编译成功后的流程图。 
和 模型预览#9 一样,也是为了让开发者在Fireboom中模型设计和API开发的全生命周期。 模型设计本质上是一个简化版的navicate。 - 可视化模型设计(beta):封装了prisma语法,方便操作(但目前还达不到生产要求)  - prisma 源码视图:直接编写prisma语法,支持语法提醒和错误高亮(用到了摩纳哥编辑器和LSP技术) 
与API相关的功能 - API详情:类似postman的API文档页  - API钩子:一个在线的IDE  - API列表:一个文件树
API的开发肯定离不开数据建模,受到[Prisma Studio](https://www.prisma.io/studio)的启发,决定基于prisma实现数据建模功能。  有两块难点: - 前端:模仿[Prisma Studio](https://www.prisma.io/studio)实现数据预览能力(graphql的处理依然是难点) - 后端:开始封装prisma引擎,实现graphql端点,详情见 #[prisma-client-go](https://github.com/fireboomio/prisma-client-go)
基于新版的视觉稿#7 ,重构了前端。 难点是前端对graphql的解析,这块做了好久好久~