如何在NodeJS中创建推荐链接

dxxyhpgq  于 2023-10-17  发布在  Node.js
关注(0)|答案(4)|浏览(150)

我试图找出一种方法来创建一个独特的转介链接,直接到我的网站为每个用户注册。但说实话,我真的不知道它是如何工作的肯定。我试过谷歌搜索,但找不到一个完美的答案。任何插件需要或任何方式围绕这一点?

  • 用户模型,没有太多的代码我不知道这个 *
var UserSchema = new mongoose.Schema({
    username: String,
    password: String,
    referralLink: String
})

UserSchema.plugin(passortLocalMongoose);
module.exports = mongoose.model("User", UserSchema )

用户注册

router.post("/register", function(req,res){
    var newUser = new User({username: req.body.username,referral: req.body.referral});
                    
    User.register(newUser, req.body.password, function(error, user){
        if(error){
            console.log(error)
            req.flash("signerror", error.message)
            return res.redirect("/register")
        }
        //Do the referral link creation stuff here, don't know for sure
            
    }) 
})
  • 如果有办法解决这个问题,我会很高兴任何帮助 *
kiz8lqtg

kiz8lqtg1#

如何创建推荐链接?

让这是一个平台/语言不可知的 how-to

  • 每次创建新用户时,为他生成唯一的链接作为他唯一的推荐链接并将其存储在DB中(为了简单起见,这可能是_id,它在MongoDB中是唯一的,并且是自动生成的-在这种情况下,您不必创建另一个字段)。让我们计算一下有多少人通过这个人的链接注册,假设它是referredCount

推荐链接可以看起来像这样的例子:/register?referrer=${_id},其中${_id}是用户唯一ID。

  • 向用户发送推荐链接,这样他就可以将其沿着给其他人,或者使其在他的/account页面中可见-这是显而易见的步骤
  • 当有人通过此链接注册时,像往常一样创建新用户,并在成功创建后,从URL中获取req.query.referrer,查看具有此特定ID的用户的DB并增加他的referredCount

请注意,这只是一种方法,我相信可能有许多不同的策略。

ezykj2lf

ezykj2lf2#

我建议你创建一个表/集合的转介。架构可以包含:

  • userId(生成链接的用户)
  • numberOfUses(链接可以使用的次数)
  • 到期时间(如果您想将有效期限制在特定期限内)

MongoDB将生成一个_id aka referralId
您可以修改注册端点以接受可选参数referralId
每当有人使用邀请函时,您只需获取创建邀请链接的人的userId。

0vvn1miw

0vvn1miw3#

从评论中回答您的问题:
您可以按照@Tomasz的建议保留推荐链接您可以使用cookie。
Cookie是用户访问网站时存储在Web浏览器中的一小段数据。当客户通过联盟推荐链接(即yoursite.com/?ref=123),应用程序应该存储两个主要的浏览器cookie,以跟踪引用的附属机构和访问。他们的名字是:

*aff_ref-此Cookie存储会员的唯一ID
*aff_ref_visit_id-此Cookie存储访问ID(每次使用任何推荐链接时,访问ID递增1,直到Cookie过期或删除)。

因此,您可以通过检查cookie来检测用户是否使用推荐链接访问网站。值得一提的是,在整个购买或转换过程中,Cookie应保留在浏览器中,以跟踪正确的会员,以便为该会员生成推荐。Cookie也应该在客户的浏览器中保留一段时间,由网站管理员指定,或者直到客户清除他们的Cookie。

ryhaxcpt

ryhaxcpt4#

在用户架构中..有一个名为转介领域(要么是一个名字,号码或采取另一个用户的ID).在主网站上。创建一个按钮,将生成用户的个人推荐链接(使用JavaScript),使链接看起来像“your-domain.com/register?注册=${user._id}.然后在注册页面上...会有一个隐藏的输入栏这将自动与查询参数字段. location.search,这样当用户注册...推荐他们的人也会被登记...那么路线就像

app.post('/register',(req,res) =>{
  user.update({id:(req.query.register)},{referral:req.body.name})
...remaining registration routing ... 
})

相关问题