mirror of
https://github.com/dreamhunter2333/cloudflare_temp_email.git
synced 2026-05-12 02:20:12 +08:00
docs: fix user API auth and add admin delete API docs (#836)
This commit is contained in:
@@ -10,8 +10,13 @@
|
||||
|
||||
### Features
|
||||
|
||||
- feat: |用户注册| 新增用户注册邮箱正则校验功能,管理员可配置邮箱格式验证规则
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- fix: |文档| 修复 User Mail API 文档中错误使用 `x-admin-auth` 的问题,改为正确的 `x-user-token`
|
||||
- docs: |文档| 新增 Admin 删除邮件、删除邮箱地址、清空收件箱、清空发件箱 API 文档
|
||||
|
||||
### Improvements
|
||||
|
||||
- style: |邮件列表| 优化收件箱和发件箱空状态显示,根据邮件数量显示不同提示信息,添加语义化图标
|
||||
|
||||
@@ -10,8 +10,13 @@
|
||||
|
||||
### Features
|
||||
|
||||
- feat: |User Registration| Add email regex validation for user registration, admins can configure email format validation rules
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- fix: |Docs| Fix User Mail API documentation incorrectly using `x-admin-auth`, changed to correct `x-user-token`
|
||||
- docs: |Docs| Add Admin API documentation for delete mail, delete address, clear inbox, and clear sent items
|
||||
|
||||
### Improvements
|
||||
|
||||
- style: |Mail List| Improve empty state display for inbox and sent box, show different messages based on mail count, add semantic icons
|
||||
|
||||
@@ -22,17 +22,17 @@
|
||||
"dependencies": {
|
||||
"@fingerprintjs/fingerprintjs": "^5.0.1",
|
||||
"@simplewebauthn/browser": "10.0.0",
|
||||
"@unhead/vue": "^2.1.2",
|
||||
"@vueuse/core": "^14.2.0",
|
||||
"@unhead/vue": "^2.1.4",
|
||||
"@vueuse/core": "^14.2.1",
|
||||
"@wangeditor/editor": "^5.1.23",
|
||||
"@wangeditor/editor-for-vue": "^5.1.12",
|
||||
"axios": "^1.13.4",
|
||||
"axios": "^1.13.5",
|
||||
"jszip": "^3.10.1",
|
||||
"mail-parser-wasm": "^0.2.1",
|
||||
"naive-ui": "^2.43.2",
|
||||
"postal-mime": "^2.7.3",
|
||||
"vooks": "^0.2.12",
|
||||
"vue": "^3.5.27",
|
||||
"vue": "^3.5.28",
|
||||
"vue-clipboard3": "^2.0.0",
|
||||
"vue-i18n": "^11.2.8",
|
||||
"vue-router": "^4.6.4"
|
||||
@@ -40,7 +40,7 @@
|
||||
"devDependencies": {
|
||||
"@vicons/fa": "^0.13.0",
|
||||
"@vicons/material": "^0.13.0",
|
||||
"@vitejs/plugin-vue": "^6.0.3",
|
||||
"@vitejs/plugin-vue": "^6.0.4",
|
||||
"unplugin-auto-import": "^20.3.0",
|
||||
"unplugin-vue-components": "^30.0.0",
|
||||
"vite": "^7.3.1",
|
||||
@@ -49,7 +49,7 @@
|
||||
"vite-plugin-wasm": "^3.5.0",
|
||||
"workbox-build": "^7.4.0",
|
||||
"workbox-window": "^7.4.0",
|
||||
"wrangler": "^4.61.1"
|
||||
"wrangler": "^4.65.0"
|
||||
},
|
||||
"packageManager": "pnpm@10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39"
|
||||
}
|
||||
|
||||
1081
frontend/pnpm-lock.yaml
generated
1081
frontend/pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -11,7 +11,7 @@
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"devDependencies": {
|
||||
"wrangler": "^4.61.1"
|
||||
"wrangler": "^4.65.0"
|
||||
},
|
||||
"packageManager": "pnpm@10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39"
|
||||
}
|
||||
|
||||
@@ -42,6 +42,74 @@ print(response.json())
|
||||
|
||||
**Note**: Keyword filtering has been removed from the backend API. If you need to filter emails by content, please use the frontend filter input in the UI, which filters the currently displayed page.
|
||||
|
||||
## Admin Delete Mail API
|
||||
|
||||
Delete a single mail by mail ID.
|
||||
|
||||
```python
|
||||
import requests
|
||||
|
||||
mail_id = 1
|
||||
url = f"https://<your-worker-address>/admin/mails/{mail_id}"
|
||||
|
||||
headers = {"x-admin-auth": "<your-Admin-password>"}
|
||||
|
||||
response = requests.delete(url, headers=headers)
|
||||
|
||||
print(response.json())
|
||||
```
|
||||
|
||||
## Admin Delete Address API
|
||||
|
||||
Delete an email address by address ID (also deletes associated mails, sender permissions, and user bindings).
|
||||
|
||||
```python
|
||||
import requests
|
||||
|
||||
address_id = 1
|
||||
url = f"https://<your-worker-address>/admin/delete_address/{address_id}"
|
||||
|
||||
headers = {"x-admin-auth": "<your-Admin-password>"}
|
||||
|
||||
response = requests.delete(url, headers=headers)
|
||||
|
||||
print(response.json())
|
||||
```
|
||||
|
||||
## Admin Clear Inbox API
|
||||
|
||||
Clear all received mails for an address by address ID.
|
||||
|
||||
```python
|
||||
import requests
|
||||
|
||||
address_id = 1
|
||||
url = f"https://<your-worker-address>/admin/clear_inbox/{address_id}"
|
||||
|
||||
headers = {"x-admin-auth": "<your-Admin-password>"}
|
||||
|
||||
response = requests.delete(url, headers=headers)
|
||||
|
||||
print(response.json())
|
||||
```
|
||||
|
||||
## Admin Clear Sent Items API
|
||||
|
||||
Clear all sent mails for an address by address ID.
|
||||
|
||||
```python
|
||||
import requests
|
||||
|
||||
address_id = 1
|
||||
url = f"https://<your-worker-address>/admin/clear_sent_items/{address_id}"
|
||||
|
||||
headers = {"x-admin-auth": "<your-Admin-password>"}
|
||||
|
||||
response = requests.delete(url, headers=headers)
|
||||
|
||||
print(response.json())
|
||||
```
|
||||
|
||||
## User Mail API
|
||||
|
||||
Supports `address` filter
|
||||
@@ -58,7 +126,7 @@ querystring = {
|
||||
"address":"xxxx@awsl.uk"
|
||||
}
|
||||
|
||||
headers = {"x-admin-auth": "<your-Admin-password>"}
|
||||
headers = {"x-user-token": "<your-user-JWT-token>"}
|
||||
|
||||
response = requests.get(url, headers=headers, params=querystring)
|
||||
|
||||
|
||||
@@ -42,6 +42,74 @@ print(response.json())
|
||||
|
||||
**注意**:后端 API 已移除关键词过滤功能。如需按内容过滤邮件,请使用前端界面的过滤输入框,该功能可过滤当前显示的页面。
|
||||
|
||||
## admin 删除邮件 API
|
||||
|
||||
通过邮件 ID 删除单封邮件。
|
||||
|
||||
```python
|
||||
import requests
|
||||
|
||||
mail_id = 1
|
||||
url = f"https://<你的worker地址>/admin/mails/{mail_id}"
|
||||
|
||||
headers = {"x-admin-auth": "<你的Admin密码>"}
|
||||
|
||||
response = requests.delete(url, headers=headers)
|
||||
|
||||
print(response.json())
|
||||
```
|
||||
|
||||
## admin 删除邮箱地址 API
|
||||
|
||||
通过邮箱地址 ID 删除邮箱地址(同时删除该地址关联的邮件、发件权限和用户绑定)。
|
||||
|
||||
```python
|
||||
import requests
|
||||
|
||||
address_id = 1
|
||||
url = f"https://<你的worker地址>/admin/delete_address/{address_id}"
|
||||
|
||||
headers = {"x-admin-auth": "<你的Admin密码>"}
|
||||
|
||||
response = requests.delete(url, headers=headers)
|
||||
|
||||
print(response.json())
|
||||
```
|
||||
|
||||
## admin 清空收件箱 API
|
||||
|
||||
通过邮箱地址 ID 清空该地址的所有收件。
|
||||
|
||||
```python
|
||||
import requests
|
||||
|
||||
address_id = 1
|
||||
url = f"https://<你的worker地址>/admin/clear_inbox/{address_id}"
|
||||
|
||||
headers = {"x-admin-auth": "<你的Admin密码>"}
|
||||
|
||||
response = requests.delete(url, headers=headers)
|
||||
|
||||
print(response.json())
|
||||
```
|
||||
|
||||
## admin 清空发件箱 API
|
||||
|
||||
通过邮箱地址 ID 清空该地址的所有发件。
|
||||
|
||||
```python
|
||||
import requests
|
||||
|
||||
address_id = 1
|
||||
url = f"https://<你的worker地址>/admin/clear_sent_items/{address_id}"
|
||||
|
||||
headers = {"x-admin-auth": "<你的Admin密码>"}
|
||||
|
||||
response = requests.delete(url, headers=headers)
|
||||
|
||||
print(response.json())
|
||||
```
|
||||
|
||||
## user 邮件 API
|
||||
|
||||
支持 `address` 过滤
|
||||
@@ -58,7 +126,7 @@ querystring = {
|
||||
"address":"xxxx@awsl.uk"
|
||||
}
|
||||
|
||||
headers = {"x-admin-auth": "<你的Admin密码>"}
|
||||
headers = {"x-user-token": "<你的用户JWT Token>"}
|
||||
|
||||
response = requests.get(url, headers=headers, params=querystring)
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
"version": "1.4.0",
|
||||
"type": "module",
|
||||
"devDependencies": {
|
||||
"@types/node": "^25.1.0",
|
||||
"@types/node": "^25.2.3",
|
||||
"vitepress": "^1.6.4",
|
||||
"wrangler": "^4.61.1"
|
||||
"wrangler": "^4.65.0"
|
||||
},
|
||||
"scripts": {
|
||||
"dev": "vitepress dev docs",
|
||||
|
||||
700
vitepress-docs/pnpm-lock.yaml
generated
700
vitepress-docs/pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -11,24 +11,24 @@
|
||||
"build": "wrangler deploy --dry-run --outdir dist --minify"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@cloudflare/workers-types": "^4.20260131.0",
|
||||
"@cloudflare/workers-types": "^4.20260214.0",
|
||||
"@eslint/js": "9.39.1",
|
||||
"@simplewebauthn/types": "10.0.0",
|
||||
"@types/node": "^25.1.0",
|
||||
"@types/node": "^25.2.3",
|
||||
"eslint": "9.39.1",
|
||||
"globals": "^16.5.0",
|
||||
"typescript-eslint": "^8.54.0",
|
||||
"wrangler": "^4.61.1"
|
||||
"typescript-eslint": "^8.55.0",
|
||||
"wrangler": "^4.65.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-s3": "3.888.0",
|
||||
"@aws-sdk/s3-request-presigner": "3.888.0",
|
||||
"@simplewebauthn/server": "10.0.1",
|
||||
"hono": "^4.11.7",
|
||||
"jsonpath-plus": "^10.3.0",
|
||||
"hono": "^4.11.9",
|
||||
"jsonpath-plus": "^10.4.0",
|
||||
"mimetext": "^3.0.28",
|
||||
"postal-mime": "^2.7.3",
|
||||
"resend": "^6.9.1",
|
||||
"resend": "^6.9.2",
|
||||
"telegraf": "4.16.3",
|
||||
"worker-mailer": "^1.2.1"
|
||||
},
|
||||
|
||||
789
worker/pnpm-lock.yaml
generated
789
worker/pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user