我想为每个注册我的应用程序的用户生成一个唯一的url。url都应该导致相同的注册页面,但每个将与注册时收到它的一个用户相关联。然后,每当有新用户通过唯一url注册时,与该url关联的注册数将增加1。因此,我可以跟踪每个用户产生的注册数量。我该如何构建这样一个系统?
我不太确定你的要求是什么。但是,如果您考虑这样的用例:用户a邀请Not_yet_a_user_B。B得到一个唯一的注册url。B点击它并在站点中注册他自己,站点在其数据库中记录B是受a邀请的。
你可以实现这样的东西。
创建一个名为"邀请"的模型(和一个底层表),其中包含字段(邀请代码:string, inviter_user_id:integer)。一个用户可以有一个(一对一映射)。哦,您可以将邀请代码保存在User表中)。在User模型中有一个名为invited_by_user_id:integer)的字段。
当A向B发送注册请求时,它看起来像:www.site.com/signup?invitation_code=ABC。因此,在您的注册操作中,您可以检查invitation_code参数,然后根据邀请函表检查它以找出是谁邀请了B,然后将该用户ID记录在B的invited_by_user_id中。
这样你就能知道谁邀请了谁。以及给定用户邀请了多少人(以及他们是谁)