• 首页
  • 产品中心
    • 数式Oinone四大产品

      低代码开发平台无代码开发平台集成开发平台AI大模型开发
    • 数式Oinone体系能力

      用户与组织权限管理文件管理消息中心国际化业务审计
    • 数式Oinone核心产品特性

      低无一体面向软件公司场景无限制应用级扩容可分可合
  • 服务中心
    • 客户服务

      预约演示方案咨询私有部署找人定制
    • 开发者

      问答下载
    • Oinone学院

      社区学习

    《精讲面向软件公司的低代码平台——以Oinone为例》

  • 合作伙伴
    渠道申请伙伴名录专家库
  • 关于数式
0571-88757863

章节 13:模块间相互作用(Interact With Other Modules)


在上一章中,我们运用继承的方式修改了一个模块的行为。在我们的费用管理业务场景里,我们希望能够更进一步,实现为客户自动生成财务凭证的功能。假设我们基于 Oinone 再开发了一个会计模块,所以要是能直接从我们的费用管理模块中创建会计凭证那就太棒了,也就是说,一旦报销单的状态被设置为 “已生效”,就在会计应用程序中自动生成对应的会计凭证。

一、Link模块

参考:与此主题相关的文档可在 “Module API” 中找到。

目标:在本节结束时

  1. 新增 "account(会计)" 与 "expenses_account" 两个模块。通过将 expenses_account 模块的 application 属性设置为 false,实现其在 AppFinder 中隐藏,仅展示 account 会计模块。
  2. 重写 expenses.ExpenseBill 模型 “接受” 操作逻辑,触发时自动生成会计凭证。

每当我们与其他模块进行交互时,都需要牢记 Oinone 的模块化特性。假设,你同时做了费用管理模块和会计模块。如果我们打算将应用程序出售给企业客户,有些客户可能会需要将费用数据传递给会计系统进行财务处理,生成相应的会计凭证。而有些则可能不需要。 对于这类使用场景,常见的做法是创建一个 “链接” 模块。在我们的例子中,这个模块将依赖于 expenses(费用管理)模块和 account(会计)模块,并包含费用管理中针对报销单创建会计凭证逻辑。通过这种方式,费用管理模块和会计模块可以独立安装。当两个模块都安装后,再安装链接模块就会提供新的功能。

练习(Exercise)

  1. 创建 account 模块
  2. 创建一个链接模块: 创建 expenses_account 模块,application 属性设置为 false ,且依赖增加于 expenses 和 account 模块。

提示:你在本教程开头已经做过类似的操作,过程非常相似。

  1. 给 account 模块,增加一个凭证 account.Voucher 模型,增加四个字段:摘要(summary)、科目(subject)、借贷方向(debitOrCredit)、金额(amount)。
  2. 为account 模型创建菜单“凭证管理”绑定account.Voucher 模型。
  3. 于 expenses_account 模块中,对 expenses.ExpenseBill 模型的 “接受” 操作逻辑予以重写,实现操作触发时自动生成会计凭证。

警告

各个模块的包路径,不能包含相同的包路径,否则会导致元数据加载出问题。所以如链接模块expenses_account 它的包路径建议以link开头如:pro.shushi.oinone.trutorials.link.expenses.account

本章可能是到目前为止所涵盖的最困难的章节之一,但它最接近 Oinone 实际开发中的情况。

编辑此页
最近更新:2026/1/14 08:45
上一页
章节 12:继承(Inheritance)
下一页
章节 14:产品的个性化开发(Customized Features)
默认页脚
Copyright © 2026 Mr.Hope