云函数获取openid
1.创建一个新的页面yunhanshu,在此不赘述了
2.修改yunhanshu.js文件
Page({
onLoad(){
//云函数的调用
wx.cloud.callFunction({
name:'getData'//getData是云环境下的一个文件名
})
.then(res=>{
console.log('请求云函数成功',res)
})
.catch(err=>{
console.log('请求云函数失败',err)
})
}
})
3.获取到了openid
云函数获取数据
ps:云函数只要有变动,就要重新部署,否则云函数不生效
修改index.js文件,并重新部署
?获取数据成功
导入新的num数据库,体验云函数的优势
num数据库共108条数据,云数据库最多一次读取20条,而云函数最多能读取100条
?云函数修改删除数据
解决云数据库remove和update不能对没有openid的数据操作的问题
1.cloud底下新建了一个Node.js的云函数update0129
?2.找到上次商品详情页demo1-1.js文件,修改update()函数里面的else操作,之前我们编写的是在小程序中调用云数据库进行更新获删除,这次我们将更新操作写在云端。
//调用云函数
wx.cloud.callFunction({
name: 'update0129',
data: {
id: id,
price: parseInt(newprice)
}
}).then(res => {
console.log('调用云函数成功', res)
this.getDetail()
}).catch(err => {
console.error('调用云函数失败', err)
})
3.在云函数update0129中的index.js里面传参调用
// 云函数入口函数
exports.main = async (event, context) => {
return cloud.database().collection('goods')
.doc(event.id)
.update({
data: {
price:event.price
}
})
}
4.以前修改不了的苹果价格现在可以修改啦!
5.删除操作同理
// 云函数入口函数
exports.main = async (event, context) => {
return cloud.database().collection('goods')
.doc(event.id)
.remove()
}
delete() {
console.log('点击了删除')
//弹窗提示
wx.showModal({
title: '是否确定删除',
content: '您是否真的要删除,删除后就找不回来了',
success(res) {
if (res.confirm == true) {
console.log('用户点击了确定')
//删除操作
wx.cloud.callFunction({
name: 'remove0130',
data: {
id: id
}
})
.then(res => {
console.log('删除成功', res)
//回到商品首页
wx.navigateTo({
url: '/pages/demo1/demo1',
})
})
.catch(err => {
console.log('删除失败', err)
})
} else if (res.cancel == true) {
console.log('用户点击了取消')
}
}
})
}
|