管理端生产线 (五)- 后端服务

106 阅读1分钟

背景

代码工具客户端代码编辑、管理端开发配置等需要的核心能力提供服务。后端服务提供swagger文档解析、代码解析、代码生成、代码管理、配置管理等功能。

介绍

后端服务使用egg.js 框架、持久层使用sequelize、数据库使用mysql。后端服务提供:

  • swagger模块服务
  • 代码模块服务
  • 类模块服务
  • 依赖模块服务
  • 属性模块服务
  • 代码片段模块服务
  • 组件模块服务
  • 模板模块服务

系统设计

  • 表设计

image.png

后端框架

1、egg.js 后端框架使用egg.js,后端接口开发遵循egg分层思维, model、service、controller。 抽象工具方法(babel解析、代码生成、ast元素方法等)

image.png

2、sequelize

Sequelize 是一个基于 promise 的 Node.js ORM,egg.js 也提供了对应的插件。详情可以在官网查阅。

  • 代码模块-代码模块

    核心功能: 代码解析、插入代码、代码替换

    1、解析工具:

    @babel/parser 获取代码抽象语法树

    2、插入代码:

    @# babel/types生成节点抽象语法节点信息,在指定的抽象语法树中添加节点信息

    3、代码生成:

    @babel/generator,根据抽象语法树信息,调用generator代码字符串生成