# alinesno-infra-plugins-templates **Repository Path**: alinesno-cloud/alinesno-infra-plugins-templates ## Basic Information - **Project Name**: alinesno-infra-plugins-templates - **Description**: 代码插件库,用于集成多种插件模板,集成到工程生成器中,形成统一的管理风格,类似于helm或者wordpress的插件原理类似 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2023-02-13 - **Last Updated**: 2023-08-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # alinesno-cloud-initializr-templates ## 概述 > 模板机制是应用在较为严格的工程规范之下,在不熟悉情况下,请勿根据个人喜好进行模板改造。 代码插件库,用于集成多种插件模板,集成到工程生成器中,形成统一的管理风格,类似于helm或者wordpress的插件原理类似 使用类似于spring-boot-starter方式加载工程,模板机制跟starter机制有一定的区别,这里是针模板源码更新到工程, 而不是jar包依赖的形式,主要是方便进一步调试处理,另一方面,这里的模板理解成工程一部分,这个统称为plugin。 ## 集成模板 | 序号 | 模板类型 | 模板名称 | 模板基线目录 | 备注 | |:----:|----------|--------------------|------------------------------------------------|--------| | 1 | 功能模板 | Flowable工作流插件 | alinesno-cloud-plugin-function-flowable | 整合中 | | 2 | | CMS内容管理插件 | alinesno-cloud-plugin-function-cms | 整合中 | | 3 | | 电子商务插件 | alinesno-cloud-plugin-function-shop | 整合中 | | 4 | | 微信支付插件 | alinesno-cloud-plugin-function-wxpay | 整合中 | | | | | | | | 1 | 插件模板 | Nacos插件 | alinesno-cloud-plugin-component-nacos | 整合中 | | 2 | | Elasticsearch插件 | alinesno-cloud-plugin-component-elastichsearch | 整合中 | | 3 | | 整合Ip2region包 | alinesno-cloud-plugin-component-ip2region | 整合中 | | | | | | | | 1 | 前端模板 | 人事首页插件 | alinesno-cloud-plugin-front-homepage | 整合中 | | 2 | | 业务通用首页插件 | alinesno-cloud-plugin-front-business | 整合中 | | 3 | | 数据报表首页插件 | alinesno-cloud-plugin-front-datareport | 整合中 | | | | | | | ## 模板场景 模板处理的场景如下,处理的方式主要考虑因素如下: - 模板为工程一部分,而非公共部分; - [重点]模板的维护职责下放到项目组,明确平台与项目组职责划分; - 工程的个性化配置和自主性,同样为了明确职责划分; - 模板在有相对稳定或者公共部分,依赖团队抽取成jar/npm等; 注意:模板机制参考的是wordpress机制进行管理,而非starter机制。 ## 模板规范 为了更便于模板的管理和维护,模板总共分为几类型: - 功能模板[function]:功能模板即带有对应的功能处理,数据库处理,页面处理等,形成一个功能原子,需分带有api/domain/ui模板 - 组件模板[component]:组件模板类似于starter组件,依赖即可运行,类似于后台处理的组件,也可以当api/ui模板 - 前端模板[front]:前端模板是一个较为完整的模板,即为一个原子进行,可与后台交互,也可以不和后台交互,形成一个模板; - [集成中]移动模板[uniapp]:移动模板即针对于移动app模板,形成移动端的前端模板,这里指的是uniapp。 ### 目录规范 目录规范是针对于模板与工程的目录规范,模板统一放到工程的`alinesno-cloud-plugins`目录下面。 ### 名称规范 这里定义了基本的名称规范配置: 1. 模板模板名称: ```sh alinesno-cloud-plugin-[function]-api # 功能模板api alinesno-cloud-plugin-[function]-domain # 功能模板领域 alinesno-cloud-plugin-[function]-ui # 功能模板前端 alinesno-cloud-plugin-[function]-component # 组件模板 alinesno-cloud-plugin-[function]-uni # 移动模板 ``` 比如`flowable`工作流功能模板,示例如下: ```sh alinesno-cloud-plugin-flowable-api # 功能模板api alinesno-cloud-plugin-flowable-domain # 功能模板领域 alinesno-cloud-plugin-flowable-ui # 功能模板前端 ``` 2. 坐标定义规范 ```xml com.alinesno.cloud.plugin alinesno-cloud-plugin-[function]-api ``` 3. 模板调试规范 - 模板的调试可使用`test`进行主类调试,打包过程不会含有`test`目录; - 模板中不能包含`main`方法,统一使用`junit`调试; 4. 模板读取定义 模板读取定义是为了让生成器读取,类似于jenkins-plugins插件的读取机制,这里平台会读取公共的git文件配置,这里通过`yaml`定义,定义规划如下: ```yaml templates: type: function #function功能模板|component组件模板|front前端模板|uniapp移动模块 classes: screen: 001 industry: 002 type: 001 info: name: Flowable工作流模板 # 模板名称 desc: 集成Flowable工作流模块,快速集成 # 模板描述 team: name: ACP团队研发 # 团队信息 ``` 每个模板定义在工程下面,过程会通过基线读取 ## 其它 - 无