文章目录
- 什么是小程序云开发?
- 「法语动词变位小程序」最新的一些更新
- 如何使用小程序云开发
- 准备工作
- 快速上手
- 创建一个云开发环境
- 初始化
- 获取用户基本数据
- 插入数据
- 查询数据
- 更新数据
- 总结
什么是小程序云开发?
开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。 —— 微信官方文档 小程序
云开发提供了几大基础能力支持,可以看一下下面这张表格:
所以综上所述,所以小程序云开发这还是挺适合我这样的懒人的。不过之后还是想使用自己的服务器弄一个自己用的API,之后所有待开发的程序直接在API调数据,这个是后话。
「法语动词变位小程序」最新的一些更新
v1.4.0 日期:2019/06/24
- 修复了下列单词的变位错误:terminer、déterminer、exterminer、prédéterminer
- 增加了卡片和设置的云同步
- 修复了一些细节
v1.3.4 日期:2019/06/10 - 修改了卡片和首页样式
- 页面设置了分享
- 部分细节修复
- 增加了微信小程序自带的反馈按钮
- 添加小程序推荐
如何使用小程序云开发
准备工作
最好的方法:当然最好的参考资料就是官方文档:
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html
**使用云开发模板:**如果懒,或者是想直接使用小程序云开发的话。可以现在微信公众平台新注册一个小程序的账号(和公众号是同一个网站、同一个入口;单个邮箱只能注册一个小程序)。因为只有当AppID是真实有效的情况下才可以使用小程序云开发,使用测试号是无法使用小程序云开发的。
**已经做好了小程序:**如果已经做好了一个小程序,并且还想使用小程序云开发的话,那么还是需要参考一下官方文档,路径是:云函数——我的第一个云函数。
快速上手
这里针对的对象是 使用云开发模板 的朋友。因为云开模板已经使用了最基础的云函数,可以获取用户的openid,当用户授权之后,我们将获得用户的地区信息和性别、昵称、头像信息。用户的 openid 就像用户的身份证号码一样,使得我们可以在数据库中识别和保存用户的数据。
创建一个云开发环境
先创建一个云开发环境:在微信开发者工具——云开发,并且取一个名字,比如:my_new_applet
在数据库界面创建一个集合,比如:user_data。
初始化
在开始使用数据库 API 进行增删改查操作之前,需要先获取数据库的引用。以下调用获取默认环境的数据库的引用。总之,下面两行代码必加:
const db = wx.cloud.database()
const user_data = db.collection('user_data') //user_data是一个例子
通过集合上的 doc 方法来获取集合中一个指定 ID 的记录的引用。记录的引用可以用于对特定记录进行更新和删除操作。
const user_data_vocab = db.collection('user_data').doc('user_data_vocab')
获取用户基本数据
这里可以使用云开发模板,因为里面都已经写好了 onGetUserInfo ,直接调用即可。可以把玩一下小程序云开发模板,这里面的例子比官方文档更有实践意义,也更容易明白。
插入数据
可以通过在集合对象上调用 add 方法往集合中插入一条记录,比如在user_data中增加一条carte_arrey。同样建议把玩一下小程序云开发模板,这里面的例子比官方文档更有实践意义,也更容易明白,同下。
onAdd: function() {
const db = wx.cloud.database()
db.collection('user_data').add({
data: {
carte_arrey: app.globalData.carte_arrey,
},
success: res => {
// 成功了
wx.showToast({
title: '同步记录成功',
})
console.log('[数据库] [新增记录] 成功,记录 _id: ', res._id)
},
fail: err => { //失败了
wx.showToast({
icon: 'none',
title: '新增记录失败'
})
console.error('[数据库] [新增记录] 失败:', err)
}
})
},
查询数据
在记录和集合上都有提供 get 方法用于获取单个记录或集合中多个记录的数据。比如在user_data中查找carte_arrey的数据。
onQuery: function() {
var that = this //注意这个细节
const db = wx.cloud.database()
// 查询当前用户的数据
db.collection('user_data').where({
_openid: app.globalData.openid
}).get({
success: function(res) {
console.log(res.data)
if (res.data.length === 0) {
that.onAdd() //如果找不到数据,那就调用onAdd函数
} else {
//将查到的数据直接写入缓存以及全局变量。这里根据实际情况来。
wx.setStorageSync('carte_arrey', res.data[0].carte_arrey);
app.globalData.carte_arrey = res.data[0].carte_arrey;
//刷新当前页面的数据
if (getCurrentPages().length != 0) {
getCurrentPages()[getCurrentPages().length - 1].onLoad()
}
that.setData({
tongbu: "已自动同步"
})
wx.setStorageSync('tongbu', "已自动同步");
}
}
})
},
更新数据
使用 update 方法可以局部更新一个记录或一个集合中的记录,局部更新意味着只有指定的字段会得到更新,其他字段不受影响。
onUpdate: function() {
const db = wx.cloud.database()
db.collection('user_data').doc().update({
data: {
carte_arrey: app.globalData.carte_arrey,
},
success: res => {
wx.showToast({
title: '添加记录成功',
})
console.log('[数据库] [更新记录] 成功,记录 _id: ', res._id)
},
fail: err => {
icon: 'none',
console.error('[数据库] [更新记录] 失败:', err)
}
})
},
总结
目前我大部分的云开发功能就仅限于这些,无非不就是在数据库中增加数据、查询已存在的数据、更新已存在的数据、删除已存在的数据。其他的功能还是去参考官方文档吧,或者是小程序云开发的那个初始模板。