5.3 KiB
5.3 KiB
邀请码申请管理功能 - 部署和测试指南
部署状态
✅ 已完成的部署步骤
-
后端服务
- 已构建成功:
admin-server - 数据库迁移已完成:
admin_invite_code_applications表已创建 - 服务已启动:监听端口
8087 - 路由已注册:所有API端点正常
- 已构建成功:
-
配置文件
- 邮件配置已添加到
etc/config.yaml - 配置项:
- SMTP服务器:smtp.mxhichina.com:465
- 发件人:goalfymax@goalfyai.com
- 注册链接前缀:https://goalfy.com/register?code=
- 邮件配置已添加到
-
数据库表结构
admin_invite_code_applications - id (主键) - email (申请邮箱) - reason (申请理由) - status (pending/approved/rejected) - invite_code_id (关联的邀请码ID) - reject_reason (拒绝理由) - approved_at (审批时间) - approved_by (审批人) - email_sent_at (邮件发送时间) - created_at, updated_at, deleted_at
已验证的功能
✅ 公开API测试(官网提交)
1. 成功提交申请
curl -X POST http://localhost:8087/api/public/invite-code/apply \
-H "Content-Type: application/json" \
-d '{"email": "test@example.com", "reason": "想体验AI编程助手"}'
返回:
{
"code": 0,
"message": "申请已提交,我们将在1-2个工作日内处理您的申请",
"data": {
"id": 1,
"email": "test@example.com",
"status": "pending",
...
}
}
2. 重复提交拦截
curl -X POST http://localhost:8087/api/public/invite-code/apply \
-H "Content-Type: application/json" \
-d '{"email": "test@example.com", "reason": "第二次申请"}'
返回:
{
"error": "您已经提交过申请,请等待审核"
}
后台管理功能测试
需要认证的API端点
所有管理接口都需要通过SSO认证,访问路径为:/api/admin/invite-applications/*
可用的管理接口:
GET /api/admin/invite-applications- 获取申请列表GET /api/admin/invite-applications/statistics- 获取统计信息GET /api/admin/invite-applications/pending-count- 获取待处理数量POST /api/admin/invite-applications/approve- 审批通过POST /api/admin/invite-applications/reject- 审批拒绝POST /api/admin/invite-applications/batch-approve- 批量审批通过POST /api/admin/invite-applications/batch-reject- 批量审批拒绝
前端测试步骤
-
启动前端应用
cd /path/to/goalfymax-admin-web npm run dev -
登录管理后台
- 访问:http://localhost:5173
- 使用SSO登录
-
访问邀请码管理页面
- 导航到邀请码管理
- 查看页面顶部的"待处理申请"按钮
- 按钮上应该显示待处理数量徽章
-
处理申请
- 点击"待处理申请"按钮
- 查看申请列表
- 测试以下操作:
- ✓ 单个申请审批通过
- ✓ 单个申请拒绝(可填写拒绝理由)
- ✓ 批量选择申请
- ✓ 批量审批通过
- ✓ 批量拒绝
邮件发送测试
审批通过邮件
触发条件:管理员点击"同意"按钮
邮件内容:
- 主题:Goalfy 邀请码已发放
- 包含邀请码(自动生成)
- 包含有效期(默认7天)
- 包含注册链接:https://goalfy.com/register?code=XXXXXXXX
审批拒绝邮件
触发条件:管理员点击"拒绝"按钮并填写原因
邮件内容:
- 主题:关于您的 Goalfy 申请
- 包含拒绝理由
- 包含支持邮箱:support@goalfy.com
当前测试数据
已创建的测试申请:
- test@example.com - 状态:pending
- another@example.com - 状态:pending
下一步操作建议
1. 前端功能测试
cd /Users/youziba/goalfyagent/goalfymax-admin-web
npm run dev
然后登录后台,访问邀请码管理页面测试完整流程。
2. 邮件发送测试
在前端进行审批操作后:
- 检查申请人邮箱是否收到邮件
- 验证邮件内容是否正确
- 验证邀请码链接是否有效
3. 官网集成
将 docs/invite_apply_example.html 中的表单集成到官网:
- 修改 API_BASE_URL 为实际的后端地址
- 调整样式以匹配官网设计
- 添加必要的验证逻辑
注意事项
⚠️ 生产环境配置
- 修改
etc/config.yaml中的invite_url_prefix - 确保SMTP服务器能够正常发送邮件
- 配置CORS允许官网域名访问API
⚠️ 安全建议
-
公开API
/api/public/invite-code/apply建议添加:- 频率限制(防止恶意申请)
- 图形验证码
- IP白名单
-
邮箱验证:
- 确保邮箱格式正确
- 可考虑添加邮箱域名白名单
服务管理命令
# 启动服务
./scripts/start.sh
# 停止服务
./scripts/stop.sh
# 查看日志
tail -f logs/admin-server.log
# 测试API
./scripts/test_api.sh
故障排查
服务无法启动
- 检查端口8087是否被占用:
lsof -i:8087 - 查看日志文件:
tail -100 logs/admin-server.log
邮件发送失败
- 检查
etc/config.yaml中的邮件配置 - 确认SMTP服务器可访问
- 查看服务日志中的邮件发送错误信息
数据库连接失败
- 检查
etc/config.yaml中的数据库连接字符串 - 确认数据库服务可访问
- 检查数据库用户权限