From d01d2e06f46da6b1c59f368fe63e1539244414b2 Mon Sep 17 00:00:00 2001 From: dengjingren Date: Fri, 20 Mar 2026 22:35:37 +0800 Subject: [PATCH 1/2] =?UTF-8?q?docs:=20=E5=AE=8C=E5=96=84=20S3=20=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E4=BD=BF=E7=94=A8=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加详细使用步骤(创建存储、上传文件) - 添加配置字段说明 - 添加完整 API 接口列表 - 添加权限配置说明 - 添加各云服务商配置示例(MinIO、阿里云 OSS、腾讯云 COS) Co-Authored-By: Claude Opus 4.6 --- README.md | 136 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 135 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 512c483..e8c7367 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,137 @@ ## S3 -此插件提供了兼容 S3 协议的存储能力 +此插件提供了兼容 S3 协议的存储能力,支持多存储配置动态管理。 + +### 依赖 + +```bash +pip install opendal +``` + +或使用 uv: + +```bash +uv add opendal +``` + +### 使用步骤 + +#### 第一步:创建 S3 存储配置 + +```http +POST /api/v1/s3/storages +Authorization: Bearer +Content-Type: application/json + +{ + "name": "MinIO本地", + "endpoint": "http://192.168.1.100:9000", + "access_key": "minioadmin", + "secret_key": "minioadmin", + "bucket": "my-bucket", + "prefix": null, + "region": "us-east-1" +} +``` + +#### 第二步:上传文件 + +```http +POST /api/v1/s3/files/upload?storage=1 +Authorization: Bearer +Content-Type: multipart/form-data + +file: <文件> +``` + +返回示例: +```json +{ + "code": 200, + "data": { + "url": "/my-bucket/filename.pdf" + } +} +``` + +### 配置字段说明 + +| 字段 | 必填 | 说明 | +|------|------|------| +| name | ✓ | 存储名称 | +| endpoint | ✓ | S3 服务地址 | +| access_key | ✓ | Access Key ID | +| secret_key | ✓ | Secret Access Key | +| bucket | ✓ | 存储桶名称 | +| prefix | | 文件前缀/路径 | +| region | | 区域,MinIO 默认 `us-east-1` | +| remark | | 备注说明 | + +### API 接口 + +| 方法 | 路径 | 说明 | 权限 | +|------|------|------|------| +| GET | /api/v1/s3/storages | 分页获取存储列表 | 登录即可 | +| GET | /api/v1/s3/storages/all | 获取所有存储 | 登录即可 | +| GET | /api/v1/s3/storages/{id} | 获取存储详情 | 登录即可 | +| POST | /api/v1/s3/storages | 创建存储 | s3:storage:add | +| PUT | /api/v1/s3/storages/{id} | 更新存储 | s3:storage:edit | +| DELETE | /api/v1/s3/storages | 批量删除存储 | s3:storage:del | +| POST | /api/v1/s3/files/upload | 上传文件 | s3:file:upload | + +### 权限配置 + +需要在菜单权限中添加以下权限码: + +- `s3:storage:add` - 创建存储 +- `s3:storage:edit` - 编辑存储 +- `s3:storage:del` - 删除存储 +- `s3:file:upload` - 上传文件 + +### 支持的存储服务 + +- AWS S3 +- 阿里云 OSS +- 腾讯云 COS +- MinIO +- Cloudflare R2 +- 其他兼容 S3 协议的服务 + +### MinIO 配置示例 + +```json +{ + "name": "MinIO本地", + "endpoint": "http://192.168.1.100:9000", + "access_key": "minioadmin", + "secret_key": "minioadmin", + "bucket": "my-bucket", + "region": "us-east-1" +} +``` + +### 阿里云 OSS 配置示例 + +```json +{ + "name": "阿里云OSS", + "endpoint": "https://oss-cn-hangzhou.aliyuncs.com", + "access_key": "your_access_key_id", + "secret_key": "your_secret_access_key", + "bucket": "my-bucket", + "region": "cn-hangzhou" +} +``` + +### 腾讯云 COS 配置示例 + +```json +{ + "name": "腾讯云COS", + "endpoint": "https://cos.ap-guangzhou.myqcloud.com", + "access_key": "your_secret_id", + "secret_key": "your_secret_key", + "bucket": "my-bucket-1250000000", + "region": "ap-guangzhou" +} +``` From d4cb00b8abbfeb4909d143ebc599e76dcb3f0a7b Mon Sep 17 00:00:00 2001 From: dengjingren Date: Fri, 20 Mar 2026 22:38:39 +0800 Subject: [PATCH 2/2] =?UTF-8?q?docs:=20=E7=AE=80=E5=8C=96=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=E5=AE=89=E8=A3=85=E8=AF=B4=E6=98=8E=EF=BC=8C=E4=BB=85?= =?UTF-8?q?=E4=BF=9D=E7=95=99=20uv=20=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- README.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/README.md b/README.md index e8c7367..f61d094 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,7 @@ ### 依赖 -```bash -pip install opendal -``` - -或使用 uv: +使用 uv: ```bash uv add opendal