incloud开发文档 5.1.0 Help

依赖扩展

当平台的引用的功能无法满足项目中的需求时,可以通过扩展的方式来实现。

后台的扩展

后台针对一些模块是支持扩展的(理论上所有模块都可以扩展,只是针对平台底层的一些模块,扩展有一定风险), 平台对于需要扩展的模块,一般都提供了源代码,源代码以springboot starter包的形式提供,会统一放到外网私服中, 当你在本地引入一个依赖时,相应的source代码也是可以下载的,跟你下载maven中央仓的源代码是一样的道理, 下载后,可以阅读此模块中的相应代码,从而进行二次扩展。

平台提供的扩展模块

目前平台提供的扩展模块有:

  • incloud-base-dependency-mdm

  • incloud-product-portal-starter

会在后续的版本中,提供更多的扩展模块,敬请期待。

扩展模块的使用

以incloud-base-dependency-mdm为例,此模块是对mdm的扩展,首先下载相应源码。 可以先在依赖中找到mdm模块,然后找到任意一个类,如下图所示:

Org class

然后点击 Download Sources,下载源码,下载后,可以在本地的maven仓库中找到相应的源码包。 这样,就可以在本地调试、阅读源代码,如果想覆盖某一个类也变得简单。

由于是spring容器来管理这些bean,所以,如果想覆盖某一个类,只需要在自己的项目中,定义一个同名的类即可, 提供的bean名称与原bean名称一样,spring容器会自动覆盖原bean。当然,在某些代码下,可能需要使用@Primary注解,或者使用同样包名的情况。 这样的话,最好按同包名的方式来覆盖。

在service的实现层或controller层,会更方便一些,你甚至可以直接继承原来的类,然后覆盖相应的方法即可。

总之,你可以像正常使用spring的bean一样,来覆盖、重写相应的bean来达到扩展的目的。

前端的扩展

前端是通过pnpm+vite+vue3+ts构建的一个vue项目一。 因此,你可以在此基础上任意扩展所需的第三方组件,通过pnpm命令进行所需扩展。

# 下载包(XXX) pnpm install XXX pnpm i XXX # -S 默认写入dependencies pnpm add XXX -S # -D devDependencies pnpm add -D # 全局安装 pnpm add -g # 移除包(XXX) pnpm remove XXX # 移除全局包(XXX) pnpm remove XXX --global # 更新所有依赖项 pnpm up # 更新包(XXX) pnpm upgrade XXX # 更新全局包(XXX) pnpm upgrade XXX --global # 设置存储路径 pnpm config set store-dir /path/to/.pnpm-store # 启动(和npm一样即可) pnpm run dev
Last modified: 20 一月 2025