# onecode-ocstudio
**Repository Path**: akasic/ocstudio
## Basic Information
- **Project Name**: onecode-ocstudio
- **Description**: onecode-rad 是 onecode 开发版的最小集合,包含了基础的可视乎设计器(100+标准插件),支持onecode3.0 标准规范,允许用户使用onecodez注解规范构建自身的应用开发。可以使用onecode AI 插件实现自然(LLM)语言编写OneCode代码。onecode 本身基于springboot 架构,允许网络部署。
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 5
- **Created**: 2025-08-25
- **Last Updated**: 2025-08-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# OneCode-RAD 🚀
[](https://www.apache.org/licenses/LICENSE-2.0)
[](https://spring.io/projects/spring-boot)
[](https://www.oracle.com/java/technologies/javase-downloads.html)
[](https://maven.apache.org/)
**企业级低代码可视化开发平台**
[快速开始](#快速开始) • [在线文档](#文档) • [示例项目](#示例) • [贡献指南](#贡献)
---
## 📖 项目简介
OneCode-RAD 是一个基于 Spring Boot 的企业级低代码可视化开发平台,专为快速构建企业应用而设计。通过拖拽式界面设计、丰富的组件生态和 AI 辅助编程,大幅提升开发效率,降低开发门槛。
### ✨ 核心特性
- 🎨 **可视化设计器** - 拖拽式界面设计,所见即所得
- 🧩 **100+ 标准组件** - 丰富的 UI 组件库,覆盖常见业务场景
- 🤖 **AI 辅助编程** - 智能代码生成,自然语言转代码
- 📦 **插件化架构** - 灵活的插件体系,支持无限扩展
- 🏗️ **工程管理** - 完整的项目生命周期管理
- 🔧 **OneCode3.0 规范** - 标准化注解体系,确保代码质量
- 🌐 **RESTful API** - 完善的 API 服务支持
- 📊 **数据管理** - 多数据源支持,灵活的数据访问层
### 🏭 适用场景
- 📋 **管理系统** - OA、CRM、ERP 等企业管理系统
- 📊 **数据看板** - 业务数据展示和分析平台
- 🔄 **工作流** - 业务流程自动化系统
- 🏪 **电商平台** - 商品管理、订单处理系统
- 📱 **移动应用** - 支持响应式设计的移动端应用
## 🏗️ 技术架构
### 架构图
```mermaid
graph TB
subgraph "前端层"
A[可视化设计器]
B[XUI 框架]
C[组件库]
end
subgraph "业务层"
D[工程管理]
E[插件服务]
F[AI 辅助]
end
subgraph "服务层"
G[Spring Boot]
H[RESTful API]
I[数据访问层]
end
subgraph "数据层"
J[MySQL]
K[文件系统]
L[配置管理]
end
A --> D
B --> G
C --> E
D --> H
E --> I
F --> G
H --> J
I --> K
G --> L
```
### 技术栈
| 组件 | 技术选型 | 版本 |
|------|----------|------|
| **后端框架** | Spring Boot | 2.7.0 |
| **前端框架** | XUI (自研) | 3.0+ |
| **构建工具** | Maven | 3.6+ |
| **Java 版本** | JDK | 1.8+ |
| **数据库** | MySQL | 5.7+ |
| **模板引擎** | FreeMarker | - |
## 🚀 快速开始
### 环境要求
确保您的开发环境满足以下要求:
```bash
# 检查 Java 版本
java -version # 需要 JDK 1.8+
# 检查 Maven 版本
mvn -version # 需要 Maven 3.6+
# 检查 Git 版本
git --version # 用于代码管理
```
### 安装部署
#### 1. 克隆项目
```bash
# 克隆仓库
git clone https://gitee.com/wenzhang77/ocstudio.git
cd cstudio
```
#### 2. 编译项目
```bash
# 清理并编译
mvn clean compile
# 打包应用
mvn clean package
```
#### 3. 启动应用
```bash
# 方式一:使用 Maven 插件启动
mvn spring-boot:run
# 方式二:直接运行 JAR 包
java -jar target/Studio.jar
```
#### 4. 访问应用
启动成功后,访问以下地址:
- 🌐 **主应用**: http://localhost:8083
- 🎨 **可视化设计器**: http://localhost:8083/RAD/Designer

### Docker 部署
```bash
# 构建 Docker 镜像
docker build -t onecode-rad .
# 运行容器
docker run -d -p 8083:8083 --name onecode-rad onecode-rad
```
## 📚 使用指南
### 创建第一个项目
1. **访问设计器**:打开 http://localhost:8083/RAD/Designer
2. **新建项目**:点击「新建项目」按钮
3. **设计界面**:拖拽组件到画布,配置属性
4. **预览效果**:点击「预览」查看效果
5. **保存发布**:保存项目并发布
### 组件使用示例
```java
// 使用 OneCode3.0 注解创建数据模型
@FormAnnotation(col = 2, bottombarMenu = {CustomFormMenu.SAVE, CustomFormMenu.SEARCH})
public class UserForm {
@CustomAnnotation(hidden = true, uid = true)
private String userId;
@Required
@CustomAnnotation(caption = "用户姓名", pid = true)
private String userName;
@CustomAnnotation(caption = "邮箱地址")
private String email;
@ComboInputAnnotation(inputType = ComboInputType.spin)
@CustomAnnotation(caption = "年龄")
private Integer age;
// getter/setter 省略...
}
```
### API 接口示例
```java
@Controller
@RequestMapping("/api/user")
@MethodChinaName(cname = "用户管理")
public class UserController {
@RequestMapping(value = "list", method = RequestMethod.POST)
@ModuleAnnotation(caption = "用户列表", dynLoad = true)
@APIEventAnnotation(
isAllform = true,
customRequestData = {RequestPathEnum.SPA_CLASSNAME},
customResponseData = ResponsePathEnum.EXPRESSION
)
@ResponseBody
public ListResultModel> getUserList(@RequestBody UserForm query) {
// 业务逻辑实现
return userService.findUsers(query);
}
}
```
## 🔧 配置说明
### 应用配置 (application.properties)
```properties
# 应用基本配置
spring.application.name=onecode
server.port=8083
# 项目配置
projectName=test
systemCode=client
configName=client
username=devdev
# OneCode 路径配置
onecode.path=/../lib/:^onecode.*\.jar;
local.path=*com.ds
```
### 数据库配置
```properties
# MySQL 数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/onecode
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 连接池配置
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.minimum-idle=5
```
## 📁 项目结构
```
onecode-rad/
├── src/main/
│ ├── java/com/ds/ # Java 源码
│ │ ├── plugins/ # 插件系统
│ │ ├── rad/ # RAD 核心
│ │ │ ├── bean/ # 数据模型
│ │ │ └── service/ # 业务服务
│ │ ├── web/ # Web 层
│ │ ├── JDSInit.java # 启动类
│ │ └── JDSPlugs.java # 插件配置
│ └── resources/
│ ├── static/RAD/ # 前端资源
│ ├── templates/ # 模板文件
│ └── application.properties
├── form/myspace/ # 用户工作空间
├── target/ # 构建输出
├── pom.xml # Maven 配置
└── README.md # 项目说明
```
## 🧩 插件开发
### 创建自定义组件
```java
@Component
public class CustomComponent {
@CustomAnnotation(caption = "自定义组件")
private String customProperty;
// 组件逻辑实现
}
```
### 注册插件
```javascript
// 在 conf_widgets.js 中注册组件
{
id: 'custom.component',
caption: '自定义组件',
imageClass: 'fa fa-custom',
draggable: true,
iniProp: {
// 初始属性
}
}
```
## 🚀 性能优化
### JVM 优化
```bash
# 推荐 JVM 参数
java -Xms2g -Xmx4g -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -jar Studio.jar
```
### 数据库优化
```sql
-- 创建必要的索引
CREATE INDEX idx_user_name ON user_table(user_name);
CREATE INDEX idx_project_type ON project_table(project_type);
```
### 日志配置
```properties
# 日志级别配置
logging.level.com.ds=DEBUG
logging.level.org.springframework=INFO
```
## 🤝 贡献指南
我们欢迎所有形式的贡献!
### 贡献方式
1. 🍴 **Fork** 本仓库
2. 🌿 **创建特性分支** (`git checkout -b feature/AmazingFeature`)
3. 💾 **提交更改** (`git commit -m 'Add some AmazingFeature'`)
4. 📤 **推送到分支** (`git push origin feature/AmazingFeature`)
5. 🎯 **创建 Pull Request**
### 开发规范
- 遵循 OneCode3.0 注解规范
- 编写完整的单元测试
- 保持代码注释的完整性
- 遵循 Java 代码规范
### 问题反馈
- 🐛 [报告 Bug](../../issues/new?template=bug_report.md)
- 💡 [功能请求](../../issues/new?template=feature_request.md)
- 💬 [讨论交流](../../discussions)
## 📄 许可证
本项目基于 [Apache License 2.0](LICENSE) 许可证开源。
## 🙏 致谢
感谢所有为 OneCode-RAD 做出贡献的开发者们!
## 📞 联系我们
- 📧 **邮箱**: 18683731@qq.com
- 🌐 **官网**: https://www.raddev.cn
---
**⭐ 如果这个项目对您有帮助,请给我们一个 Star!**
[⬆ 回到顶部](#onecode-rad-)