get-temp-file-url.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. const demoImageFileId = require('../../../../config').demoImageFileId
  2. // 参考文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-client-api/storage/getTempFileURL.html
  3. const app = getApp()
  4. Page({
  5. onShareAppMessage() {
  6. return {
  7. title: '获取临时链接',
  8. path: 'packageCloud/pages/storage/get-temp-file-url/get-temp-file-url'
  9. }
  10. },
  11. data: {
  12. theme: 'light',
  13. fileTempURLDone: false,
  14. fileId: '',
  15. tempFileURL: '',
  16. // maxAge: 0,
  17. loading: false
  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. fileId: app.globalData.fileId || demoImageFileId
  30. })
  31. },
  32. getTempFileURL() {
  33. const fileId = this.data.fileId
  34. if (!fileId) {
  35. return
  36. }
  37. const self = this
  38. this.setData({
  39. loading: true
  40. })
  41. wx.cloud.getTempFileURL({
  42. fileList: [fileId],
  43. success: res => {
  44. console.log('[换取临时链接] 成功:', res)
  45. if (res.fileList && res.fileList.length) {
  46. self.setData({
  47. fileTempURLDone: true,
  48. tempFileURL: res.fileList[0].tempFileURL,
  49. // maxAge: res.fileList[0].maxAge
  50. })
  51. }
  52. },
  53. fail: err => {
  54. console.error('[换取临时链接] 失败:', err)
  55. },
  56. complete: () => {
  57. self.setData({
  58. loading: false
  59. })
  60. }
  61. })
  62. }
  63. })