增加技术规范
This commit is contained in:
		
							
								
								
									
										291
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										291
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,142 +1,191 @@ | ||||
| # 德木 JsonRpc 协议数据对接文档 | ||||
| # 开发技术规范文档 | ||||
|  | ||||
| --- | ||||
| ## 关于Hyperf | ||||
|  | ||||
| Hyperf 是一款基于 Swoole 协程服务器的 PHP 微服务框架,其主要特点如下: | ||||
| - **高性能**:基于 Swoole 协程服务器,支持高并发、低延迟的处理能力。 | ||||
| - **灵活可扩展**:支持多种协议,如 HTTP、WebSocket、RPC 等,同时支持自定义协议。 | ||||
| - **组件化**:提供了丰富的组件,如缓存、数据库、队列等,方便开发者快速搭建应用。 | ||||
| - **易用性**:提供了简单易用的 API,方便开发者快速开发应用。 | ||||
| - **社区活跃**:拥有活跃的社区,提供了丰富的文档和资源,方便开发者学习和使用。 | ||||
|  | ||||
| ## 关于JsonRpc | ||||
| JsonRpc 是一种轻量级的远程过程调用协议,其主要特点如下: | ||||
| - **轻量级**:协议简单,易于实现和维护。 | ||||
| - **跨语言**:支持多种语言,如 PHP、Java、Python 等。 | ||||
| - **支持异步**:支持异步调用,提高系统的并发能力。 | ||||
| - **支持多种传输协议**:支持 HTTP、WebSocket、TCP 等多种传输协议。 | ||||
| - **支持多种序列化方式**:支持 JSON、XML、Protobuf 等多种序列化方式。 | ||||
| - **支持多种认证方式**:支持 Basic Auth、OAuth、Token 等多种认证方式。 | ||||
| - **支持多种错误处理方式**:支持自定义错误处理方式,方便开发者调试和定位问题。 | ||||
|  | ||||
| ## 关于本项目 | ||||
| 本项目是基于 Hyperf 框架实现的 JsonRpc 协议数据对接文档,其主要特点如下: | ||||
| - **基于 Hyperf 框架**:基于 Hyperf 框架,提供了丰富的组件和工具,方便开发者快速开发应用。 | ||||
| - **支持多种协议**:支持多种协议,如 HTTP、WebSocket、RPC 等,方便开发者选择合适的协议。 | ||||
|  | ||||
| ## 德木仓储、金融、ERP系统重构初衷 | ||||
| - 重构前:基于 ThinkPHP/Laravel 框架,采用 MVC 架构,代码耦合度高,扩展性差,性能瓶颈明显。技术人员没有统一框架开发,开发人员按项目独立,不能相互支援,工作分配不均衡。 | ||||
| - 重构后:基于 Hyperf 框架,采用微服务架构,代码解耦,扩展性强,性能提升明显。统一技术框架,统一服务部署,减少服务器资源,降低成本。 | ||||
|  | ||||
| ## 初次会议记录 | ||||
| ### 会议内容 | ||||
| #### 1、系统目前遇到的问题: | ||||
| - 独立多系统数据交互,处理同样的业务,不稳定且浪费资源。 | ||||
| - 框架相互独立,开发人员按项目独立,不能相互支援,工作分配不均衡。 | ||||
| - 框架独立,服务部署不统一,浪费服务器资源,拉高成本。 | ||||
| - 应用相互独立,微信等第三方服务重复对接,浪费开发资源和成本。 | ||||
|  | ||||
| #### 2、讨论重构系统架构技术方案,评估需求、人力及时间成本 | ||||
| - 系统架构统一,服务部署统一,减少服务器。 | ||||
| - 重新整理业务需求,统一后端服务,独立公共服务,减少微信等第三方对接。 | ||||
| - 讨论技术人员的工作分配,统一框架。 | ||||
|  | ||||
| #### 3、短期解决方案 | ||||
| - **死锁问题**:临时结束进程,释放死锁。 | ||||
| - **资源占用**:限制资源、临时释放资源占用大的进程。 | ||||
|  | ||||
| #### 遇到问题,解决问题,原有架构修修补补导致的问题: | ||||
| - 风险大,随时间增加每个项目需投入开发人员修复迭代,熟悉每个项目代码,从根本解决不了问题。 | ||||
| - 成本增加,服务器资源和第三方服务每个项目独立,增加服务资源成本。 | ||||
|  | ||||
| ### 会议纪要: | ||||
| 1. **业务分析**:重构 - 满足新的需求重构旧的系统;原有基础迭代 - 按原有系统架构及逻辑优化。 | ||||
| 2. **重构**:获取客户数据,分析客户对ERP系统使用画像,若客户仅仅将其当做提货入口,则讨论重构方案,评估时间、人力成本。 | ||||
| 3. **重构**:后端技术统一框架、抽取公共服务独立出来、统一部署。 | ||||
| > 本规范文档适用于技术团队及新引入技术的项目落地,目标是规范化公司技术选型、架构设计、开发流程,提升质量与效率,降低技术风险。 | ||||
|  | ||||
| --- | ||||
|  | ||||
| ## 服务中心 | ||||
| ## 📌 一、前言 | ||||
|  | ||||
| > 📌 **服务中心为 Nacos**   | ||||
| > 通过 `composer require hyperf/service-governance-nacos` 组件实现。   | ||||
| > 详细用法参考 [Hyperf 文档](https://hyperf.io)。 | ||||
| ### 目标与背景 | ||||
| 规范化公司技术选型、架构设计、开发流程,提升质量与效率,降低技术风险。 | ||||
|  | ||||
| 🔹 一个服务可以同时作为 **服务提供者** 或 **消费者**   | ||||
| 🔹 作为消费者时,可提供回调服务 | ||||
| ### 适用范围 | ||||
| 适用于技术团队及新引入技术的项目落地。 | ||||
|  | ||||
| --- | ||||
|  | ||||
| ## 公共接口服务 | ||||
| ## 🧱 二、技术栈选型与架构概览 | ||||
|  | ||||
| ### 🧠 AI 服务 - `AiService` | ||||
| - 提供查询、数据分析等功能 | ||||
|   - **查询功能**:支持对多种类型的数据进行高效查询,涵盖结构化数据(如数据库表)和非结构化数据(如日志文件)。用户可以根据不同的条件快速筛选和检索所需信息。 | ||||
|   - **数据分析**:提供全面的数据分析能力,包括基础统计分析、趋势预测、聚类分析等。帮助用户从海量数据中提取有价值的见解,为决策提供有力支持。 | ||||
| ### 2.1 技术体系结构图 | ||||
| 平台整体架构图, Web 层、服务层、硬件接口层、中间件层、存储层、第三方接入等模块交互与部署方式。 | ||||
|  | ||||
| ### 📱 EasyApp 服务 - `EasyAppService` | ||||
| - 提供微信、钉钉、公众号等服务 | ||||
|   - **微信小程序服务**:支持小程序接口、消息订阅号等功能,包括消息推送、用户管理、菜单管理等。 | ||||
|   - **钉钉服务**:支持钉钉机器人、钉钉消息推送等功能,包括消息发送、开放平台接口等。 | ||||
|   - **公众号服务**:支持公众号消息推送、用户管理、菜单管理等功能,包括消息发送、用户管理、菜单管理等。 | ||||
|   - **开放平台**:支持开放平台接口。 | ||||
| ### 2.2 技术选型说明 | ||||
|  | ||||
| ### ☁️ OSS 服务 - `OssService` | ||||
| - 文件上传、签名、回调 | ||||
| - 文件下载、删除等常规操作 | ||||
|   - **文件上传**:支持文件上传功能,包括文件上传、文件签名、文件回调等功能。 | ||||
|   - **文件下载**:支持文件下载功能,包括文件下载、文件删除等功能。 | ||||
|   - **文件签名**:支持文件签名功能,包括文件签名、文件回调等功能。 | ||||
|   - **文件回调**:支持文件回调功能,包括文件回调、文件删除等功能。 | ||||
|  | ||||
| ### 🖨️ 云打印服务 - `PrintService` | ||||
| - 快麦云打印机支持 | ||||
| - 打印回调、参数配置 | ||||
|   - **打印回调**:支持打印回调功能,包括打印回调、打印参数配置等功能。 | ||||
|   - **打印参数配置**:支持打印参数配置功能,包括打印参数配置、打印回调等功能。 | ||||
| - *后续将接入更多打印机型号* | ||||
|  | ||||
| ### 📨 短信服务 - `SmsService` | ||||
| - 阿里云短信发送 | ||||
| - 短信签名、模板配置 | ||||
|   - **短信签名**:支持短信签名功能,包括短信签名、短信模板配置等功能。 | ||||
|   - **短信模板配置**:支持短信模板配置功能,包括短信模板配置、短信签名等功能。 | ||||
| - *后续将接入更多短信服务* | ||||
|  | ||||
| ### ⚙️ 系统配置服务 - `SysConfigService` | ||||
| - 各系统的第三方接口对接秘钥管理 | ||||
|   - **系统秘钥管理**:支持系统秘钥管理功能,包括系统秘钥管理、系统配置等功能。 | ||||
|  | ||||
| ### 👥 用户管理服务 - `UserAuthService` | ||||
| - 公共用户逻辑服务 | ||||
| - 子系统可调用统一用户服务 | ||||
|   - **用户管理**:支持用户管理功能,包括用户管理、用户登录、用户注册等功能。 | ||||
|  | ||||
| ### 🌐 WebSocket 服务 - `WebSocketService` | ||||
| - 公共 WS 服务模块 | ||||
| - 子系统可调用统一 WS 服务 | ||||
|   - **WebSocket 服务**:支持 WebSocket 服务功能,包括 WebSocket 服务、WebSocket 消息推送等功能。 | ||||
| | 模块 | 技术选型                                                               | 说明 | | ||||
| |------|--------------------------------------------------------------------|------| | ||||
| | Web 框架 | PHP + Swoole + Hyperf                                              | 高并发、协程模型,用于高性能后端服务 | | ||||
| | 硬件上位机开发 | C# + C++                                                           | C# 用于可视化控制界面,C++ 用于底层驱动与 TCP 通信模块 | | ||||
| | 前端框架 | Vue 3.x + TypeScript/JavaScript + Vuex + Vue Router + Element Plus | 前端开发栈,响应式与组件化开发 | | ||||
| | 对外接口 | RESTful API                                                        | 标准化输出格式,统一鉴权方案 | | ||||
| | 数据库 | MySQL(RDS) + Redis(缓存+分布式锁)                                        | 用数据库架构 | | ||||
| | 中间件 | RabbitMQ                                                           | 异步任务队列、事件消息总线 | | ||||
| | 服务发现与配置中心 | Nacos                                                              | 服务注册发现 + 动态配置中心 | | ||||
| | 硬件通信 | TCP 服务                                                             | 所有硬件上位机通过统一 TCP 服务接入,遵循协议解析规范 | | ||||
|  | ||||
| --- | ||||
|  | ||||
| ## 合同服务 | ||||
| ## ☁️ 三、云服务与第三方服务使用规范 | ||||
|  | ||||
| ### 📝 e签宝合同 - `ContractService` | ||||
| - 签署业务合同常规流程对接 | ||||
| - 支持多系统调用 | ||||
|   - **合同服务**:支持合同服务功能,包括合同服务、合同签署等功能。 | ||||
|   - **合同模版**:支持合同模版功能,包括合同模版、合同签署等功能。 | ||||
| ### 3.1 阿里云资源管理 | ||||
|  | ||||
| ### 📑 单据模版 - `OrderTempService` | ||||
| - 模版处理服务 | ||||
| - 根据业务需求动态生成文档 | ||||
|   - **单据模版**:支持单据模版功能,包括单据模版、单据生成等功能。 | ||||
| - **ECS 实例命名规则**:`<环境>-<业务>-<编号>`(如:prod-order-01) | ||||
| - **资源标签管理**:按业务、环境、负责人分类 | ||||
| - **网络安全组规则**:最小权限原则,仅开放必要端口,需开放端口时,需由技术审批 | ||||
|  | ||||
| ### 3.2 第三方基础服务 | ||||
|  | ||||
| - **阿里短信服务**:统一 SDK、消息模板管理、错误码处理机制 | ||||
| - **e签宝电子签名**:鉴权方式、回调接口、数据可追溯性管理 | ||||
|  | ||||
| --- | ||||
|  | ||||
| ## 回调服务 | ||||
| ## 💰 四、采购审批流程 | ||||
|  | ||||
| > 🔄 **回调机制说明** | ||||
| - 消费者端定义服务回调接口 | ||||
| - 服务端成功执行后触发回调消费者服务 | ||||
| - 所有第三方服务需走审批流程:**技术经理 → 总监审批 → 录入内部采购系统** | ||||
| - 保留完整审批链,评估成本、替代方案与风险 | ||||
| - 采购记录需与采购管理系统对接 | ||||
|  | ||||
| --- | ||||
|  | ||||
| ## 📐 五、系统设计与文档规范 | ||||
|  | ||||
| ### 5.1 需求分析文档 | ||||
|  | ||||
| - 使用统一模板,输出功能描述、用户角色、流程图、非功能性需求等 | ||||
|  | ||||
| ### 5.2 接口设计规范 | ||||
|  | ||||
| - 遵循 RESTful 设计原则 | ||||
| - 使用统一接口文档框架(Apipost) | ||||
| - 支持自动代码生成、Mock 调试、文档同步更新 | ||||
| - 硬件TCP接口使用统一接口规范,签名验签 | ||||
|  | ||||
| ### 5.3 架构决策记录 | ||||
|  | ||||
| - 流程记录重大技术决策 | ||||
| - 内容包括:背景、讨论、决定等 | ||||
|  | ||||
| --- | ||||
|  | ||||
| ## 🧑💻 六、开发规范与代码结构 | ||||
|  | ||||
| ### 6.1 目录结构(以自动化/MES/生产系统为例) | ||||
|  | ||||
| - 本文基于 Hyperf 官方框架结构,并结合社区最佳实践,逐一说明每个目录/文件的职责与用途。 | ||||
|  | ||||
| ```text | ||||
| ├── .devcontainer/ | ||||
| ├── .github/ | ||||
| ├── app/ | ||||
| ├── bin/ | ||||
| ├── config/ | ||||
| ├── migrations/ | ||||
| ├── public/ | ||||
| ├── runtime/ | ||||
| ├── storage/ | ||||
| ├── test/ | ||||
| ├── .env.example | ||||
| ├── composer.json | ||||
| ├── phpunit.xml.dist | ||||
| └── ... | ||||
|  | ||||
| ``` | ||||
| ### 6.2 Hyperf 项目目录结构详解 📁 | ||||
|  | ||||
| | **路径**               | **类型** | **功能说明** | | ||||
| |------------------------|----------|--------------| | ||||
| | `.devcontainer/`       | 文件夹   | VS Code 容器配置,统一开发环境 | | ||||
| | `.github/`             | 文件夹   | CI/CD(如 GitHub Actions)、Issue 模板配置 | | ||||
| | `composer.json`        | 文件     | PHP 包依赖配置 | | ||||
| | `.env.example`         | 文件     | 环境变量模板,供复制为 `.env` 使用 | | ||||
| | `phpunit.xml.dist`     | 文件     | PHPUnit 测试配置 | | ||||
|  | ||||
| | **路径**               | **类型** | **功能说明**                       | | ||||
| |------------------------|----------|--------------------------------| | ||||
| | `app/`                 | 文件夹   | 应用主要业务代码入口,包含以下子模块             | | ||||
| | `app/Amqp/`            | 文件夹   | AMQP 消息发送/消费任务类                | | ||||
| | `app/Aspect/`          | 文件夹   | AOP 切面逻辑(如日志、鉴权)               | | ||||
| | `app/Command/`         | 文件夹   | CLI 自定义命令脚本                    | | ||||
| | `app/Constants/`       | 文件夹   | 全局常量定义(状态码、消息类型等)              | | ||||
| | `app/Context/`         | 文件夹   | 请求上下文管理(如 QID、用户信息)            | | ||||
| | `app/Controller/`      | 文件夹   | HTTP 接口控制层                     | | ||||
| | `app/Dao/`             | 文件夹   | 直接数据库访问层封装                     | | ||||
| | `app/Exception/`       | 文件夹   | 自定义异常类和统一逻辑                    | | ||||
| | `app/Helpers/`         | 文件夹   | 通用工具函数                         | | ||||
| | `app/Job/`             | 文件夹   | 定时任务或队列任务执行类                   | | ||||
| | `app/JsonRpc/`         | 文件夹   | JSON-RPC 接口,供硬件或外部调用           | | ||||
| | `app/Listener/`        | 文件夹   | 事件监听器与触发机制                     | | ||||
| | `app/Log/`             | 文件夹   | 日志入口、格式化、QID 链路                | | ||||
| | `app/Middleware/`      | 文件夹   | HTTP/MQ 中间件(限流、鉴权、异常处理)        | | ||||
| | `app/Model/`           | 文件夹   | ORM 映射层,对应数据库表                 | | ||||
| | `app/Process/`         | 文件夹   | 自定义进程(如 Socket、守护进程)           | | ||||
| | `app/Repository/`      | 文件夹   | Repository 或 DAO 层,封装 Model 调用 | | ||||
| | `app/Request/`         | 文件夹   | 接口参数验证对象                       | | ||||
| | `app/Scope/`           | 文件夹   | Eloquent 范畴定义(global/local)    | | ||||
| | `app/Service/`         | 文件夹   | 业务逻辑层,处理 Controller 请求         | | ||||
| | `app/Task/`            | 文件夹   | 异步任务,配合 Scheduler 使用           | | ||||
| | `app/Utils/`           | 文件夹   | 独立于业务的工具逻辑封装                   | | ||||
|  | ||||
| - 代码调用层级:Controller → Repository → Service → Model | ||||
| - Repository 不直接操作 DB,由 Service 统一调用 Model | ||||
|  | ||||
| ### 6.3 命名与依赖注入 | ||||
|  | ||||
| - 类命名:以 `Repository`, `Dao`, `Service`, `Controller`, `Model`... 后缀命名 | ||||
| - 使用 `@property` 注解实现隐式 DI,提高 IDE 识别与导航 | ||||
|  | ||||
| ### 6.4 响应与日志规范 | ||||
|  | ||||
| - 统一响应出口:`App\Core\Response` | ||||
| - 示例代码: | ||||
|  | ||||
| ```php | ||||
| namespace App\Core; | ||||
|  | ||||
| class Response { | ||||
|     public static function success($data = null, $msg = 'OK', $code = 0): array { | ||||
|         return compact('code', 'msg', 'data'); | ||||
|     } | ||||
|  | ||||
|     public static function error($code = -1, $msg = 'Error', $data = null): array { | ||||
|         return compact('code', 'msg', 'data'); | ||||
|     } | ||||
| } | ||||
| ``` | ||||
| - 中间件在请求到达 Controller 前生成 qid(唯一请求 ID),写入上下文,日志需携带 qid 用于链路追踪 | ||||
|  | ||||
| ## 🔨 七、测试策略 | ||||
|  | ||||
| - 单元测试:Service 层、关键工具类、协议解析模块覆盖。 | ||||
| - 集成测试:API 接口调试、数据库交互、消息队列流程。 | ||||
| - 性能测试:压力测试脚本(wrk)、Swoole 并发 benchmark。 | ||||
| - 协议连通:硬件 TCP 接口测试工具、模拟场景以及并发测试。 | ||||
|  | ||||
| ## 🚫 八、安全与合规 | ||||
|  | ||||
| - 配置隔离:生产环境用配置中心读取,禁止硬编码。 | ||||
| - 鉴权方式:对外接口通过 OAuth2/JWT + IP 白名单 + 签名方式同网关。 | ||||
| - 硬件接入安全:TCP 接口需做协议签名校验,防重放、防 DOS、防配置漏洞攻击。 | ||||
| - 数据保护:敏感数据如手机号、身份证在数据库存储时采用加密。 | ||||
|  | ||||
| ## 🎓 久、文档与知识管理 | ||||
|  | ||||
| - 所有文档采用 Markdown 管理,统一托管于 Git 仓库。 | ||||
| - 配合 Docsify 等文档生成方案,形成知识库。 | ||||
| - 技术规范等文档均版本化管理、长期维护。 | ||||
|  | ||||
| ## 🚩 十一、组织与流程管控 | ||||
|  | ||||
| - 技术规范由 技术总监 起草,由技术团队评审、讨论完善,由总监批准。 | ||||
| - 新技术、新框架、新工具需要流程引入(决策/评审),并记录至技术规范文档。 | ||||
| - 接口或框架调整须形成文档、明确迁移路径、兼容性策略。 | ||||
| @@ -1,7 +1,8 @@ | ||||
| <!-- docs/_sidebar.md --> | ||||
|  | ||||
| * **开始接入** | ||||
|   * [前言]() | ||||
|   * [开发规范]() | ||||
|   * [关于](about) | ||||
|   * [对接指南](zh-cn/guide) | ||||
| * **Ai服务模块** | ||||
|   * [Ai服务接口功能](zh-cn/ai_function) | ||||
|   | ||||
							
								
								
									
										142
									
								
								about.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										142
									
								
								about.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,142 @@ | ||||
| # 德木 JsonRpc 协议数据对接文档 | ||||
|  | ||||
| --- | ||||
| ## 关于项目 | ||||
|  | ||||
| Hyperf 是一款基于 Swoole 协程服务器的 PHP 微服务框架,其主要特点如下: | ||||
| - **高性能**:基于 Swoole 协程服务器,支持高并发、低延迟的处理能力。 | ||||
| - **灵活可扩展**:支持多种协议,如 HTTP、WebSocket、RPC 等,同时支持自定义协议。 | ||||
| - **组件化**:提供了丰富的组件,如缓存、数据库、队列等,方便开发者快速搭建应用。 | ||||
| - **易用性**:提供了简单易用的 API,方便开发者快速开发应用。 | ||||
| - **社区活跃**:拥有活跃的社区,提供了丰富的文档和资源,方便开发者学习和使用。 | ||||
|  | ||||
| ## 关于JsonRpc | ||||
| JsonRpc 是一种轻量级的远程过程调用协议,其主要特点如下: | ||||
| - **轻量级**:协议简单,易于实现和维护。 | ||||
| - **跨语言**:支持多种语言,如 PHP、Java、Python 等。 | ||||
| - **支持异步**:支持异步调用,提高系统的并发能力。 | ||||
| - **支持多种传输协议**:支持 HTTP、WebSocket、TCP 等多种传输协议。 | ||||
| - **支持多种序列化方式**:支持 JSON、XML、Protobuf 等多种序列化方式。 | ||||
| - **支持多种认证方式**:支持 Basic Auth、OAuth、Token 等多种认证方式。 | ||||
| - **支持多种错误处理方式**:支持自定义错误处理方式,方便开发者调试和定位问题。 | ||||
|  | ||||
| ## 关于本项目 | ||||
| 本项目是基于 Hyperf 框架实现的 JsonRpc 协议数据对接文档,其主要特点如下: | ||||
| - **基于 Hyperf 框架**:基于 Hyperf 框架,提供了丰富的组件和工具,方便开发者快速开发应用。 | ||||
| - **支持多种协议**:支持多种协议,如 HTTP、WebSocket、RPC 等,方便开发者选择合适的协议。 | ||||
|  | ||||
| ## 德木仓储、金融、ERP系统重构初衷 | ||||
| - 重构前:基于 ThinkPHP/Laravel 框架,采用 MVC 架构,代码耦合度高,扩展性差,性能瓶颈明显。技术人员没有统一框架开发,开发人员按项目独立,不能相互支援,工作分配不均衡。 | ||||
| - 重构后:基于 Hyperf 框架,采用微服务架构,代码解耦,扩展性强,性能提升明显。统一技术框架,统一服务部署,减少服务器资源,降低成本。 | ||||
|  | ||||
| ## 初次会议记录 | ||||
| ### 会议内容 | ||||
| #### 1、系统目前遇到的问题: | ||||
| - 独立多系统数据交互,处理同样的业务,不稳定且浪费资源。 | ||||
| - 框架相互独立,开发人员按项目独立,不能相互支援,工作分配不均衡。 | ||||
| - 框架独立,服务部署不统一,浪费服务器资源,拉高成本。 | ||||
| - 应用相互独立,微信等第三方服务重复对接,浪费开发资源和成本。 | ||||
|  | ||||
| #### 2、讨论重构系统架构技术方案,评估需求、人力及时间成本 | ||||
| - 系统架构统一,服务部署统一,减少服务器。 | ||||
| - 重新整理业务需求,统一后端服务,独立公共服务,减少微信等第三方对接。 | ||||
| - 讨论技术人员的工作分配,统一框架。 | ||||
|  | ||||
| #### 3、短期解决方案 | ||||
| - **死锁问题**:临时结束进程,释放死锁。 | ||||
| - **资源占用**:限制资源、临时释放资源占用大的进程。 | ||||
|  | ||||
| #### 遇到问题,解决问题,原有架构修修补补导致的问题: | ||||
| - 风险大,随时间增加每个项目需投入开发人员修复迭代,熟悉每个项目代码,从根本解决不了问题。 | ||||
| - 成本增加,服务器资源和第三方服务每个项目独立,增加服务资源成本。 | ||||
|  | ||||
| ### 会议纪要: | ||||
| 1. **业务分析**:重构 - 满足新的需求重构旧的系统;原有基础迭代 - 按原有系统架构及逻辑优化。 | ||||
| 2. **重构**:获取客户数据,分析客户对ERP系统使用画像,若客户仅仅将其当做提货入口,则讨论重构方案,评估时间、人力成本。 | ||||
| 3. **重构**:后端技术统一框架、抽取公共服务独立出来、统一部署。 | ||||
|  | ||||
| --- | ||||
|  | ||||
| ## 服务中心 | ||||
|  | ||||
| > 📌 **服务中心为 Nacos**   | ||||
| > 通过 `composer require hyperf/service-governance-nacos` 组件实现。   | ||||
| > 详细用法参考 [Hyperf 文档](https://hyperf.io)。 | ||||
|  | ||||
| 🔹 一个服务可以同时作为 **服务提供者** 或 **消费者**   | ||||
| 🔹 作为消费者时,可提供回调服务 | ||||
|  | ||||
| --- | ||||
|  | ||||
| ## 公共接口服务 | ||||
|  | ||||
| ### 🧠 AI 服务 - `AiService` | ||||
| - 提供查询、数据分析等功能 | ||||
|   - **查询功能**:支持对多种类型的数据进行高效查询,涵盖结构化数据(如数据库表)和非结构化数据(如日志文件)。用户可以根据不同的条件快速筛选和检索所需信息。 | ||||
|   - **数据分析**:提供全面的数据分析能力,包括基础统计分析、趋势预测、聚类分析等。帮助用户从海量数据中提取有价值的见解,为决策提供有力支持。 | ||||
|  | ||||
| ### 📱 EasyApp 服务 - `EasyAppService` | ||||
| - 提供微信、钉钉、公众号等服务 | ||||
|   - **微信小程序服务**:支持小程序接口、消息订阅号等功能,包括消息推送、用户管理、菜单管理等。 | ||||
|   - **钉钉服务**:支持钉钉机器人、钉钉消息推送等功能,包括消息发送、开放平台接口等。 | ||||
|   - **公众号服务**:支持公众号消息推送、用户管理、菜单管理等功能,包括消息发送、用户管理、菜单管理等。 | ||||
|   - **开放平台**:支持开放平台接口。 | ||||
|  | ||||
| ### ☁️ OSS 服务 - `OssService` | ||||
| - 文件上传、签名、回调 | ||||
| - 文件下载、删除等常规操作 | ||||
|   - **文件上传**:支持文件上传功能,包括文件上传、文件签名、文件回调等功能。 | ||||
|   - **文件下载**:支持文件下载功能,包括文件下载、文件删除等功能。 | ||||
|   - **文件签名**:支持文件签名功能,包括文件签名、文件回调等功能。 | ||||
|   - **文件回调**:支持文件回调功能,包括文件回调、文件删除等功能。 | ||||
|  | ||||
| ### 🖨️ 云打印服务 - `PrintService` | ||||
| - 快麦云打印机支持 | ||||
| - 打印回调、参数配置 | ||||
|   - **打印回调**:支持打印回调功能,包括打印回调、打印参数配置等功能。 | ||||
|   - **打印参数配置**:支持打印参数配置功能,包括打印参数配置、打印回调等功能。 | ||||
| - *后续将接入更多打印机型号* | ||||
|  | ||||
| ### 📨 短信服务 - `SmsService` | ||||
| - 阿里云短信发送 | ||||
| - 短信签名、模板配置 | ||||
|   - **短信签名**:支持短信签名功能,包括短信签名、短信模板配置等功能。 | ||||
|   - **短信模板配置**:支持短信模板配置功能,包括短信模板配置、短信签名等功能。 | ||||
| - *后续将接入更多短信服务* | ||||
|  | ||||
| ### ⚙️ 系统配置服务 - `SysConfigService` | ||||
| - 各系统的第三方接口对接秘钥管理 | ||||
|   - **系统秘钥管理**:支持系统秘钥管理功能,包括系统秘钥管理、系统配置等功能。 | ||||
|  | ||||
| ### 👥 用户管理服务 - `UserAuthService` | ||||
| - 公共用户逻辑服务 | ||||
| - 子系统可调用统一用户服务 | ||||
|   - **用户管理**:支持用户管理功能,包括用户管理、用户登录、用户注册等功能。 | ||||
|  | ||||
| ### 🌐 WebSocket 服务 - `WebSocketService` | ||||
| - 公共 WS 服务模块 | ||||
| - 子系统可调用统一 WS 服务 | ||||
|   - **WebSocket 服务**:支持 WebSocket 服务功能,包括 WebSocket 服务、WebSocket 消息推送等功能。 | ||||
|  | ||||
| --- | ||||
|  | ||||
| ## 合同服务 | ||||
|  | ||||
| ### 📝 e签宝合同 - `ContractService` | ||||
| - 签署业务合同常规流程对接 | ||||
| - 支持多系统调用 | ||||
|   - **合同服务**:支持合同服务功能,包括合同服务、合同签署等功能。 | ||||
|   - **合同模版**:支持合同模版功能,包括合同模版、合同签署等功能。 | ||||
|  | ||||
| ### 📑 单据模版 - `OrderTempService` | ||||
| - 模版处理服务 | ||||
| - 根据业务需求动态生成文档 | ||||
|   - **单据模版**:支持单据模版功能,包括单据模版、单据生成等功能。 | ||||
|  | ||||
| --- | ||||
|  | ||||
| ## 回调服务 | ||||
|  | ||||
| > 🔄 **回调机制说明** | ||||
| - 消费者端定义服务回调接口 | ||||
| - 服务端成功执行后触发回调消费者服务 | ||||
		Reference in New Issue
	
	Block a user