scf-storage.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. const demoImageFileId = require('../../../../config').demoImageFileId
  2. // 参考文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-server-api/storage/
  3. const app = getApp()
  4. Page({
  5. onShareAppMessage() {
  6. return {
  7. title: '云函数操作存储',
  8. path: 'page/cloud/pages/scf-storage/scf-storage'
  9. }
  10. },
  11. data: {
  12. fileTempURLDone: false,
  13. fileId: '',
  14. tempFileURL: '',
  15. loading: false
  16. },
  17. onLoad() {
  18. this.setData({
  19. fileId: app.globalData.fileId || demoImageFileId
  20. })
  21. },
  22. getTempFileURL() {
  23. const fileId = this.data.fileId
  24. if (!fileId) {
  25. return
  26. }
  27. this.setData({
  28. loading: true
  29. })
  30. wx.cloud.callFunction({
  31. name: 'getTempFileURL',
  32. data: {
  33. fileIdList: [fileId]
  34. },
  35. success: res => {
  36. console.log('[云函数] [getTempFileURL] res: ', res.result)
  37. if (res.result.length) {
  38. this.setData({
  39. fileTempURLDone: true,
  40. tempFileURL: res.result[0].tempFileURL
  41. })
  42. }
  43. },
  44. fail: err => {
  45. console.error('[云函数] [getTempFileURL] 调用失败', err)
  46. },
  47. complete: () => {
  48. this.setData({
  49. loading: false
  50. })
  51. }
  52. })
  53. }
  54. })