Mobile 无用户产品的控制反应(喜欢次数)方法

Mobile 无用户产品的控制反应(喜欢次数)方法,mobile,ionic2,Mobile,Ionic2,背景信息 设想一个应用程序,用户不必注册就可以实际使用它。您只需下载应用程序,然后就可以看到产品,并对其做出“反应” 产品的模型如下所示: var ProductSchema = new mongoose.Schema({ name: { type: String, required: true }, description: {type: String, required: false}, price: {type: Number, required: true}, compa

背景信息

设想一个应用程序,用户不必注册就可以实际使用它。您只需下载应用程序,然后就可以看到产品,并对其做出“反应”

产品的模型如下所示:

var ProductSchema = new mongoose.Schema({
  name: { type: String, required: true },
  description: {type: String, required: false},
  price: {type: Number, required: true},
  company:  { type: Company.schema, required: true },
  numberOfLikes: { type: Number, required: false, default: 0},
  status: { type: ProductStatus.schema, required: true },
  image: { type: String, required: false }
});

module.exports = mongoose.model('Products', ProductSchema);
我们有一个功能,用户可以对产品做出“反应”,比如说用户可以喜欢某个产品

但到目前为止,我们没有任何电子邮件或用户名,因为人们不需要注册。这意味着你可以在手机上打开应用程序,如果你愿意的话,你会喜欢该产品一千次,而这不是我们的目标。我们希望避免用户这样做

真正的问题

手机上是否有任何信息,以便我们可以将其带到产品/反应请求中发送,以便我们确定某人是否已经喜欢该产品

顺便说一句:

  • 我们现在只针对Android/iOS,web应用程序将在稍后推出
  • 这是在离子2上开发的,如果有帮助的话

  • 您可以使用的uuid属性确保每个设备只对产品投票一次。uuid对于每个设备都是唯一的。因此,即使用户删除并重新安装您的应用程序,他也无法再次对产品进行评级。

    即使“设备”被标识为“唯一”,那么如何确定投票/喜欢/无论什么的“唯一用户”?不同的人不能使用相同的设备吗?我想他们可以。StackOverflow认为不同的人可以使用相同的设备,这正是他们和其他许多人需要某种描述的“登录”的原因。因此,最好不要试图“偷偷摸摸”,在没有要求对方确认自己身份的情况下就确认对方的身份。而是“鼓励”你的用户“注册”和识别。这基本上一直是问题的解决方案。不要再发明轮子了。