feat(server/auth): Register 加 inviteCode + ReferralHook(注册后 best-effort 归因)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-07-13 07:33:42 +08:00
parent 2fb7391a17
commit 54d106ca8b
6 changed files with 83 additions and 26 deletions
+6 -5
View File
@@ -61,10 +61,11 @@ func (d deviceBody) toMeta() DeviceMeta {
}
type registerRequest struct {
Email string `json:"email"`
Code string `json:"code"`
Password string `json:"password"`
Device deviceBody `json:"device"`
Email string `json:"email"`
Code string `json:"code"`
Password string `json:"password"`
Device deviceBody `json:"device"`
InviteCode string `json:"invite_code"` // 选填:邀请码,注册后 best-effort 归因
}
type loginRequest struct {
@@ -104,7 +105,7 @@ func (h *Handler) Register(w http.ResponseWriter, r *http.Request) {
if !decodeJSON(w, r, &req) {
return
}
pair, apiErr := h.svc.Register(r.Context(), req.Email, req.Code, req.Password, clientIP(r), req.Device.toMeta())
pair, apiErr := h.svc.Register(r.Context(), req.Email, req.Code, req.Password, clientIP(r), req.Device.toMeta(), req.InviteCode)
if apiErr != nil {
writeAPIErr(w, apiErr, 0)
return