Files
emall-api/test_api.ps1

56 lines
1.9 KiB
PowerShell
Raw Normal View History

2025-10-18 16:18:20 +08:00
# 测试API的PowerShell脚本
$API_BASE_URL = "http://localhost:5003/api/v1"
try {
# 1. 注册用户
Write-Host "1. 注册用户..."
$registerBody = @{
username = "testuser"
email = "test@example.com"
password = "password123"
} | ConvertTo-Json
$registerResponse = Invoke-RestMethod -Uri "$API_BASE_URL/auth/register" -Method Post -Body $registerBody -ContentType "application/json"
$token = $registerResponse.data.token
Write-Host "注册成功获取到token: $token"
# 2. 创建邮件
Write-Host "`n2. 创建邮件..."
$sendTime = (Get-Date).AddDays(1).ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
$mailData = @{
title = "测试邮件"
content = "这是一封测试邮件内容"
recipientType = "SELF"
sendTime = $sendTime
triggerType = "TIME"
triggerCondition = @{}
attachments = @()
isEncrypted = $false
capsuleStyle = "default"
} | ConvertTo-Json -Depth 10
$headers = @{
"Authorization" = "Bearer $token"
"Content-Type" = "application/json"
}
$createMailResponse = Invoke-RestMethod -Uri "$API_BASE_URL/mails/create" -Method Post -Body $mailData -Headers $headers
Write-Host "创建邮件成功:"
$createMailResponse | ConvertTo-Json -Depth 10
# 3. 获取邮件列表
Write-Host "`n3. 获取邮件列表..."
$mailsResponse = Invoke-RestMethod -Uri "$API_BASE_URL/mails?type=SENT&page=1&size=20" -Method Get -Headers $headers
Write-Host "获取邮件列表成功:"
$mailsResponse | ConvertTo-Json -Depth 10
} catch {
Write-Host "测试失败: $($_.Exception.Message)"
if ($_.Exception.Response) {
$reader = New-Object System.IO.StreamReader($_.Exception.Response.GetResponseStream())
$reader.BaseStream.Position = 0
$errorBody = $reader.ReadToEnd()
Write-Host "错误详情: $errorBody"
}
}