|
|
|
|
// pages/databaseGuide/databaseGuide.js
|
|
|
|
|
|
|
|
|
|
const app = getApp()
|
|
|
|
|
|
|
|
|
|
Page({
|
|
|
|
|
|
|
|
|
|
data: {
|
|
|
|
|
step: 1,
|
|
|
|
|
counterId: '',
|
|
|
|
|
openid: '',
|
|
|
|
|
count: null,
|
|
|
|
|
queryResult: '',
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onLoad: function (options) {
|
|
|
|
|
if (app.globalData.openid) {
|
|
|
|
|
this.setData({
|
|
|
|
|
openid: app.globalData.openid
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onAdd: function () {
|
|
|
|
|
// 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)
|
|
|
|
|
// }
|
|
|
|
|
// })
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onQuery: function() {
|
|
|
|
|
// const db = wx.cloud.database()
|
|
|
|
|
// // 查询当前用户所有的 counters
|
|
|
|
|
// db.collection('counters').where({
|
|
|
|
|
// _openid: this.data.openid
|
|
|
|
|
// }).get({
|
|
|
|
|
// success: res => {
|
|
|
|
|
// this.setData({
|
|
|
|
|
// queryResult: JSON.stringify(res.data, null, 2)
|
|
|
|
|
// })
|
|
|
|
|
// console.log('[数据库] [查询记录] 成功: ', res)
|
|
|
|
|
// },
|
|
|
|
|
// fail: err => {
|
|
|
|
|
// wx.showToast({
|
|
|
|
|
// icon: 'none',
|
|
|
|
|
// title: '查询记录失败'
|
|
|
|
|
// })
|
|
|
|
|
// console.error('[数据库] [查询记录] 失败:', err)
|
|
|
|
|
// }
|
|
|
|
|
// })
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onCounterInc: function() {
|
|
|
|
|
// const db = wx.cloud.database()
|
|
|
|
|
// const newCount = this.data.count + 1
|
|
|
|
|
// db.collection('counters').doc(this.data.counterId).update({
|
|
|
|
|
// data: {
|
|
|
|
|
// count: newCount
|
|
|
|
|
// },
|
|
|
|
|
// success: res => {
|
|
|
|
|
// this.setData({
|
|
|
|
|
// count: newCount
|
|
|
|
|
// })
|
|
|
|
|
// },
|
|
|
|
|
// fail: err => {
|
|
|
|
|
// icon: 'none',
|
|
|
|
|
// console.error('[数据库] [更新记录] 失败:', err)
|
|
|
|
|
// }
|
|
|
|
|
// })
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onCounterDec: function() {
|
|
|
|
|
// const db = wx.cloud.database()
|
|
|
|
|
// const newCount = this.data.count - 1
|
|
|
|
|
// db.collection('counters').doc(this.data.counterId).update({
|
|
|
|
|
// data: {
|
|
|
|
|
// count: newCount
|
|
|
|
|
// },
|
|
|
|
|
// success: res => {
|
|
|
|
|
// this.setData({
|
|
|
|
|
// count: newCount
|
|
|
|
|
// })
|
|
|
|
|
// },
|
|
|
|
|
// fail: err => {
|
|
|
|
|
// icon: 'none',
|
|
|
|
|
// console.error('[数据库] [更新记录] 失败:', err)
|
|
|
|
|
// }
|
|
|
|
|
// })
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onRemove: function() {
|
|
|
|
|
// if (this.data.counterId) {
|
|
|
|
|
// const db = wx.cloud.database()
|
|
|
|
|
// db.collection('counters').doc(this.data.counterId).remove({
|
|
|
|
|
// success: res => {
|
|
|
|
|
// wx.showToast({
|
|
|
|
|
// title: '删除成功',
|
|
|
|
|
// })
|
|
|
|
|
// this.setData({
|
|
|
|
|
// counterId: '',
|
|
|
|
|
// count: null,
|
|
|
|
|
// })
|
|
|
|
|
// },
|
|
|
|
|
// fail: err => {
|
|
|
|
|
// wx.showToast({
|
|
|
|
|
// icon: 'none',
|
|
|
|
|
// title: '删除失败',
|
|
|
|
|
// })
|
|
|
|
|
// console.error('[数据库] [删除记录] 失败:', err)
|
|
|
|
|
// }
|
|
|
|
|
// })
|
|
|
|
|
// } else {
|
|
|
|
|
// wx.showToast({
|
|
|
|
|
// title: '无记录可删,请见创建一个记录',
|
|
|
|
|
// })
|
|
|
|
|
// }
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
nextStep: function () {
|
|
|
|
|
// 在第一步,需检查是否有 openid,如无需获取
|
|
|
|
|
if (this.data.step === 1 && !this.data.openid) {
|
|
|
|
|
wx.cloud.callFunction({
|
|
|
|
|
name: 'login',
|
|
|
|
|
data: {},
|
|
|
|
|
success: res => {
|
|
|
|
|
app.globalData.openid = res.result.openid
|
|
|
|
|
this.setData({
|
|
|
|
|
step: 2,
|
|
|
|
|
openid: res.result.openid
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
fail: err => {
|
|
|
|
|
wx.showToast({
|
|
|
|
|
icon: 'none',
|
|
|
|
|
title: '获取 openid 失败,请检查是否有部署 login 云函数',
|
|
|
|
|
})
|
|
|
|
|
console.log('[云函数] [login] 获取 openid 失败,请检查是否有部署云函数,错误信息:', err)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
const callback = this.data.step !== 6 ? function() {} : function() {
|
|
|
|
|
console.group('数据库文档')
|
|
|
|
|
console.log('https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database.html')
|
|
|
|
|
console.groupEnd()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.setData({
|
|
|
|
|
step: this.data.step + 1
|
|
|
|
|
}, callback)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
prevStep: function () {
|
|
|
|
|
this.setData({
|
|
|
|
|
step: this.data.step - 1
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
goHome: function() {
|
|
|
|
|
const pages = getCurrentPages()
|
|
|
|
|
if (pages.length === 2) {
|
|
|
|
|
wx.navigateBack()
|
|
|
|
|
} else if (pages.length === 1) {
|
|
|
|
|
wx.redirectTo({
|
|
|
|
|
url: '../index/index',
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
wx.reLaunch({
|
|
|
|
|
url: '../index/index',
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
})
|