download.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. // pages/download/download.js
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. },
  8. /**
  9. * 生命周期函数--监听页面加载
  10. */
  11. onLoad(options) {
  12. console.log(options)
  13. const url = decodeURIComponent(options.url || '')
  14. if (url) {
  15. this.downloadFileH5(url)
  16. } else {
  17. wx.navigateBack();
  18. }
  19. },
  20. downloadFileH5(url) {
  21. wx.showLoading({
  22. title: '文件下载中...',
  23. mask: true
  24. })
  25. wx.downloadFile({
  26. url: url,
  27. success: (ret) => {
  28. console.log(ret)
  29. if (ret.statusCode == 200) {
  30. //下载完文件
  31. wx.getFileSystemManager().saveFile({
  32. tempFilePath: ret.tempFilePath,
  33. complete: (err) => {
  34. wx.hideLoading();
  35. wx.showToast({
  36. title: err.errMsg == 'saveFile:ok' ? '下载成功' : '下载失败',
  37. })
  38. setTimeout(() => {
  39. wx.navigateBack();
  40. }, 500);
  41. }
  42. })
  43. } else {
  44. wx.hideLoading();
  45. wx.showToast({
  46. title: '下载失败',
  47. })
  48. setTimeout(() => {
  49. wx.navigateBack();
  50. }, 500);
  51. }
  52. },
  53. fail: (err) => {
  54. wx.hideLoading();
  55. setTimeout(() => {
  56. wx.navigateBack();
  57. }, 500);
  58. }
  59. })
  60. },
  61. /**
  62. * 生命周期函数--监听页面初次渲染完成
  63. */
  64. onReady() {
  65. },
  66. /**
  67. * 生命周期函数--监听页面显示
  68. */
  69. onShow() {
  70. },
  71. /**
  72. * 生命周期函数--监听页面隐藏
  73. */
  74. onHide() {
  75. },
  76. /**
  77. * 生命周期函数--监听页面卸载
  78. */
  79. onUnload() {
  80. },
  81. /**
  82. * 页面相关事件处理函数--监听用户下拉动作
  83. */
  84. onPullDownRefresh() {
  85. },
  86. /**
  87. * 页面上拉触底事件的处理函数
  88. */
  89. onReachBottom() {
  90. },
  91. /**
  92. * 用户点击右上角分享
  93. */
  94. onShareAppMessage() {
  95. }
  96. })