之前介紹了微信小程序下載文件和掃描普通二維碼打開微信小程序的功能,文章連結是 ,最近在進一步開發過程中,發現有些注意事項這裡再次和大家介紹。
這裡發現的問題是下載完成後的文件在轉發和保存後,是無法再次打開或者預覽,提示頁面如下:
經過排查,發現分享或者保存的路徑就是微信下載後的臨時文件路徑,經過研究和查閱資料發現需重新指定一個路徑,具體代碼如下:
//自定義文件名const randfile = this.data.fileName;//新的文件路徑const newPath = `${wx.env.USER_DATA_PATH}/${randfile}`;var tempDownloadTask = wx.downloadFile({ url: this.data.downloadUrl, filePath: newPath,//指定新的文件路徑 success(res) { if (res.statusCode === 200) { wx.openDocument({ showMenu: true, fileType: 'pdf', filePath: newPath,//預覽時使用新的文件路徑 success: function (res) { console.log('打開文檔成功', res) }, fail: function (res) { console.log('打開文檔失敗', res) } }) } }, fail: function (res) { wx.showToast({ title: '下載失敗' }) }})},
雖然設置規則的時候,可以設置指定測試範圍,但是如果我們進行了發布,即使是設置了體驗版對線上版本也有影響。
什麼原因呢?查看了微信小程序社區,發現也有其他人遇到這個問題:
然後通過官方的回答找到了問題的原因
測試僅對指定的測試連結和測試範圍內的微信用戶生效,其他用戶掃碼後跳轉網頁,不影響全網用戶正常使用。在二維碼規則發布後,開發者仍然可以選擇在指定版本(開發版/體驗版/線上版本)下測試,請注意掃碼用戶要打開開發版必須提交過代碼。
總結一下就是,配置為開發版本或者體驗版,不要發布。發布後都會跳轉到線上版本,只要不發布就可以跳轉到你配置的開發版(體驗版)。
以上就是踩坑的全部內容,希望對大家在小程序開發過程中有所幫助。