初始化json-rpc文档项目
This commit is contained in:
5
.idea/.gitignore
generated
vendored
Normal file
5
.idea/.gitignore
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
6
.idea/jsLibraryMappings.xml
generated
Normal file
6
.idea/jsLibraryMappings.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JavaScriptLibraryMappings">
|
||||
<file url="PROJECT" libraries="{prism-php, search, vue}" />
|
||||
</component>
|
||||
</project>
|
15
.idea/jsonrpc-docs.iml
generated
Normal file
15
.idea/jsonrpc-docs.iml
generated
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="WEB_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/temp" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/tmp" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="vue" level="application" />
|
||||
<orderEntry type="library" name="prism-php" level="application" />
|
||||
<orderEntry type="library" name="search" level="application" />
|
||||
</component>
|
||||
</module>
|
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/jsonrpc-docs.iml" filepath="$PROJECT_DIR$/.idea/jsonrpc-docs.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
62
README.md
Normal file
62
README.md
Normal file
@ -0,0 +1,62 @@
|
||||
# 德木 JsonRpc 协议数据对接文档
|
||||
|
||||
## 服务中心
|
||||
|
||||
> 📌 **服务中心为 Nacos**
|
||||
> 通过 `composer require hyperf/service-governance-nacos` 组件实现。
|
||||
> 详细用法参考 [Hyperf 文档](https://hyperf.io)。
|
||||
|
||||
🔹 一个服务可以同时作为 **服务提供者** 或 **消费者**
|
||||
🔹 作为消费者时,可提供回调服务
|
||||
|
||||
---
|
||||
|
||||
## 公共接口服务
|
||||
|
||||
### 🧠 AI 服务 - `AiService`
|
||||
- 提供查询、数据分析等功能
|
||||
|
||||
### 📱 EasyApp 服务 - `EasyAppService`
|
||||
- 提供微信、钉钉、公众号等服务
|
||||
|
||||
### ☁️ OSS 服务 - `OssService`
|
||||
- 文件上传、签名、回调
|
||||
- 文件下载、删除等常规操作
|
||||
|
||||
### 🖨️ 云打印服务 - `PrintService`
|
||||
- 快麦云打印机支持
|
||||
- 打印回调、参数配置
|
||||
- *后续将接入更多打印机型号*
|
||||
|
||||
### 📨 短信服务 - `SmsService`
|
||||
- 阿里云短信发送
|
||||
|
||||
### ⚙️ 系统配置服务 - `SysConfigService`
|
||||
- 各系统的第三方接口对接秘钥管理
|
||||
|
||||
### 👥 用户管理服务 - `UserAuthService`
|
||||
- 公共用户逻辑服务
|
||||
- 子系统可调用统一用户服务
|
||||
|
||||
### 🌐 WebSocket 服务 - `WebSocketService`
|
||||
- 公共 WS 服务模块
|
||||
|
||||
---
|
||||
|
||||
## 合同服务
|
||||
|
||||
### 📝 e签宝合同 - `ContractService`
|
||||
- 签署业务合同常规流程对接
|
||||
- 支持多系统调用
|
||||
|
||||
### 📑 单据模版 - `OrderTempService`
|
||||
- 模版处理服务
|
||||
- 根据业务需求动态生成文档
|
||||
|
||||
---
|
||||
|
||||
## 回调服务
|
||||
|
||||
> 🔄 **回调机制说明**
|
||||
- 消费者端定义服务回调接口
|
||||
- 服务端成功执行后触发回调消费者服务
|
BIN
_media/logo.png
Normal file
BIN
_media/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
9
_sidebar.md
Normal file
9
_sidebar.md
Normal file
@ -0,0 +1,9 @@
|
||||
<!-- docs/_sidebar.md -->
|
||||
|
||||
* **开始接入**
|
||||
* [前言]()
|
||||
* [对接指南](zh-cn/guide)
|
||||
* **Ai服务模块**
|
||||
* [Ai服务接口功能](zh-cn/ai_function)
|
||||
* [Ai服务接口列表](zh-cn/ai_service)
|
||||
* **EasyApp接口服务**
|
BIN
favicon.ico
Normal file
BIN
favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
48
index.html
Normal file
48
index.html
Normal file
@ -0,0 +1,48 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Document</title>
|
||||
<link rel="icon" href="favicon.ico" type="image/x-icon">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||
<meta name="description" content="Description">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
|
||||
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script>
|
||||
window.$docsify = {
|
||||
name: '<img src="/_media/logo.png" style="width:50px; height:auto;" alt="">',
|
||||
repo: '',
|
||||
loadSidebar: true,
|
||||
subMaxLevel: 2,
|
||||
|
||||
search: {
|
||||
maxAge: 86400000, // 过期时间,单位毫秒,默认一天
|
||||
paths: [], // or 'auto'
|
||||
placeholder: '输入关键词搜索',
|
||||
|
||||
noData: '没有搜索到结果!',
|
||||
|
||||
// 搜索标题的最大层级, 1 - 6
|
||||
depth: 2,
|
||||
|
||||
hideOtherSidebarContent: false, // 是否隐藏其他侧边栏内容
|
||||
|
||||
// 避免搜索索引冲突
|
||||
// 同一域下的多个网站之间
|
||||
namespace: 'website-1',
|
||||
|
||||
// 您可以提供一个正则表达式来匹配前缀。在这种情况下,
|
||||
// 匹配到的字符串将被用来识别索引
|
||||
pathNamespaces: /^(\/(zh-cn|ru-ru))?(\/(v1|v2))?/
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<!-- Docsify v4 -->
|
||||
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-php.min.js"></script>
|
||||
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
|
||||
</body>
|
||||
</html>
|
12
zh-cn/ai_function.md
Normal file
12
zh-cn/ai_function.md
Normal file
@ -0,0 +1,12 @@
|
||||
# 🤖 接口功能说明
|
||||
|
||||
### 📋 接口功能概览
|
||||
|
||||
| 图标 | 方法名称 | 功能描述 |
|
||||
|------|-----------------------------------|--------------------------|
|
||||
| 🗣 | `aiChatPost` | 实时AI对话交互 |
|
||||
| 📜 | `aiChatHistoryPost` | 获取历史对话记录 |
|
||||
| 📑 | `aiContractRiskAnalysisPost` | 合同文件风险分析 |
|
||||
| 🔍 | `aiContractRiskAnalysisResultPost` | 获取风险分析结果 |
|
||||
| 💾 | `aiQuerySqlPost` | 自然语言转数据库查询语句 |
|
||||
| 🗑️ | `aiChatDelete` | 删除指定对话记录 |
|
87
zh-cn/ai_service.md
Normal file
87
zh-cn/ai_service.md
Normal file
@ -0,0 +1,87 @@
|
||||
# 🤖 AI 服务模块
|
||||
|
||||
## 🛠 服务接口列表
|
||||
|
||||
```php
|
||||
<?php
|
||||
/**
|
||||
* AI 服务接口契约
|
||||
* @author ykxiao <yk_9001@hotmail.com>
|
||||
* @since 2025/4/7
|
||||
* @version 1.0.0
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\JsonRpc;
|
||||
|
||||
interface AiServiceInterface
|
||||
{
|
||||
/**
|
||||
* 🗣 AI 智能对话
|
||||
* @param array $params 对话参数 {
|
||||
* @type string $session_id 会话ID
|
||||
* @type string $user_input 用户输入
|
||||
* @type int $model_type 模型类型
|
||||
* }
|
||||
* @return void
|
||||
*/
|
||||
public function aiChatPost(array $params): void;
|
||||
|
||||
/**
|
||||
* 📜 获取AI对话历史记录
|
||||
* @param array $params 查询参数 {
|
||||
* @type string $user_id 用户ID
|
||||
* @type int $page 页码
|
||||
* @type int $page_size 每页数量
|
||||
* }
|
||||
* @return array {
|
||||
* @type array $list 对话记录列表
|
||||
* @type int $total 总记录数
|
||||
* }
|
||||
*/
|
||||
public function aiChatHistoryPost(array $params): array;
|
||||
|
||||
/**
|
||||
* 📑 智能合同风险分析
|
||||
* @param array $params 合同参数 {
|
||||
* @type string $contract_id 合同ID
|
||||
* @type string $file_url 合同文件URL
|
||||
* }
|
||||
* @return void
|
||||
*/
|
||||
public function aiContractRiskAnalysisPost(array $params): void;
|
||||
|
||||
/**
|
||||
* 🔍 获取合同风险分析结果
|
||||
* @param array $params 查询参数 {
|
||||
* @type string $task_id 分析任务ID
|
||||
* }
|
||||
* @return array {
|
||||
* @type int $risk_level 风险等级
|
||||
* @type array $risk_items 风险条目
|
||||
* }
|
||||
*/
|
||||
public function aiContractRiskAnalysisResultPost(array $params): array;
|
||||
|
||||
/**
|
||||
* 💾 生成数据库查询语句
|
||||
* @param array $params 生成参数 {
|
||||
* @type string $question 自然语言问题
|
||||
* @type string $db_schema 数据库结构
|
||||
* }
|
||||
* @return void
|
||||
*/
|
||||
public function aiQuerySqlPost(array $params): void;
|
||||
|
||||
/**
|
||||
* 🗑️ 删除AI对话记录
|
||||
* @param array $params 删除参数 {
|
||||
* @type string $record_id 记录ID
|
||||
* @type string $user_id 用户ID
|
||||
* }
|
||||
* @return void
|
||||
*/
|
||||
public function aiChatDelete(array $params): void;
|
||||
}
|
||||
```
|
95
zh-cn/guide.md
Normal file
95
zh-cn/guide.md
Normal file
@ -0,0 +1,95 @@
|
||||
# JSON-RPC 接口规范文档
|
||||
|
||||
## 📌 目录
|
||||
- [协议基础信息](#协议基础信息)
|
||||
- [请求格式规范](#请求格式规范)
|
||||
- [响应格式规范](#响应格式规范)
|
||||
|
||||
## 协议基础信息
|
||||
|
||||
> 🌐 **JSON-RPC 通信规范**
|
||||
|
||||
| 项目 | 值 | 说明 |
|
||||
|-----------------|---------------------|--------------------------|
|
||||
| 🔖 协议版本 | JSON-RPC 2.0 | 遵循最新2.0协议规范 |
|
||||
| 📤 传输协议 | HTTP POST | 仅支持POST方法 |
|
||||
| 🚪 服务端点 | `127.0.0.1:8848` | 生产环境请替换为实际地址 |
|
||||
| 🕒 超时时间 | 5000ms | 建议客户端设置超时 |
|
||||
| 📝 Content-Type | `application/json` | 必须严格设置此请求头 |
|
||||
|
||||
---
|
||||
|
||||
## 请求格式规范
|
||||
|
||||
### 📦 请求示例
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "ServiceName.method",
|
||||
"params": {
|
||||
"company_info": {
|
||||
"id": 5,
|
||||
"name": "德木智造",
|
||||
"full_name": "苏州德木智造科技有限公司",
|
||||
"domain": "drp",
|
||||
"owner": "ykxiao",
|
||||
"mobile": "13712279001",
|
||||
"address": "江苏省苏州市太仓市太仓港港口开发区北环路20号809室",
|
||||
"org_code": "91320585MAE1L3233J",
|
||||
"email": "yk_9001@icloud.com"
|
||||
},
|
||||
"userInfo": {
|
||||
"id": 8,
|
||||
"company_id": 5,
|
||||
"user_type": 2,
|
||||
"login_name": "ykk"
|
||||
}
|
||||
},
|
||||
"id": "req_123456"
|
||||
}
|
||||
```
|
||||
|
||||
## 响应格式规范
|
||||
|
||||
### ✅ 成功响应
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"result": {
|
||||
"status": "success",
|
||||
"data": {
|
||||
"request_id": "req_123456",
|
||||
"processed_at": "2023-08-20 15:30:45"
|
||||
}
|
||||
},
|
||||
"id": "req_123456"
|
||||
}
|
||||
```
|
||||
|
||||
### ❌ 错误响应
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"error": {
|
||||
"code": -32000,
|
||||
"message": "企业信息验证失败",
|
||||
"data": {
|
||||
"field": "org_code",
|
||||
"reason": "统一信用代码格式不正确"
|
||||
}
|
||||
},
|
||||
"id": "req_123456"
|
||||
}
|
||||
```
|
||||
|
||||
### 🚨 错误码说明
|
||||
|
||||
| 错误码 | HTTP状态码 | 说明 | 解决方案 |
|
||||
|---------|------------|-----------------------|-------------------------|
|
||||
| -32700 | 400 | 解析错误 | 检查JSON格式 |
|
||||
| -32600 | 400 | 无效请求 | 验证请求参数 |
|
||||
| -32601 | 404 | 方法不存在 | 检查method名称 |
|
||||
| -32602 | 400 | 无效参数 | 检查params参数 |
|
||||
| -32603 | 500 | 内部错误 | 联系技术支持 |
|
||||
| -32000 | 200 | 业务逻辑错误 | 查看error.data详情 |
|
||||
| -32001 | 401 | 未授权访问 | 检查认证信息 |
|
Reference in New Issue
Block a user