Skip to content

feat(openai): 展示 Codex 点数并支持邀请用户 - #3

Closed
StarryKira wants to merge 2 commits into
mainfrom
codex/codex-credits-referrals
Closed

StarryKira wants to merge 2 commits into
mainfrom
codex/codex-credits-referrals

Conversation

@StarryKira

@StarryKira StarryKira commented Sep 15, 2026

Copy link
Copy Markdown
Owner

Summary

在 OpenAI OAuth 账号用量区域展示 Codex 点数余额和可邀请次数,并提供按邮箱邀请用户的弹窗。点数与额度重置卡分别显示;发送前后端重新校验资格、次数和收件人同意状态,成功后更新次数,结果不确定时不自动重试。

  • 点数复用 GET /backend-api/wham/usagecredits,保留十进制字符串和未知余额状态。
  • 邀请使用 /backend-api/referrals/invite/eligibility/backend-api/referrals/invite,支持个人和工作空间计划。
  • 复用现有 OAuth、代理、管理员认证及审计;快照存入账号 extra,无数据库迁移。Spark 影子账号可查询,发送需从母账号操作。
  • 接口来源与行为说明

Validation

GitHub CI:Go 测试、golangci-lint、前端、shell、前后端安全扫描全部通过;CLA 工作流在 fork 中跳过。

  • Go:go test -tags=unit ./internal/service ./internal/handler/admin -run 'TestOpenAIReferral|TestQueryUsageCodexCredits|TestOpenAIRefreshQuota' -count=1
  • Vitest:邀请组件、点数组件、账号用量组件和中英文键完整性,共 87 项通过。
  • 前端 typecheck、相关文件 ESLint、生产构建通过;相关后端包 golangci-lint 为 0 issues。
  • Gitleaks 扫描本 PR 两个提交,无密钥发现(仓库没有 make secret-scan target)。
  • 真实 Vue 组件浏览器测试:未同意时禁止发送;模拟发送成功后次数 3 → 2,清空邮箱,零控制台错误。
  • 独立测试实例:rootless Docker 完整镜像构建;应用、PostgreSQL、Redis 健康;重启后登录仍正常;外网首页、登录页、JS、健康接口返回 200;新增接口未登录返回 401,未完成部署合规确认返回 423。

测试实例关闭公开注册,使用独立数据库、卷和现场生成的密钥,没有导入本机 Codex credentials 或任何 OpenAI 账号。真实邀请未发送;上游成功和失败场景通过模拟 HTTP 测试验证。测试实例首次后台合规确认仍留给部署者,完整后台及真实 OAuth 联调尚未完成。

Screenshots

以下为模拟数据,不会发送邮件。

邀请弹窗

模拟发送成功与次数刷新

@StarryKira StarryKira closed this Sep 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant