开发小程序离不开后台数据,对于独立开发者来讲,既要写前端,又要写后端,工做量就会骤然增大。微信提供的云开发无疑是给独立开发者提供了很大的便利,可是因为其数据库不支持联表查询,对于某些场景就不是那么的友好了。固然,市面上有不少的BaaS
服务提供商,大都相似,今天咱们就用其中的一个LeanCloud
来说解一下,如何快速使用LeanCloud
来开发一个小程序。 因为本次重点在LeanCloud
,因此小程序的开发内容就不是重点。html
先去leancloud.cn官网注册一个帐号,而后登陆去控制台建立一个新应用。前端
在微信小程序后台中配置域名白名单,具体须要按照这里说明的来配置,你也能够先跳过这一步,等彻底开发完毕后再来配置。可在开发者工具的 详情 > 项目设置 中勾选不校验安全域名、TLS 版本以及 HTTPS 证书。vue
SDK
集成下载你熟悉的SDK,目前支持JS
,WePY
,mpvue
,下载连接在这里,后面以JS
来讲明,其余方式的SDK
导入以及使用方法参考文档中的说明。数据库
SDK
在app.js
中加入如下代码便可。appId
和appKey
能够在控制台中的应用找到。小程序
const AV = require('./utils/av-live-query-weapp-min');
AV.init({
appId: '换成你本身的appId',
appKey: '换成你本身的appKey',
});
复制代码
先须要在控制台中的应用下新建一个表,在网页中叫作Class
。每一张表会默认建立objectId
、createdAt
、updatedAt
、ACL
四个字段,分别表示数据索引
,建立时间
,更新时间
、权限
。你能够添加你想要的字段,目前支持如下几种类型。 后端
其中Object
是map
对象,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>
复制代码
是否是很方便。bash
若是须要多多表查询,先要在一张表中新建一个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);
}
复制代码
小程序中对表中字段作操做后,须要同步更新到服务端,能够使用如下代码来保存对象。
// 第一个参数是 className,第二个参数是 objectId
var todo = AV.Object.createWithoutData('Todo', '5745557f71cfe40068c6abe0');
// 修改属性
todo.set('content', '每周工程师会议,本周改成周三下午3点半。');
// 保存到云端
todo.save();
复制代码
三国图鉴
是我业余时间开发的查询三国杀武将技能以及官方活动的小程序,后台服务就是由LeanCloud
提供的,请你们多多关照。若是有其余问题,你能够关注个人公众号来联系我。