umi-plugin-tsql插件可以快速的帮您在项目中把您的菜单转换成sql语句。
业务背景
在项目开发进入后期阶段,大部分项目的菜单获取方式会通过远程接口方式返回菜单数据,这时就会涉及到菜单json数据需要转换成sql菜单语句写入数据库,但常常在这个过程中双方人员皆存在短板区域,导致这个转换过程效率不高,所以在此业务背景场景下,我们提供了umi-plugin-tsql插件可以快速的帮您在项目中把您的菜单转换成sql语句。
支持特性
输入
{"id": 100,"applCode": "antdesign","iconCls": "glyphicon-account1","attributes": {"client": {"loadMode": "component","path": "/welcome"}},"groupId": "antdesign","text": "欢迎"}
输出
insert into ecas_menu (APPLID, MENUID, NAME, LVL, URL, PARENT, IMG, ISCHILD, GROUPID, ATTRIBUTES) values ('antdesign', 100, '欢迎', null, null, null, null, null, 'antdesign', '{"client":{"loadMode":"component","path":"/welcome"}}');
快速集成
安装依赖
我们的插件包现阶段需要nrm源切换到152源进行下载。
检查nrm源链接
nrm ls
设置nrm源为152源
nrm use http://192.168.10.152:7001/
接下来执行以下命令安装插件依赖
npm install @erajs/umi-ui-tsql || yarn add @erajs/umi-ui-tsql
引入配置
需要在项目config目录下的config.js文件中plugins下增加[‘@erajs/umi-ui-tsql’],如:
plugins: [['@erajs/umi-ui-tsql'],],
启动命令
在项目中执行zebra ui命令即可启动:
zebra ui
备注:本地启动好会自动浏览器弹出,如未弹出手动输入http://localhost:3000/project/select尝试打开。
可视化使用
初始化导入项目
经过上述命令zebra ui 启动成功以后,您将会看到以下主界面,在右上角您可以点击导入项目来导入您的项目。如下图:
点击打开项目
点击导入项目,导入成功后您就可以在此界面看到您的项目,点击项目进入。如下图:
TSQL功能
当打开项目以后,如果您严格按照上述快速集成二部曲安装依赖、引入配置的话,您可以在可视化工具左侧工具栏中看到一个TSQL选择项,点击TSQL打开。
基础区域
在右侧区域分为两个区域:
- 资源目录 - 加载菜单结构,让您可以更直观的查看菜单层级等。
- SQL转换区域 - 包含SQL跟菜单两个部分切换。
SQL右上角操作功能
如上图在SQL跟菜单区域内,右上角分别有操作按钮,接下来我们讲解下按钮的作用分别是什么:
SQL:**
- 复制:点击即可复制SQL文件。
- 导出:点击即可导出写有SQL的txt格式的文件。
菜单:
- 重载:此菜单文件可以在插件中更改编写,如果您在保存前想还原之前的,点击重载按钮即可还原。
- 检测有效性:敬请期待。
- 保存:点击保存按钮,同步保存本地项目中的菜单文件,同时会自动加载改变菜单以后的SQL稳健输出。
备注:点击保存以后再想重载还原是无法还原的哦 ,因为已经更改了本地项目的菜单文件。

