scf-database.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. // 参考文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-server-api/database/
  2. Page({
  3. onShareAppMessage() {
  4. return {
  5. title: '云函数操作数据库',
  6. path: 'packageCloud/pages/scf/scf-database/scf-database'
  7. }
  8. },
  9. data: {
  10. theme: 'light',
  11. serverDataClient: '',
  12. serverDataClientError: false,
  13. serverDataCloud: '',
  14. serverDataCloudError: false,
  15. clientLoading: false,
  16. cloudLoading: false,
  17. theme: 'light'
  18. },
  19. onLoad() {
  20. this.setData({
  21. theme: wx.getSystemInfoSync().theme || 'light'
  22. })
  23. if (wx.onThemeChange) {
  24. wx.onThemeChange(({theme}) => {
  25. this.setData({theme})
  26. })
  27. }
  28. this.setData({
  29. theme: wx.getSystemInfoSync().theme || 'light'
  30. })
  31. if (wx.onThemeChange) {
  32. wx.onThemeChange(({theme}) => {
  33. this.setData({theme})
  34. })
  35. }
  36. },
  37. queryServerDataViaClient() {
  38. const db = wx.cloud.database()
  39. this.setData({
  40. clientLoading: true,
  41. serverDataClient: '',
  42. serverDataClientError: false
  43. })
  44. db.collection('perm4').where({
  45. _openid: 'server'
  46. }).get({
  47. success: res => {
  48. const resFirstData = (res.data && res.data[0]) || {}
  49. this.setData({
  50. serverDataClient: resFirstData.data
  51. })
  52. console.log('[数据库] [查询记录] 成功: ', res)
  53. },
  54. fail: err => {
  55. this.setData({
  56. serverDataClientError: true
  57. })
  58. console.error('[数据库] [查询记录] 失败:', err)
  59. },
  60. complete: () => {
  61. this.setData({
  62. clientLoading: false
  63. })
  64. }
  65. })
  66. },
  67. queryServerDataViaCloudFunction() {
  68. this.setData({
  69. cloudLoading: true,
  70. serverDataCloud: '',
  71. serverDataCloudError: false
  72. })
  73. wx.cloud.callFunction({
  74. name: 'getServerDataDemo',
  75. data: {},
  76. success: res => {
  77. console.log('[云函数] [getServerDataDemo] res: ', res.result)
  78. const resFirstData = (res.result.data && res.result.data[0]) || {}
  79. this.setData({
  80. serverDataCloud: resFirstData.data
  81. })
  82. },
  83. fail: err => {
  84. this.setData({
  85. serverDataCloudError: true
  86. })
  87. console.error('[云函数] [getServerDataDemo] 调用失败', err)
  88. },
  89. complete: () => {
  90. this.setData({
  91. cloudLoading: false
  92. })
  93. }
  94. })
  95. }
  96. })