阅读 695

使用LeanCloud快速开发一款小程序

前言

开发小程序离不开后台数据,对于独立开发者来说,既要写前端,又要写后端,工作量就会骤然增大。微信提供的云开发无疑是给独立开发者提供了很大的便利,但是由于其数据库不支持联表查询,对于某些场景就不是那么的友好了。当然,市面上有很多的BaaS服务提供商,大都类似,今天我们就用其中的一个LeanCloud来讲解一下,如何快速使用LeanCloud来开发一个小程序。 由于本次重点在LeanCloud,所以小程序的开发内容就不是重点。

现在开始

  1. 账号注册

先去leancloud.cn官网注册一个账号,然后登录去控制台创建一个新应用。

  1. 域名配置

在微信小程序后台中配置域名白名单,具体需要按照这里说明的来配置,你也可以先跳过这一步,等完全开发完毕后再来配置。可在开发者工具的 详情 > 项目设置 中勾选不校验安全域名、TLS 版本以及 HTTPS 证书

  1. SDK集成

下载你熟悉的SDK,目前支持JSWePYmpvue,下载链接在这里,后面以JS来说明,其他方式的SDK导入以及使用方法参考文档中的说明。

  1. 初始化SDK

app.js中加入以下代码即可。appIdappKey可以在控制台中的应用找到。

const AV = require('./utils/av-live-query-weapp-min');

AV.init({
  appId: '换成你自己的appId',
  appKey: '换成你自己的appKey',
});
复制代码
  1. 查询数据

先需要在控制台中的应用下新建一个表,在网页中叫做Class。每一张表会默认创建objectIdcreatedAtupdatedAtACL四个字段,分别表示数据索引创建时间更新时间权限。你可以添加你想要的字段,目前支持以下几种类型。

支持类型

其中Objectmap对象,GeoPoint是经纬度信息,Pointer是另外一张表的表名,做多表联合查询使用的。 假设我们的表名是T_TODO,我们可以用以下代码来查询该表下面的数据。

new AV.Query('T_TODO')
      .descending('createdAt') // 排序
      .limit(10) // 分页数量
      .skip(10) // 跳过数量
      .find()
      .then(function(results) {
      		that.setData({todo: results})
      })
      .catch(console.error);
  }
复制代码

在你的WXML中可以这样写来做数据绑定:

<!-- pages/todos/todos.wxml -->
<block wx:for="{{todos}}" wx:for-item="todo" wx:key="objectId">
<text data-id="{{todo.objectId}}">
  {{todo.content}}
</text>
</block>
复制代码

是不是很方便。

  1. 多表查询

如果需要多多表查询,先要在一张表中新建一个Pointer字段,新建时会让你选择指向的表名,如下图所示:

演示
然后在查询是使用include,就会返回关联表中的所有信息了,如下所示:

new AV.Query('T_TODO')
      .descending('createdAt') // 排序
      .limit(10) // 分页数量
      .skip(10) // 跳过数量
      .include('T_POINT_CLASS')
      .find()
      .then(function(results) {
      		that.setData({todo: results})
      })
      .catch(console.error);
  }
复制代码
  1. 更新对象

小程序中对表中字段做操作后,需要同步更新到服务端,可以使用以下代码来保存对象。

  // 第一个参数是 className,第二个参数是 objectId
  var todo = AV.Object.createWithoutData('Todo', '5745557f71cfe40068c6abe0');
  // 修改属性
  todo.set('content', '每周工程师会议,本周改为周三下午3点半。');
  // 保存到云端
  todo.save();
复制代码
  1. 其他更多的操作请查看文档,不过你找不到小程序对应的详细开发文档,只能找到数据存储开发指南 · JavaScript

广告时间

三国图鉴是我业余时间开发的查询三国杀武将技能以及官方活动的小程序,后台服务就是由LeanCloud提供的,请大家多多关照。如果有其他问题,你可以关注我的公众号来联系我。

  • 扫码体验小程序
    三国图鉴
  • 扫码关注公众号
    公众号二维码
关注下面的标签,发现更多相似文章
评论