leancloud

作者: 苦瓜_6 | 来源:发表于2018-07-06 00:12 被阅读0次

安装及初始化

  1. 在 leancloud 创建应用
  2. 安装 LeanCloud SDK

npm install leancloud-storage --save

  1. 在HTML中引入 <script src = "./node_modules/leancloud-storage/dist/av.js"></script>
  2. 初始化
<script>
    var APP_ID = 'xxxxxxx';
    var APP_KEY = 'xxxx';

    AV.init({
        appId: APP_ID,
        appKey: APP_KEY
    });
    console.log(AV)
</script>

  1. 验证 LeanCloud SDK 安装成功
  • 首先,确认本地网络环境是可以访问 LeanCloud 服务器的,可以执行以下命令行:

    ping "dwxr3lun.api.lncld.net"

  • 然后在项目中编写如下测试代码:

var TestObject = AV.Object.extend('TestObject');
var testObject = new TestObject();
testObject.save({
  words: 'Hello World!'
}).then(function(object) {
  alert('LeanCloud Rocks!');
})

然后打开 控制台 > 存储 > 数据 > TestObject,如果看到以下内容,说明 SDK 已经正确地执行了上述代码,安装完毕。

image.png

注册、登录和登出

注册
let APP_ID = 'fubRKob5ombKpfC0jqcYo4d5-gzGzoHsz';
let APP_KEY = 'LL25S9QYDBzrNtUAqPwbpawD';

AV.init({
    appId: APP_ID,
    appKey: APP_KEY
});
 // 新建 AVUser 对象实例
  var user = new AV.User();
  // 设置用户名
  user.setUsername('1234');
  // 设置密码
  user.setPassword('1234');
  // 设置邮箱
//   user.setEmail('tom@leancloud.cn'); //这次暂时没用到
  user.signUp().then(function (loggedInUser) {
      console.log(loggedInUser);  // 打印出来的结果见下图
  }, function (error) {
  });

打印出来的结果:


image.png

关于注册的部分在 数据存储开发指南 -- 用户 -- 注册这个版块里

登录
AV.User.logIn('1234', '1234').then(function (loggedInUser) {
    console.log(loggedInUser);
  }, function (error) {
  });
image.png

注意看attributes、id和createdAt这几项。

登出
  AV.User.logOut();
  // 现在的 currentUser 是 null 了
  var currentUser = AV.User.current();
image.png

用户与用户数据

使用LeanCloud来保存数据
let TodoFolder = AV.Object.extend('TodoFolder'); // 新建对象 
let todoFolder = new TodoFolder(); // 设置名称
todoFolder.set('content',dataStr); // dataStr 就是我们要保存的数据
todoFolder.save().then(function (todo) {
     console.log(todo);
     }, function (error) {
    console.error('保存失败');
      });
用户与用户数据绑定

假设要达到这样的效果:

  • 用户创建的活动(比如一个todo)保存在用户名下
  • 只有这些活动所属的用户才能读写这些内容

我们可以使用 LeanCloud 提供的 ACL 功能来实现:

  • 添加访问控制:
let acl = new AV.ACL();
acl.setReadAccess(AV.User.current(),true); // 只有这个用户可读
acl.setWriteAccess(AV.User.current(),true); // 只有这个用户可写
....
todoFolder.setACL(acl);  // 将 ACL 实例赋予 todoFolder 对象, 添加访问控制

于是代码变成了这样:

let TodoFolder = AV.Object.extend('TodoFolder'); // 新建对象 
let todoFolder = new TodoFolder(); // 设置名称
let acl = new AV.ACL();
acl.setReadAccess(AV.User.current(),true); // 只有这个用户可读
acl.setWriteAccess(AV.User.current(),true); // 只有这个用户可写
todoFolder.set('content',dataStr); // dataStr 就是我们要保存的数据
TodoFolder.setACL(acl);  // 将 ACL 实例赋予 todoFolder 对象, 添加访问控制
todoFolder.save().then(function (todo) {
     console.log(todo);
     }, function (error) {
    console.error('保存失败');
      });
image.png
查询我们存进去的对象
    let query = new AV.Query('TodoFolder');
            query.find().then(function(todos) {
                console.log(todos);
            }, function (error) {
                console.log('error')
            });

文档在这里 → 批量操作

更新数据
            let str = JSON.stringify(this.todoList);
            let todoFolder = AV.Object.createWithoutData('TodoFolder', this.todoList.id);
            todoFolder.set('content', str);
            console.log('这是UpdateTODO');
            todoFolder.save().then(() => {
                console.log('更新成功')
错误码

见 : 错误码详解

参考资料:
JavaScript SDK 安装指南
数据存储开发指南 · JavaScript
ACL 权限管理开发指南
错误码详解

相关文章

  • LeanCloud 与阿里云到底有什么区别?

    不是很了解 LeanCloud(LeanCloud)的开发者经常会问「LeanCloud 与已有的很多云服务有什么...

  • leancloud 初体验

    什么是 leancloud leancloud 是BaaS服务(后端即服务:Backend as a Servic...

  • 如何引入LeanCloud数据库

    创建leancloud账号 创建一个应用 JavaScript安装指南 安装 leancloud-storage ...

  • Mac上搭建leancloud+nodejs

    注: 这是写给双料( leancloud & nodejs )新手的。老手飘过。 leancloud官网教程 :这...

  • leancloud

    安装及初始化 在 leancloud 创建应用 安装 LeanCloud SDK npm install lean...

  • 融云/leancloud

    leancloud 融云 leancloud 经学长介绍原来开发AndroidAPP/iOS可以不用完全自己写后台...

  • 配置LeanClond实现服务端

    一. 介绍: 「leancloud」(https://leancloud.cn)是一个云端服务器存储工具。提供各种...

  • 灵动云商部署疑难杂症

    LeanCloud后台社交组件中修改小程序app信息 hooks.php配置leancloud的app信息 hoo...

  • Vue + LeanCloud 实现周报系统

    使用 Vue + LeanCloud 开发的一个周报系统,纯前端实现。并利用 LeanCloud 云引擎服务,实现...

  • LeanCloud

    注册登录LeanCloud,新建一个APP,名字自己取 在Xcode项目的podfile文件中添加 LeanClo...

网友评论

      本文标题:leancloud

      本文链接:https://www.haomeiwen.com/subject/gbnwjftx.html