🚀 被迫认识低代码 之 Oinone上手二开前端组件

"领导让我试试用 Oinone 开发 ,于是我有了这篇笔记。"

一来希望自己养成记录习惯,二来规避反复踩坑过程, 三来希望对后续要用到此平台的朋友有帮助


1️⃣ 开发准备

Node.js

  • 官方直接展示使用:v20.16.0

项目代码

  • 开源版:拉取官方示例仓库(前端 oinone-frontend-*-tutorials,后端 oinone-backend-*-tutorials
  • 企业版:找公司对接人要
bash 复制代码
    git clone https://github.com/oinone/oinone-frontend-starter.git

    # Clone with SSH
    git clone git@github.com:oinone/oinone-frontend-starter.git

    # 或者直接去 Gitee 仓库
    https://gitee.com/oinone

2️⃣ 探索一下 Oinone 前端项目

项目结构

  • 使用 多包管理,区分通用组件与私有组件
  • 值得在常规开发中借鉴,后续计划单独写一篇笔记(开心的挖下第一个坑)

核心组件

  • Mask(母版) :页面框架(顶部栏 / 侧边栏)
  • Layout(布局) :某类视图的内容分区(如表格视图主区域)
  • Element(组件) :真正的可视化元素(按钮、卡片、图表)

💡 个人理解:相当于向二次开发人员开放了 6 个接口,自定义组件后按类型存放、替换


3️⃣ 官方的案例:计数器

组件开发与注册

  • 常规 Vue + TS 开发
  • 通过 props 获取 TS 文件中的方法
  • 采用类的方式写组件,区别于常规 Vue 编码
  • 需注意:别漏掉 @Widget.* 装饰器

示例(vue 文件):

示例(TS 文件):

typescript 复制代码
    #TS文件
    import { BaseElementWidget, SPI, Widget } from '@oinone/kunlun-dependencies';
    import Counter from './Counter.vue';

    @SPI.ClassFactory(
      BaseElementWidget.Token({
        widget: 'Counter'
      })
    )
    export class CounterWidget extends BaseElementWidget {
      public initialize(props) {
        super.initialize(props);
        this.setComponent(Counter);
        return this;
      }

      // 导入value
      @Widget.Reactive()
      public value: number = 0;


      // 导入方法
      @Widget.Method()
      public onIncrement() {
        this.value += 1;
      }
    }

最后需 注册组件,即可在平台内调用。

4️⃣ 实际开发复杂组件

  • 支持使用第三方库(如 Ant Design Vue)
  • 'BMDX' 主要是用在拖拉拽中注册使用,请大家忽略我的命名规范问题
  • 👉 后续计划继续研究并分享 M2O / O2M 等等特性。(挖下第二个坑)

🧾 小结一下

这篇笔记的目标是 快速上手 Oinone 前端开发

  • 开发准备:明确 Node.js 版本 & 仓库来源,保证环境一致。
  • 项目结构:多包管理,让通用与私有组件分离,便于复用与治理。
  • 组件开发:TS + 装饰器方式组织逻辑,Vue 负责展示与交互。
  • 复杂场景:可灵活调用子组件、引入第三方库,但要关注继承关系。
相关推荐
码农杂谈00071 天前
制造业供应链管理系统快速搭建:AI 开发效率提升指南
人工智能·低代码
Jeking2171 天前
初探低代码平台核心组件表单设计器unione-form-editor
低代码·动态表单·表单设计·表单引擎·unione cloud
UXbot1 天前
2026年文字转原型AI工具推荐:输入一句需求描述,自动生成多页面可交互界面
前端·低代码·ui·交互·ai编程·原型模式
Jeking2171 天前
低代码开发平台核心组件表单设计器unione-form-editor之表单引擎初始化
低代码·动态表单·表单设计·表单引擎·unione cloud
ZKNOW甄知科技1 天前
客户案例|智慧医药零售头部x燕千云,以AI+知识库驱动服务转型
大数据·运维·人工智能·科技·低代码·自动化·敏捷流程
ZKNOW甄知科技1 天前
ITR服务流全解析:从框架到治理的系统化指南
大数据·运维·人工智能·科技·低代码·用户运营·敏捷流程
UXbot1 天前
AI应用原型平台核心能力:界面自动生成、交互流程编辑、多格式代码导出详解
前端·低代码·交互·软件构建·原型模式·web app
梦梦代码精2 天前
《企业开源商城选型:商业闭环、二次开发与成本平衡》
java·开发语言·低代码·开源·github
梦梦代码精2 天前
Likeshop一个开源商城到底有哪些功能模块?
java·低代码·开源·php
白狐_7982 天前
软考软件设计师英语题怎么做:低代码、DevOps、软件工程高频词汇总结
低代码·软件工程·devops