简介

PagePlug​ 是一个开源的、声明式的、可视化的前端低代码框架,是Appsmith的中国化项目。由cloudtogo团队开发,它基于Appsmith进行了整体性能优化和汉化,并集成了特色表单解决方案Formily组件和图表解决方案Echarts,为开发者提供强大的低代码开发体验。

🔗 ​GitHub地址​:

https://github.com/cloudtogo/pageplug

🚀 ​核心价值​:

低代码开发 · 中国化优化 · 多端支持 · 开源免费

项目背景​:

  • 开发效率需求​:响应企业对快速应用开发的迫切需求

  • 本土化需求​:提供符合中国开发者习惯的汉化版本

  • 技术栈整合​:整合Formily和Echarts等流行技术栈

  • 开源生态​:构建开放的低代码开发生态系统

技术特色​:

  • 🎨 ​可视化开发​:拖拽式界面设计和组件配置

  • 🔧 ​多端支持​:Web应用、微信小程序多端支持

  • 📊 ​丰富组件​:Formily表单、Echarts图表等特色组件

  • 🚀 ​性能优化​:基于Appsmith的深度性能优化

  • 🌐 ​本土化​:完整汉化和中国开发者体验优化

设计理念​:

  • 开发者友好​:为开发者提供熟悉的开发体验

  • 代码可控​:支持自定义代码和扩展开发

  • 企业级可靠​:满足生产环境的稳定性和性能要求

  • 生态开放​:支持多种数据源和第三方集成

  • 持续进化​:活跃开发和功能迭代


主要功能

1. ​核心功能体系

PagePlug提供了一套完整的低代码开发解决方案,专注于可视化开发和快速应用构建。

可视化开发​:

  • 拖拽布局​:直观的组件拖拽和页面布局

  • 组件库​:丰富的预置组件和模板

  • 属性配置​:可视化组件属性和样式配置

  • 事件绑定​:图形化事件处理函数绑定

  • 数据绑定​:可视化数据模型和状态管理

多端开发​:

  • Web应用​:完整的Web应用开发支持

  • 微信小程序​:微信小程序开发和预览

  • 响应式设计​:自适应不同屏幕尺寸

  • 移动端优化​:移动端专属组件和体验

  • 多端同步​:一次开发,多端部署

数据连接​:

  • API集成​:RESTful API、GraphQL等接口连接

  • 数据库连接​:MySQL、PostgreSQL、MongoDB等数据库

  • 云服务集成​:阿里云、腾讯云等云服务集成

  • 实时数据​:WebSocket实时数据支持

  • 数据转换​:强大的数据转换和处理能力

扩展开发​:

  • 自定义组件​:支持开发自定义组件

  • JavaScript支持​:内嵌JavaScript代码执行

  • 第三方库​:支持引入第三方JavaScript库

  • 插件系统​:功能扩展和插件开发

  • API开发​:后端API开发和集成

团队协作​:

  • 版本管理​:项目版本管理和历史记录

  • 权限控制​:基于角色的访问权限管理

  • 项目共享​:项目分享和协作开发

  • 部署管理​:多环境部署和管理

  • 监控运维​:应用监控和性能分析

2. ​功能详情

Formily表单集成​:

  • 高级表单​:复杂的动态表单解决方案

  • 表单校验​:强大的表单验证和错误处理

  • 表单布局​:灵活的表单布局和排列

  • 数据关联​:表单字段间数据关联和联动

  • 性能优化​:大规模表单性能优化

Echarts图表集成​:

  • 丰富图表​:支持Echarts所有图表类型

  • 数据可视化​:强大的数据可视化能力

  • 交互式图表​:支持图表交互和事件

  • 主题定制​:多种图表主题和样式定制

  • 实时更新​:图表数据实时更新和动画

开发工具​:

  • 调试工具​:内置调试器和错误提示

  • 性能分析​:应用性能分析和优化建议

  • 代码编辑​:内置代码编辑器和语法高亮

  • 依赖管理​:项目依赖管理和版本控制

  • 构建部署​:一键构建和部署功能

企业功能​:

  • 单点登录​:SSO集成和统一认证

  • 审计日志​:操作审计和安全日志

  • 数据加密​:敏感数据加密和保护

  • 备份恢复​:项目备份和数据恢复

  • 高可用​:集群部署和高可用支持

3. ​技术规格

技术架构​:

前端: React 18 + TypeScript + Ant Design 5
后端: Java + Spring WebFlux
移动端: Taro + Taroify
构建工具: Webpack + Vite
部署: Docker + Nginx

