# 组件集成规范
# 概述
组件有两种使用方式,可以根据组件的使用场景进行确定
- 方式一:后端以jar包的方式提供,产线通过maven依赖导入到自己的工程中使用
- 方式二:做为独立的服务存在,服务之间可以通过RESTful-API的方式进行通信
下文中的示例均以 事件服务
组件为例
# 后端
后端组件以jar方式提供时,需要上传到指定的私服中,私服地址:http://119.255.194.80:8081,用户名密码请线下联系王鑫
# 模块命名规范
模块名为hos-app开头,然后在后面加上模块名称,如:
事件组件的名称为hos-app-event
。
<dependency>
<groupId>com.mediway.hos</groupId>
<artifactId>hos-app-event</artifactId>
<version>具体版本以实际情况为准</version>
</dependency>
# 工程结构规范
组件的工程结构以总体工程结构规范的方案三为准。
具体示例如下:
hos-app-event 事件服务组件
| hos-app-event-api 模块对外接口模块
| | com.mediway
| | | event.contract
| | | | api 接口
| hos-app-event-controller 模块控制模块
| | com.mediway
| | | event.contract
| | | | | controller 控制层
| hos-app-event-cloud-runner 模块微服务启动模块
| | src/main/java
| | | com.mediway
| | | | hos
| | | | | HosSecurityConfig.java 安全配置类
| | | | | SecurityLoginConfig.java 登录配置类
| | | | EventApplication.java 启动类
| | src/main/resource
| | | application.yml 模块配置文件
| | | application-dev.yml
| | | logback-spring.xml
| hos-app-event-model 模块实体模块
| | com.mediway
| | | event.contract
| | | | model
| | | | | entity 实体,对应表,需要继承BaseEntity
| | | | | vo 视图对象,用于展示层,封装某个指定页面(或组件)的所有数据
| hos-app-event-service 模块服务模块
| | com.mediway
| | | event.contract
| | | | annotation 自定义注解
| | | | config 配置类
| | | | constant 常量类
| | | | enums 枚举类
| | | | exception 模块自定义的异常类
| | | | filter 业务模块自定义的filter
| | | | mapper 需要继承BaseMapper
| | | | service 需要继承BaseService
| | | | | impl 需要继承BaseServiceImpl,实现service
| | | | utils 业务模块自定义的util,除了系统提供的util
| | | | src/main/resource
| | | contract 模块名,也可以是子模块的名称
| | | | XXMapper.xml
# 配置文件命名规范
自定义配置项以framework
开头,第二段为模块名称
framework:
event:
xx1: ssss
xx2: aaaa
# 代码规范
后端代码开发规范(命名规范、注释规范、日志规范、数据库规范等)、接口规范点这里
# 表命名
表的名称以hos_开头,第2段为模块名称,后面部分根据实际的业务情况进行确定,其他请参考数据库规范
比如事件定义表 hos_even_define
,事件订阅表 hos_even_subscribe
# 说明文档
每一个组件开发完成后都需要编写说明文档给各个产线的开发人员使用,
该文档应放在应用组件
章节里面,文档中需要说明以下几点:
- 组件的概述,主要内容包括但不限于 组件的介绍信息、使用场景和解决的问题。
- 组件的集成步骤,包含但不限于( pom依赖信息、初始化SQL、配置文件配置项的说明、) 的描述和示例,示例需要使用代码块,
- 组件的功能详细介绍,文字描述及截图,具体详细程度可参考功能手册中其他模块的介绍
# 前端
# 如何开发应用组件
- 下载代码,运行项目,参考项目下载及运行
- 以
事件服务
组件为例, 执行node ./bin/new.js event
命令(event
为模块名),此命令会在src/sys
目录下新建event
模块,无需再手动创建了.
# 工程结构规范
组件的工程结构以前端工程结构为准。
放在src/sys
目录下,与 hos-app-base
平级.
具体示例如下:
hos
| node_modules 项目依赖包
| public 模板文件
| src 项目资源
| biz 业务目录
| sys 系统目录
| hos-app-base hos基础模块目录
| hos-app-event 事件服务组件
| api 接口配置
| assets 静态文件
| axios axios配置
| components 项目通用组件
| constant 静态常量
| directive 自定义指令
| enum 全局枚举
| i18n 国际化配置
| router 路由配置
| store vuex配置
| styles 公共样式
| utils 工具方法
| views 页面
| defaultSettings 项目默认配置项
| main.js js主入口
| permission.js 全局路由守卫(权限判断)
| static 引入的静态资源(hisUI使用,其他不需要)
| vue.config.js vue配置
| .env 环境配置
| | .... 其他
# 模块命名规范
模块名以hos-app开头,然后在后面加上模块名称,如:
事件组件的名称为hos-app-event
。
# 代码规范
前端代码开发规范点这里
# 分支规范
# 命名规范
以模块名命名主分支,如: event_dev
event_test
event_release
# 权限
主管有master权限,其他开发是dev权限