getShareCode(row) { let baseUrl = request.baseURL; this.codeUrl = `${baseUrl}/enterSettleRecord/getMiniProgramCode?settleId=${row.id}&path=pages/companyManage/companyUser/shareDetail/index` api.getShareQrCode(qs.stringify({ settleId: row.id, path: "pages/companyManage/companyUser/shareDetail/index" })).then(res => { this.qrCodeUrl = "data:image/png;base64," + uni.arrayBufferToBase64(res); this.isShow = true; }) }, saveDownloadFile() { this.downLoadFile().then((res) => { return this.saveImageToPhotosAlbum(res.tempFilePath) }).then(() => { }) }, downLoadFile() { return new Promise((resolve, reject) => { uni.downloadFile({ header: { 'Authorization': uni.getStorageSync('blade-auth') || '', }, url: this.codeUrl, success: (res) => { console.log('downloadfile', res) resolve(res) }, fail: (err) => { console.log('downloadfile-失败', err) } }) }) }, saveImageToPhotosAlbum(path) { return new Promise((reslove, reject) => { uni.saveImageToPhotosAlbum({ filePath: path, success: (z) => { util.showToast("已保存到相册",'none',1000); setTimeout(() => { this.handleCloseModal(); },1000) reslove(z) }, fail: (er) => { reject(er) } }) }) }, async handleAuth() { await this.getSetting().then(res => { var _this = this; if (res.authSetting['scope.writePhotosAlbum']) { this.saveDownloadFile(); return } if (res.authSetting['scope.writePhotosAlbum'] === undefined) { uni.authorize({ scope: 'scope.writePhotosAlbum', success: (res) => { console.log('authorize', res) this.saveDownloadFile(); }, fail: (errs) => { console.log('authorize-error 用户拒绝授权', errs) } }) } else { uni.showModal({ content: '授权小程序保存本地图片', confirmColor: '#36C7B5', success: (res) => { if (res.confirm) { this.getOpenUserSetting().then(res => { if (res['scope.writePhotosAlbum']) { this.saveDownloadFile(); } }); } else { uni.showToast({ title: '用户取消授权!', icon: 'none' }); } }, }) } }) }, getSetting() { return new Promise((resolve, reject) => { uni.getSetting({ success(res) { resolve(res) }, fail(res) { reject(new Error('获取授权信息失败', res)) } }); }); }, getOpenUserSetting() { return new Promise((resolve, reject) => { uni.openSetting({ success(res) { resolve(res.authSetting) }, fail(err) { reject(new Error('打开授权失败', res)) } }) }) },
|