API 配额分级:免费累计 1000 次 + 公开注册自助领取更高配额密钥 #17
Reference in New Issue
Block a user
Delete Branch "devin/1782026795-api-quota-registration"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
概述
为公开 API 增加累计总配额与公开用户注册:
403 quota_exhausted,提示注册。app_user/api_key)。后端
app_user表;api_key增加quota_total(0=不限);tier 增加registered。IncrTotal/TotalUsed/CopyTotal维护终身计数器usage:total:<subject>。X-Quota-Limit/Used/Remaining;匿名按ip:<ip>、密钥按 keyID 计量。RegisterUser/Authenticate/RegenerateKey(bcrypt 哈希、邮箱大小写不敏感唯一)。重置密钥时累计用量随CopyTotal延续,防止靠重置清零配额。POST /api/v1/register、/account、/account/regenerate(独立 IP 轻限流,不占用免费配额)。前端
测试
store:注册 / 登录 / 重置 / 邮箱占用 / 密钥吊销-轮换 全流程。handler:匿名累计配额耗尽返回 403;注册签发高配额密钥;重复邮箱冲突。go test ./... && go vet ./... && gofmt全通过;两端前端tsc && vite build通过;迁移 up/down 往返通过。