支持数据源​:

数据库: MySQL, PostgreSQL, MongoDB, Redis, Oracle
API: RESTful, GraphQL, SOAP, WebSocket
云服务: 阿里云, 腾讯云, AWS, Azure
文件: Excel, CSV, JSON, XML
消息队列: Kafka, RabbitMQ, RocketMQ

组件体系​:

基础组件: 按钮, 输入框, 表格, 表单, 弹窗
布局组件: 容器, 网格, 卡片, 分割面板
图表组件: Echarts所有图表类型
表单组件: Formily高级表单组件
业务组件: 行业特定业务组件
自定义组件: 用户自定义组件

部署环境​:

操作系统: Windows, Linux, macOS
内存要求: 4GB+ (推荐8GB)
存储要求: 10GB+ 可用空间
网络要求: 稳定的互联网连接
依赖服务: MongoDB, Redis (用于后端)

安装与配置

1. ​环境准备

系统要求​:

操作系统: Windows 10+, Linux Ubuntu 18.04+, macOS 10.15+
内存: 8GB+ RAM (推荐16GB)
存储: 20GB+ 可用空间
网络: 稳定互联网连接
权限: 标准用户权限

开发环境​:

  • Node.js​:16.0+ 版本

  • Java​:JDK 11+

  • Maven​:3.6+

  • Docker​:20.10+ (可选)

  • Git​:2.20+

2. ​安装步骤

Docker快速部署(推荐)​​:

# 使用Docker Compose快速部署
git clone https://github.com/cloudtogo/pageplug.git
cd pageplug

# 启动所有服务
docker-compose up -d

# 访问应用
# 打开 http://localhost:80

本地开发安装​:

# 克隆仓库
git clone https://github.com/cloudtogo/pageplug.git
cd pageplug

# 前端环境配置
cd app/client
cp .env.example .env
yarn install

# 启动前端开发服务器
yarn start-win  # Windows
# 或
yarn start      # Linux/macOS

# 后端环境配置
cd ../server
cp envs/dev.env.example .env
# 配置MongoDB和Redis连接信息

# 启动后端服务
mvn clean compile
bash ./build.sh -DskipTests
bash ./scripts/start-dev-server.sh

生产环境部署​:

# 构建生产版本
cd pageplug
bash ./build-prod.sh

# 或使用Docker生产部署
docker build -t pageplug:latest .
docker run -d -p 80:80 -p 443:443 pageplug:latest

云平台部署​:

# Heroku部署
git clone https://github.com/cloudtogo/pageplug.git
cd pageplug
heroku create your-app-name
git push heroku main

# 或使用阿里云/腾讯云部署
# 参考各云平台的容器服务部署指南

3. ​配置说明

环境变量配置​:

# .env 配置文件示例
# 前端配置
REACT_APP_API_BASE_URL=http://localhost:8080
REACT_APP_WS_BASE_URL=ws://localhost:8080
REACT_APP_ENVIRONMENT=development

# 后端配置
APPSMITH_MONGODB_URI=mongodb://localhost:27017/pageplug
APPSMITH_REDIS_URL=redis://localhost:6379
APPSMITH_ENCRYPTION_PASSWORD=your-encryption-password
APPSMITH_ENCRYPTION_SALT=your-encryption-salt

数据库配置​:

# MongoDB配置
spring:
  data:
    mongodb:
      uri: mongodb://username:password@host:port/database
      authentication-database: admin

# Redis配置
spring:
  redis:
    host: localhost
    port: 6379
    password: your-redis-password
    database: 0

安全配置​:

// 安全配置示例
@Configuration
@EnableWebFluxSecurity
public class SecurityConfig {
    @Bean
    public SecurityWebFilterChain securityWebFilterChain(ServerHttpSecurity http) {
        return http
            .authorizeExchange()
            .pathMatchers("/api/**").authenticated()
            .anyExchange().permitAll()
            .and()
            .formLogin()
            .and()
            .build();
    }
}

小程序配置​:

// 小程序配置
// config/dev.js
module.exports = {
  API_BASE_URL: '"http://localhost:8080/api/"',
  DEFAULT_APP: '"your-app-id"',
  // 微信小程序配置
  WEAPP_APPID: '"your-weapp-appid"',
  WEAPP_SECRET: '"your-weapp-secret"'
};

使用指南

1. ​基本工作流

使用PagePlug的基本流程包括:创建应用 → 设计界面 → 连接数据 → 配置逻辑 → 预览测试 → 发布部署。整个过程设计为直观简单,开发者可以通过可视化界面完成大多数操作。

