本文整理汇总了TypeScript中leancloud-storage.User.current方法的典型用法代码示例。如果您正苦于以下问题:TypeScript User.current方法的具体用法?TypeScript User.current怎么用?TypeScript User.current使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类leancloud-storage.User
的用法示例。
在下文中一共展示了User.current方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: done
roleQuery.find<AV.Role[]>().then(roles => {
// 如果角色存在
if (roles.length > 0) {
let administratorRole = roles[0];
roleQuery.equalTo('users', AV.User.current());
roleQuery.find<AV.Object[]>().then(userForRole => {
if (userForRole.length == 0) {//该角色存在,但是当前用户未被赋予该角色
let userRoleRelation = administratorRole.getUsers();
userRoleRelation.add(AV.User.current());//为当前用户赋予该角色
administratorRole.save<AV.Role>().then(result => {
chai.assert.isNotNull(result.id);
done();
}, error => {
if (error) throw 'error on add user';
});
}
}, error => {
if (error) throw 'error on find role';
});
} else {
// 该角色不存在,接下来创建该角色,并未当前用户赋予该角色
let administratorRole = new AV.Role(randomRolename);//新建角色
let userRoleRelation = administratorRole.getUsers();
userRoleRelation.add(AV.User.current());//为当前用户赋予该角色
administratorRole.save<AV.Role>().then(role => {
chai.assert.isNotNull(role.id);
done();
}, error => {
if (error) throw 'error save role and add user';
});
}
}, error => {
示例2:
return currentUser.signUp().then<AV.Role>(user => {
administratorRole = new AV.Role(randomRolename);
let roleAcl = new AV.ACL();
roleAcl.setPublicReadAccess(true);
roleAcl.setPublicWriteAccess(false);
// 当前用户是该角色的创建者,因此具备对该角色的写权限
roleAcl.setWriteAccess(AV.User.current(), true);
administratorRole.setACL(roleAcl);
administratorRole.getUsers().add(AV.User.current());
return administratorRole;
}, error => {
示例3: done
roleQuery.find<AV.Role[]>().then(roles => {
// 如果角色存在
if (roles.length > 0) {
let administratorRole = roles[0];
roleQuery.equalTo('users', AV.User.current());
roleQuery.find<AV.Object[]>().then(userForRole => {
if (userForRole.length > 0) {//该角色存在,并且当前用户已被赋予该角色
let userRoleRelation = administratorRole.getUsers();
// 为当前用户剥夺该角色
userRoleRelation.remove(AV.User.current());
administratorRole.save<AV.Role>().then(result => {
chai.assert.isNotNull(result.id);
done();
}, error => {
if (error) throw 'error on add user';
});
} else {
// 该用户并未被赋予该角色
done();
}
}, error => {
if (error) throw 'error on find role';
});
}
}, error => {
示例4: it
it('AVRole#save', function (done) {
try {
// 示例代码-Start
// 新建一个角色,并把为当前用户赋予该角色
let roleAcl = new AV.ACL();
roleAcl.setPublicReadAccess(true);
roleAcl.setPublicWriteAccess(false);
// 当前用户是该角色的创建者,因此具备对该角色的写权限
roleAcl.setWriteAccess(AV.User.current(), true);
administratorRole = new AV.Role(randomRolename, roleAcl);//新建角色
administratorRole.save<AV.Role>().then((role) => {
// 创建成功
chai.assert.isNotNull(role.id);
done();
}, error => {
if (error) throw error;
});//保存
// 示例代码-End
}
catch (e) {
chai.assert.isNull(e);
}
});
示例5: it
it('AVObject#setACL', function (done) {
try {
// 示例代码-Start
// 新建一个帖子对象
let post = new AV.Object('Post');
post.set("title", "大家好,我是新人");
// 新建一个角色,并把为当前用户赋予该角色
administratorRole = new AV.Role(randomRolename);//新建角色
let relation = administratorRole.getUsers();
administratorRole.getUsers().add(AV.User.current());//为当前用户赋予该角色
administratorRole.save<AV.Role>().then(administratorRole => {//角色保存成功
// 新建一个 ACL 实例
let objectACL = new AV.ACL();
objectACL.setPublicReadAccess(true);
objectACL.setRoleWriteAccess(administratorRole, true);
// 将 ACL 实例赋予 Post 对象
post.setACL(objectACL);
post.save<AV.Object>().then(post => {
chai.assert.isNotNull(post.id);
done();
}, error => {
if (error) throw error;
});
}, error => {
//角色保存失败,处理 error
});
// 示例代码-End
}
catch (e) {
chai.assert.isNull(e);
}
});