注意:如果不使用云函数去新增数据,那么因为权限问题,除管理员和创建者以外的用户在新增数据时候会因为权限不够,导致新增数据失败,所以使用云函数实现数据库数据新增,就可以实现所有用户都可以对数据库进行读写。
js中,云函数调用:
wx.cloud.callFunction({
name:"bookAdd", //该名字是云函数名字
data:{
_openid: app.globalData.openid ,//_openid 等参数是要回传给云函数的入参
title: res.data.title,
imageUrl: photoUrl
},
success: res => {
wx.showToast({
title: '[云函数] [bookAdd] 新增信息成功!!',
})
console.log('[云函数] [bookAdd] 新增信息成功!! ', res)
wx.hideLoading();
that.reloadBookList();
},
fail: err => {
wx.showToast({
title: '[云函数] [bookAdd] 调用失败'+err,
})
console.error('[云函数] [bookAdd] 调用失败', err)
}
})
云函数实现:
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
env: '****' //填写自己的云开发环境ID
})
const db = cloud.database()
// 云函数入口函数
exports.main = async (event, context) => {
var openId = event._openid
var bookName = event.title
var photoUrl = event.imageUrl
try {
return await db.collection('***').add({ //填写自己的数据库名称
data: {
_openid:openId,
title: bookName,
imageUrl: photoUrl
}
})
} catch (e) {
console.log(e)
}
}
权限:
未完待续,云函数分页查询数据库下一章更新。。。
|
请发表评论