2. ​基本使用

创建新应用​:

1. 登录PagePlug平台
2. 点击"新建应用"按钮
3. 选择应用类型(Web应用或小程序)
4. 输入应用名称和描述
5. 选择初始模板或空白项目

界面设计​:

// 使用可视化编辑器设计界面
1. 从组件面板拖拽所需组件到画布
2. 在属性面板配置组件属性
3. 在样式面板调整组件样式
4. 在布局面板调整页面布局
5. 使用快捷键快速操作(Ctrl+Z撤销,Ctrl+Y重做)

数据连接​:

# 连接数据源
1. 点击"数据源"菜单
2. 选择数据源类型(API、数据库、云服务等)
3. 配置连接参数和认证信息
4. 测试连接并保存

# 使用数据源
1. 在组件属性中使用 {{dataSource.queryData}} 绑定数据
2. 或使用JavaScript操作数据

逻辑配置​:

// 配置组件事件处理
1. 选择组件并点击"事件"选项卡
2. 添加事件处理器(点击、变化、加载等)
3. 选择动作类型(查询数据、导航、显示消息等)
4. 配置动作参数

// 或使用JavaScript
{{ 
  // 示例:按钮点击事件
  () => {
    showModal('提示', '操作成功');
    refreshData();
  }
}}

预览测试​:

# 预览应用
1. 点击"预览"按钮查看实时效果
2. 在不同设备尺寸下测试响应式布局
3. 测试数据连接和业务逻辑
4. 使用调试工具排查问题

# 小程序预览
1. 配置微信开发者工具
2. 点击"小程序预览"生成体验版
3. 扫描二维码在手机端测试

发布部署​:

# 发布应用
1. 点击"发布"按钮
2. 选择部署环境(开发、测试、生产)
3. 配置部署参数(域名、CDN、HTTPS等)
4. 确认发布并查看部署状态

# 或导出代码
1. 点击"导出"按钮
2. 选择导出格式(源代码、Docker镜像等)
3. 下载导出文件到本地
4. 自行部署到目标环境

3. ​高级用法

自定义组件开发​:

// 创建自定义组件
// MyCustomComponent.js
import React from 'react';

const MyCustomComponent = ({ data, onClick }) => {
  return (
    <div onClick={onClick}>
      {data.map(item => (
        <div key={item.id}>{item.name}</div>
      ))}
    </div>
  );
};

export default MyCustomComponent;

// 注册自定义组件
PagePlug.registerComponent('my-custom-component', MyCustomComponent);

API开发​:

// 自定义后端API
@RestController
@RequestMapping("/api/custom")
public class CustomController {
    
    @PostMapping("/process-data")
    public ResponseEntity<?> processData(@RequestBody DataRequest request) {
        // 处理业务逻辑
        return ResponseEntity.ok(result);
    }
}

工作流自动化​:

// 复杂业务逻辑示例
{{ 
  (async () => {
    // 步骤1:获取用户数据
    const userData = await getUserData();
    
    // 步骤2:处理业务逻辑
    const processedData = processUserData(userData);
    
    // 步骤3:保存结果
    const result = await saveData(processedData);
    
    // 步骤4:通知用户
    if (result.success) {
      showNotification('操作成功');
      navigateTo('成功页面');
    } else {
      showError('操作失败');
    }
  })()
}}

性能优化​:

// 数据查询优化
{{ 
  // 使用分页查询
  tableData: () => {
    return queryDataSource
      .skip((currentPage - 1) * pageSize)
      .limit(pageSize)
      .get();
  }
}}

// 使用缓存
{{ 
  cachedData: memoize(() => expensiveOperation(), 'cache-key')
}}

应用场景实例

案例1:企业后台管理系统开发

场景​:企业需要快速开发内部后台管理系统

解决方案​:使用PagePlug快速构建功能完整的后台系统。

实施方法​:

# 创建后台管理项目
1. 选择"管理系统"模板
2. 配置组织结构和用户权限
3. 连接企业数据库和API
4. 开发各个功能模块:
   - 用户管理模块
   - 权限管理模块  
   - 数据统计模块
   - 报表生成模块
5. 测试并部署到生产环境

管理系统功能​:

  • 用户管理​:用户CRUD操作和权限分配

  • 角色权限​:基于角色的访问控制系统

  • 数据看板​:Echarts数据可视化看板

  • 业务审批​:工作流审批系统

  • 系统监控​:系统运行状态监控

