taro+云开发

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文件夹复制过来

使用 微信开发者工具创建的示例项目:

使用微信开发者工具创建的示例项目.jpg
使用taro默认模版.jpg

配置根目录下的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使用默认模板后使用云开发的简单方法

你可能感兴趣的:(taro+云开发)