download.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. Page({
  2. /**
  3. * 页面的初始数据
  4. */
  5. data: {
  6. codeUrl: "https://music-play.oss-cn-shenzhen.aliyuncs.com/device/20221107134141195228914.png",
  7. nvabarData: {
  8. showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
  9. title: '下载', //导航栏 中间的标题
  10. },
  11. },
  12. /**
  13. * 生命周期函数--监听页面加载
  14. */
  15. onLoad() {
  16. init().then((res) => {
  17. this.setData({
  18. codeUrl: res.appDownQrCode,
  19. })
  20. })
  21. },
  22. /**
  23. * 生命周期函数--监听页面初次渲染完成
  24. */
  25. onReady() {
  26. },
  27. /**
  28. * 生命周期函数--监听页面显示
  29. */
  30. onShow() {
  31. },
  32. /**
  33. * 生命周期函数--监听页面隐藏
  34. */
  35. onHide() {
  36. },
  37. /**
  38. * 生命周期函数--监听页面卸载
  39. */
  40. onUnload() {
  41. },
  42. /**
  43. * 页面相关事件处理函数--监听用户下拉动作
  44. */
  45. onPullDownRefresh() {
  46. },
  47. /**
  48. * 页面上拉触底事件的处理函数
  49. */
  50. onReachBottom() {
  51. },
  52. /**
  53. * 用户点击右上角分享
  54. */
  55. onShareAppMessage() {
  56. },
  57. // 保存海报
  58. saveImageToPhotosAlbum() {
  59. const _this = this;
  60. wx.showLoading({
  61. title: '保存中...'
  62. })
  63. wx.downloadFile({
  64. url: _this.data.codeUrl,
  65. success: function (res) {
  66. //图片保存到本地
  67. wx.saveImageToPhotosAlbum({
  68. filePath: res.tempFilePath,
  69. success: function (data) {
  70. wx.hideLoading()
  71. wx.showToast({
  72. title: '保存成功',
  73. icon: 'success',
  74. duration: 2000
  75. })
  76. },
  77. fail: function (err) {
  78. if (err.errMsg === "saveImageToPhotosAlbum:fail:auth denied" || err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
  79. // 这边微信做过调整,必须要在按钮中触发,因此需要在弹框回调中进行调用
  80. wx.showModal({
  81. title: '提示',
  82. content: '需要您授权保存相册',
  83. showCancel: false,
  84. success() {
  85. wx.openSetting({
  86. success(settingdata) {
  87. console.log("settingdata", settingdata)
  88. if (settingdata.authSetting['scope.writePhotosAlbum']) {
  89. wx.showModal({
  90. title: '提示',
  91. content: '获取权限成功,再次点击图片即可保存',
  92. showCancel: false,
  93. })
  94. } else {
  95. wx.showModal({
  96. title: '提示',
  97. content: '获取权限失败,将无法保存到相册哦~',
  98. showCancel: false,
  99. })
  100. }
  101. },
  102. fail(failData) {
  103. console.log("failData", failData)
  104. },
  105. complete(finishData) {
  106. console.log("finishData", finishData)
  107. }
  108. })
  109. }
  110. })
  111. }
  112. },
  113. complete(res) {
  114. wx.hideLoading()
  115. }
  116. })
  117. }
  118. })
  119. },
  120. })