我试图想出一种方法来创建一个独特的引荐链接,该链接指向我注册网站的每个用户访问我的网站,但是要真诚地知道它是如何确定的,我已经尝试使用谷歌搜索,但我无法找到它的完美答案,任何需要的插件或任何方式。
用户模型,没有太多代码我不知道这个
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
})
})
如果有办法解决这个问题,如果你帮忙的话,会很高兴
答案 0 :(得分:2)
让这个与平台/语言无关 how-to :
每次创建新用户时,都会为他生成唯一的链接,使其成为他唯一的推荐链接,并将其存储在数据库中(为简单起见,这可能是_id
,这在MongoDB中是唯一的并且是自动生成的 - 在这种情况下,您不必创建另一个字段)。我们还要计算通过此人的链接注册的人数,让它为referredCount
。
引荐链接可能代表如下示例:/register?referrer=${_id}
,其中$ {_ id}是用户唯一ID。
/account
页面中显示 - 明显的步骤req.query.referrer
,查看具有此特定ID的用户的数据库并增加他的referredCount
。请注意,这只是一种方法,我相信可能会有很多不同的策略。
答案 1 :(得分:0)
要通过评论解决您的问题,
您可以按照@Tomasz的建议进行操作,但要保留推荐链接,可以使用cookie。
cookie是用户访问网站时存储在用户网络浏览器中的一小段数据。当客户通过会员推荐链接(即yoursite.com/?ref=123)访问您的网站时,应用程序应存储两个主要的浏览器Cookie,以便跟踪推荐会员和访问。他们的名字是:
因此,您可以通过检查cookie来使用引荐链接检测用户是否访问了网站。值得一提的是 Cookie应该在整个购买或转换过程中保留在浏览器中,以跟踪正确的会员,以便可以为该会员生成推荐。 Cookie也应在网站管理员指定的时间内保留在客户的浏览器中,或者直到客户清除其Cookie。
答案 2 :(得分:0)
..在主站点上有一个名为Referral的字段(可以是名称,数字或带有另一个用户的ID)。创建一个按钮,该按钮将生成用户的个人推荐链接(使用Javascript),以使该链接看起来像“ your-domain.com/register?register = $ {user._id} ...”,然后在注册页面上...将会有一个隐藏的输入字段...它将自动成为带有查询参数的字段...
location.search
,这样当用户注册时...推荐他们的人也将被注册...然后路由将类似于
app.post('/register',(req,res) =>{
user.update({id:(req.query.register)},{referral:req.body.name})
...remaining registration routing ...
})
答案 3 :(得分:0)
我建议您为推荐创建一个表/集合。 架构可以包含:
MongoDB将生成一个_id aka referralId
您可以修改注册端点以接受可选参数referralId
只要有人使用推荐,您就可以获取创建邀请链接的人的用户ID。