流星如何为新用户设置一次性变量
Meteor; How to set up one time variables for new users?
我想在第一次登录时设置某些变量,我使用的是外部API。例如,在仅第一次登录时,我们创建var score 0,以及与配置文件绑定的一组不同变量。
Accounts.onLogin(function() {
// To retrieve more details about user
var steamApiKey = ("XXXXXXXXXXXXXXXXXXXX"); //Steam API KEY
var steam64Id = Meteor.user().profile.id; //User's Steam 64 ID
var result = Meteor.http.get('http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=' + steamApiKey + '&steamids=' + steam64Id);
Meteor.users.update(Meteor.userId(), // Steam Nickname
{ $set: { 'profile.personaname': result.data.response.players[0].personaname}}
);
Meteor.users.update(Meteor.userId(), // Steam Avatar
{ $set: { 'profile.steamAvatar': result.data.response.players[0].avatarmedium}}
);
Meteor.users.update(Meteor.userId(),
{ $set: { 'profile.score': "0"}}
);
});
我只有这个。为什么每次我登录时它总是更新为0,即使我手动将分数更新为100?
尝试检查第一次登录时创建的字段是否已经存在。
Accounts.onLogin(function() {
let user = Meteor.user();
if (user.profile.hasOwnProperty("personaname")) return;
// To retrieve more details about user
var steamApiKey = ("XXXXXXXXXXXXXXXXXXXX"); //Steam API KEY
// ...and so on.
});
我看到的只是一个时间变量,所以无论你想做什么,我都会把我的2美分放在localStorage上,所以就来了
var score = 0;
function Start(){
//if localStorage does not have key
if(!localStorage.hasKey("score")){
localStorage.setItem("score",0);
}
}
让我们来谈谈的一些加载和保存功能
var score = 0;
function Start(){
Load();
}
function Save(){
localStorage.setItem("score",score);
}
function Load(){
var score_save = localStorage.getItem("score") || "0";
score = parseInt(score_save);
}
//Once everything is initialized start
Start();
//Save every second
setInterval(Save,1000);
我遇到了类似的问题,所以我创建了一个名为"userprofile"的集合。"userprofile"集合中文档的_id将与用户集合_id相同。通过这种方式,我们在userprofile文档中创建引用。
Suppose user collection _id ='1234' then we will save userprofile document with _id:'1234'
'findUser':function() {
// Make sure the user is logged in before inserting a task
if (! this.userId) {
throw new Meteor.Error('not-authorized');
}
var userProfile = userprofile.findOne(
{ _id: this.userId});
if(userProfile===null ||userProfile===undefined) {
userprofile.insert({_id:this.userId});
}
});
相关文章:
- SignalR客户端启动连接时如何设置用户
- 当用户设置另一个选择值时,如何通过 Javascript 设置另一个选择值
- 使用 javascript 推送将用户设置的产品数量添加到购物车
- 如何为每个用户设置唯一的 URL
- jPlayer - 通过页面重定向保存用户设置
- 编辑文本元素时,将重置后端用户设置
- 如何将内置的“用户”设置为使用环回数据源
- Meteor.js中应用程序/用户设置的最佳实践是什么
- 网站有可能对用户设置警报吗;的iPhone
- 如何为不同类型的用户设置不同的自定义登录重定向
- 如何在OpenERP上获取用户设置
- 在主干网中存储用户设置
- Titanium:管理用户设置的最佳方式
- 用户设置背景颜色和字体提示
- 距离矩阵API -如何由用户设置目的地
- 流星如何为新用户设置一次性变量
- TrackerReact 容器 - 用户设置了 profile.avatar ,但控制台说它未定义
- 如何使用警报或表单输入来允许用户设置 CSS 参数的值
- 用户设置下拉菜单
- 在电子(Atom Shell)应用程序中存储用户设置的位置