1.初始化项目
由于目前(2020-07-08)taro的云开发模版有bug,所以使用taro的默认模版用作云开发
1.初始化项目
laughing@laughingdeMacBook-Pro smallapp % taro init taro-timer
👽 Taro v3.0.2
Taro即将创建一个新项目!
Need help? Go and open issue: https://github.com/NervJS/taro/issues/new
✔ 拉取远程模板仓库成功!
? 请输入项目介绍! 番茄钟
? 请选择框架 React
? 是否需要使用 TypeScript ? No
? 请选择 CSS 预处理器(Sass/Less/Stylus) Sass
? 请选择模板 默认模板
使用默认模版初始化项目后,将之前使用微信开发者工具创建的项目中的cloudfunctions文件夹复制过来
使用 微信开发者工具创建的示例项目:
配置根目录下的project.config.json
,确保配置如下两个项目:
"appid": "*******",
"cloudfunctionRoot":"cloudfunctions/",
1.静默获取openid:
在src-->index--index.jsx添加函数:
onGetOpenid () {
// 调用云函数
wx.cloud.callFunction({
name: 'login',
data: {},
success: res => {
console.log('[云函数] [login] user openid: ', res.result.openid)
},
fail: err => {
console.error('[云函数] [login] 调用失败', err)
}
})
}
如果将上面的函数放在componentWillMount
中调用就可以静默获取到openid了
2.操作数据库
- 确保src-->app.js中配额了正确的env
- 确保文件夹是正确的环境
- 确保云开发中新建了名为counters的集合
const db = wx.cloud.database()
db.collection('counters').add({
data: {
count: 1
},
success: res => {
// 在返回结果中会包含新创建的记录的 _id
this.setData({
counterId: res._id,
count: 1
})
wx.showToast({
title: '新增记录成功',
})
console.log('[数据库] [新增记录] 成功,记录 _id: ', res._id)
},
fail: err => {
wx.showToast({
icon: 'none',
title: '新增记录失败'
})
console.error('[数据库] [新增记录] 失败:', err)
}
})
这样,在counters里就添加了一条新的数据了
以上,就是taro使用默认模板后使用云开发的简单方法