开发效率提升​:

  • 时间节省​:开发时间从月级降到周级

  • 一致性​:统一的界面风格和用户体验

  • 维护性​:可视化配置降低维护难度

  • 扩展性​:轻松添加新功能模块

  • 成本降低​:减少开发和维护人力成本

案例2:微信小程序快速开发

场景​:创业公司需要快速上线微信小程序

解决方案​:使用PagePlug一站式小程序开发。

小程序开发​:

# 创建小程序项目
1. 选择"小程序"模板类型
2. 配置微信小程序AppID和密钥
3. 设计小程序页面和交互流程
4. 开发核心功能:
   - 用户登录和授权
   - 商品展示和购买
   - 订单管理和支付
   - 用户中心和设置
5. 预览测试并提交审核

小程序特色​:

  • 原生体验​:接近原生小程序的用户体验

  • 微信集成​:完整的微信API集成支持

  • 性能优化​:小程序专属性能优化

  • 审核支持​:简化的小程序审核流程

  • 数据分析​:集成微信数据分析功能

创业价值​:

  • 快速上线​:几天内完成小程序开发和上线

  • 成本控制​:大幅降低开发成本和周期

  • 迭代灵活​:快速响应市场变化和用户反馈

  • 多端一致​:Web和小程序体验保持一致

  • 生态整合​:无缝整合微信生态能力

案例3:数据可视化平台构建

场景​:数据分析团队需要构建数据可视化平台

解决方案​:使用PagePlug和Echarts构建强大可视化平台。

数据可视化​:

# 构建数据可视化项目
1. 连接多种数据源(数据库、API、文件等)
2. 使用Echarts组件创建各种图表:
   - 折线图、柱状图、饼图等基础图表
   - 地图、热力图、关系图等高级图表
   - 自定义图表和可视化效果
3. 设计交互式数据看板
4. 设置数据刷新和实时更新

可视化功能​:

  • 多数据源​:支持多种数据源接入和融合

  • 丰富图表​:Echarts全图表类型支持

  • 交互探索​:数据筛选、下钻、联动等交互

  • 实时更新​:数据实时刷新和动画效果

  • 移动适配​:移动端友好的可视化体验

分析价值​:

  • 洞察发现​:通过可视化发现数据洞察

  • 决策支持​:数据驱动的决策支持能力

  • 效率提升​:快速创建和调整数据看板

  • 协作分享​:方便的数据看板分享和协作

  • 成本优化​:降低数据可视化开发成本


总结

PagePlug作为一个面向开发者的中国化低代码平台,通过其强大的可视化开发能力、多端支持和中国化优化,为开发者提供了高效的应用开发解决方案。其开源特性和活跃社区,使其成为各种规模项目的理想选择。

核心优势​:

  • 🚀 ​开发效率​:可视化开发大幅提升开发效率

  • 🇨🇳 ​中国化​:完整的汉化和本土化优化

  • 📱 ​多端支持​:Web和小程序多端开发支持

  • 📊 ​生态整合​:Formily和Echarts等生态整合

  • 🆓 ​开源免费​:完全开源,免费使用

适用场景​:

  • 企业后台管理系统开发

  • 微信小程序快速开发

  • 数据可视化平台构建

  • 内部工具和应用开发

  • 原型验证和MVP开发

技术特色​:

  • 现代架构​:基于React、Spring WebFlux、Taro现代技术栈

  • 企业级功能​:满足企业级应用的需求

  • 开发者友好​:为开发者优化的开发体验

  • 持续更新​:活跃的开发和社区支持

  • 完善文档​:详细的使用文档和示例

🌟 ​GitHub地址​:

https://github.com/cloudtogo/pageplug

🚀 ​快速开始​:

Docker部署或本地开发

📚 ​学习资源​:

项目文档和社区支持

立即使用PagePlug,提升您的应用开发效率!​

最佳实践建议​:

  • 🏢 ​企业用户​:建立组件库和开发规范

  • 🛒 ​电商项目​:利用模板快速搭建电商应用

  • 📈 ​数据项目​:深度使用Echarts数据可视化

  • 👥 ​团队协作​:建立团队协作和代码规范

  • 🔧 ​高级开发​:利用自定义组件和API扩展

注意事项​:

  • ⚠️ ​性能优化​:复杂应用注意性能优化

  • 🔒 ​安全配置​:生产环境加强安全配置

  • 📋 ​代码管理​:定期备份和版本管理

  • 🔄 ​更新维护​:保持平台版本更新

  • 📝 ​文档维护​:保持项目文档和注释

PagePlug持续演进和发展,欢迎用户反馈和贡献,共同打造更好的低代码开发平台!

更多推荐