Browse Source

‘修复bug’

master
Lj 5 days ago
parent
commit
9fad04b664
1 changed files with 38 additions and 142 deletions
  1. +38
    -142
      pages/subcomponent/promo-qrcode.vue

+ 38
- 142
pages/subcomponent/promo-qrcode.vue View File

@ -51,6 +51,7 @@
import pullRefreshMixin from '@/pages/mixins/pullRefreshMixin.js'
import config from '@/config.js'
import navbar from '@/compoent/base/navbar.vue'
import authorize from '@/utils/authorize.js'
export default {
components : {
navbar
@ -149,7 +150,7 @@ export default {
},
//
saveToAlbum() {
async saveToAlbum() {
if (!this.qrcodeUrl) {
uni.showToast({
title: '二维码还未加载完成',
@ -158,159 +159,54 @@ export default {
return
}
// iOS
const systemInfo = uni.getSystemInfoSync()
const isIOS = systemInfo.platform === 'ios'
//
uni.showLoading({
title: '保存中...'
})
//
uni.downloadFile({
url: this.qrcodeUrl,
success: res => {
uni.hideLoading()
if (res.statusCode === 200) {
this.saveLocalImage(res.tempFilePath, isIOS)
} else {
uni.showToast({ title: '下载失败', icon: 'none' })
}
},
fail: err => {
uni.hideLoading()
console.log('下载失败:', err)
uni.showToast({ title: '下载失败', icon: 'none' })
}
})
try {
//
await authorize('scope.writePhotosAlbum')
//
await this.imgApi(this.qrcodeUrl)
} catch (error) {
console.log('保存失败:', error)
uni.showToast({
title: '保存失败',
icon: 'none'
})
}
},
//
saveLocalImage(tempFilePath, isIOS) {
// #ifdef APP-PLUS
// APP
uni.saveImageToPhotosAlbum({
filePath: tempFilePath,
success: () => {
uni.showToast({
title: '保存成功',
icon: 'success'
})
},
fail: (err) => {
console.log('保存失败', err)
// iOS
if (isIOS || (err.errMsg && err.errMsg.includes('auth deny'))) {
uni.showModal({
title: '权限提示',
content: '需要您授权保存相册权限,请在设置中开启',
confirmText: '去设置',
success: (res) => {
if (res.confirm) {
// #ifdef APP-PLUS
plus.runtime.openURL('app-settings://')
// #endif
// #ifdef MP-WEIXIN
uni.openSetting()
// #endif
}
}
})
} else {
uni.showToast({
title: '保存失败',
icon: 'none'
})
}
}
})
// #endif
// #ifdef MP-WEIXIN
//
uni.getSetting({
success: (res) => {
if (res.authSetting['scope.writePhotosAlbum'] === false) {
//
uni.showModal({
title: '权限提示',
content: '需要您授权保存相册权限,请在设置中开启',
confirmText: '去设置',
success: (modalRes) => {
if (modalRes.confirm) {
uni.openSetting()
}
}
})
} else {
//
//
imgApi(image) {
return new Promise((resolve, reject) => {
//
uni.getImageInfo({
src: image,
success: (imageInfo) => {
//
uni.saveImageToPhotosAlbum({
filePath: tempFilePath,
filePath: imageInfo.path,
success: () => {
uni.showToast({
uni.showModal({
title: '保存成功',
icon: 'success'
content: '图片已成功保存到相册',
showCancel: false
})
resolve()
},
fail: (err) => {
console.log('保存失败', err)
// iOS
if (isIOS) {
uni.showModal({
title: 'iOS权限提示',
content: 'iOS设备需要手动授权相册权限,请在设置中开启',
confirmText: '去设置',
success: (modalRes) => {
if (modalRes.confirm) {
uni.openSetting()
}
}
})
} else {
uni.showToast({
title: '保存失败',
icon: 'none'
})
}
reject(new Error('保存失败'))
},
complete: (res) => {
console.log('保存结果:', res)
}
})
},
fail: (err) => {
console.log('获取图片信息失败:', err)
reject(new Error('获取图片信息失败'))
}
},
fail: () => {
//
uni.saveImageToPhotosAlbum({
filePath: tempFilePath,
success: () => {
uni.showToast({
title: '保存成功',
icon: 'success'
})
},
fail: (err) => {
console.log('保存失败', err)
// iOS
if (isIOS) {
uni.showModal({
title: 'iOS权限提示',
content: 'iOS设备需要手动授权相册权限,请在设置中开启',
confirmText: '去设置',
success: (modalRes) => {
if (modalRes.confirm) {
uni.openSetting()
}
}
})
} else {
uni.showToast({
title: '保存失败',
icon: 'none'
})
}
}
})
}
})
})
// #endif
},
//


Loading…
Cancel
Save