# lowcode-gateway
**Repository Path**: quinngitee/lowcode-gateway
## Basic Information
- **Project Name**: lowcode-gateway
- **Description**: Flexi 拖拽式低代码工具,配合 AI,快速生成 uni-app 、PC 前后端项目。支持 RuoYi 框架。
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 31983
- **Created**: 2025-04-08
- **Last Updated**: 2025-04-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Flexi 低代码
Flexi 低代码是一个低代码工具,目前主要聚焦uni-app 的低代码开发,后期将补充 PC 端低代码开发。
Flexi 的主要灵感来源于:
- RuoYi 框架:RuoYi 框架提供了代码生成功能,可以快速生成管理后台的前后端代码。但是,
- RuoYi 框架是基于模板替换实现的,所以默认是基于 Mysql 的,如果想要使用 SqlServer 、Oracle 等其他数据库,需要使用单独的适配版
- RuoYi 框架在表关系的处理上,最多能够生成主子表类型,对于 一对多、多对多关系支持较差,还是需要再写代码
- RuoYi-App 框架没有提供 uniapp 的代码生成功能,几乎所有业务功能都得需要写代码
- diygw 低代码、可视化 uniapp2.0 等 拖拽设计平台(没用过的话可以自己搜索看看)。
- 这些平台类似于先使用拖拽,把设计图用画布的形式展示出来,通过绑定样式、API 等进行数据绑定,最后再导出整个项目的源代码,由于作者对画布了解不足,所以并没有采用这种方式
- 如果用户不是程序员,那么这些平台确实能有一定的帮助。但如果用户本身就是程序员,那么可能还需要额外的学习成本来学习平台的使用,可能觉得麻烦
- Cursor + claude3.7
- AI 写代码的能力确实很强,Flexi 低代码工具的初衷是想做一个类似于拖拽设计的工具,通过拖拽组合组件来形成页面,减少代码量,但是 AI 的出现,使得作者一度怀疑拖拽设计是否还存在价值。作者目前的推荐是,使用 AI 生成代码,使用拖拽进行少量的微调
- Cursor 等 AI IDE 确实非常好,通过设计图生成单纯的前端页面已经很棒了。但是如果是前后端代码都让 AI 来写,可能需要进行多轮对话,对于前后端一体化的大型项目,可能有些吃力(这里作者说的不一定是对的,因为作者相信 AI 有足够的能力去完全生成一个前后端配合的项目,未来可能真的不需要写代码了)
- Cursor 重度使用的话,是需要付费的,Trae 作为替代,目前还赶不上 Cursor
## 主要界面截图

## 交流群
QQ 群:1032180858
## 快速入门:基本用法教程
1、下载代码到本地
```
git clone https://gitee.com/renjianzhi/lowcode-gateway.git
```
2、在 `ruoyi-admin/src/main/resources/application-lowcode.yml` 中配置 appid、服务器地址,如果没有 appid,联系QQ 535170096 获取
3、运行项目(同 RuoYi-Vue 的启动方式)
可参考 https://doc.ruoyi.vip/ruoyi-vue/document/hjbs.html
4、下载 uni-app 的基础模板项目,支持以下项目
- RuoYi-App `git clone https://gitee.com/y_project/RuoYi-App.git`
- Flexi 提供的基础模板 (后续公布)
5、将 uni-app 项目在 HbuilderX 中打开,并运行到浏览器,得到预览地址 url
6、在 Flexi 低代码页面新建项目,点击 「UI 设计 - 方案列表 - 新增 - 填写项目信息 - 确定」
7、在方案列表中,点击「设计」按钮,进入下方页面

8、准备一个页面设计图
9、让 AI 写出代码,以 Cursor 为例,使用以下指令
```
根据这个图片,生成 uni-app 的页面
只能使用 uni-app 提供的基础组件以及 uni-ui 提供的组件
优先使用 uni-ui 的组件而不是从最基础的组件实现
页面代码的标签层级要尽可能少
只生成 vue 页面文件即可,不需要生成其他项目文件
```
然后把图片直接拖入聊天框

等待 AI 生成代码,然后复制整个代码内容

10、导入到 Flexi 低代码中,点击图层编辑器中的「AI / 导入」按钮

导入完成后,可以在图层编辑器中看到内容
11、设置 tabbar 便于快速查看生成效果,点击 应用全局配置中的「底部 tabBar 配置」按钮
由于 Ruoyi-App 已经定义了 3 个 tabbar,所以把个人中心页面配置到图标 4 上
12、查看 AI 生成的效果
由于导入的操作会解析页面内容、样式,但不会把数据导入进去(因为数据往往需要来自接口),所以我们可以把 Cursor 生成的代码,粘贴到 HBuilderX 中的对应页面中,然后在 Flexi 低代码中进行预览,来快速查看 AI 生成的代码是否满足要求,如果不满足要求,可以再跟 AI 进行对话,让他修改。
修改完的效果可以再次粘贴到 HBuilderX 中,进行效果检查,直到满足要求后,再次进行导入。
13、最终导入满意后,进行数据绑定处理
我们可以先检查 Cursor 生成代码的数据部分,已上述过程中产生的代码为例


这些数据是绑定在某个标签上的,我们在图层编辑器中找到绑定此数据的标签,然后点击标签进行编辑

点击数据选项卡,进行数据绑定,数据绑定分为静态数据、动态接口数据两种
如果数据需要是静态数据,首先把原始数据转换为 json 字符串

然后填入,保存即可,保存后可重新预览页面效果

如果数据是来自于接口的
- 把接口 js 文件放在在 项目的 api目录中
- 按照 `api:js 文件名称:js 中的接口名 `的格式进行配置
- 如果需要传参 `api:js 文件名称:js 中的接口名:参数 `,这里的参数指的是`js方法名(括号中的所有内容才是参数)`
例如:
代表的是,请求

最终生成的代码为
```
import {all as CategoryAll} from '@/api/Category'
...
methods: {
loadData() {
CategoryAll('food').then(data => {
...
```
这样一来,配合后端代码生成,就只需要进行一下数据绑定就可以了,当然,真正的使用过程中还有好多细节要处理,如自定义页面方法、下拉刷新、上拉加载等,会在后续的完整文档中说明。