使用wx.downloadFile下载文件需要配置downloadFile合法域名:开发管理->开发设置->服务器域名->downloadFile合法域名。
downloadFile 下载网络图片,保存为临时图片,不报错也无返回,不知道问题出在哪里?合法域名正确配置,TSL版本1.3,HTTPS证书也有[图片],这个选项点了就能正常下载生成网络图片,不知道问题出再哪里
2022-01-18我碰到了和楼主一样的需求,僵住了一上午。在开发者工具和真机调试时均不会出现这样的问题。 看了官方的解释和解决思路,我的解决办法如下: 在自定义tabbar的attached周期里,将预创建的实例挂到app的globalData中,这样在其他页面就能获取到这个预创建的实例。当切换角色后,跳页面之前,通过setData修改tabbar的配置项为切换后角色的,这样切换后就能正确渲染当前角色的tabbar了。
自定义TabBar在基础库v2.6.2+的生命周期attached重复执行customBar代码在基础库2.6.1和2.5.0版本下运行,进入页面时先执行的customBar的生命周期函数attached,并打印了TarBar前缀的日志,然后在页面onShow函数中打印了进入某某页面日志,此时两个函数获取的当前页的WebViewId和TabBar的ExparserNodeId相同 [图片] 然而把基础库改为2.6.2+以后,BUG来了,注意时间戳,进入页面时执行customBar的attached函数和页面的onShow函数后,再次执行了customBar的attached函数,结果就是当前页的customBar显示的是上一次渲染的数据 [图片] 代码用的是你们官网提供的自定义tabbar示例代码:https://developers.weixin.qq.com/s/jiSARvmF7i55 custom-tab-bar.js [代码]lifetimes: {[代码][代码] [代码][代码]attached() {[代码][代码] [代码][代码]var[代码] [代码]curr = app.globalData.curr;[代码][代码] [代码][代码]if[代码] [代码](curr !== undefined) {[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]list: [代码][代码]this[代码][代码].data.tabs[curr][代码][代码] [代码][代码]});[代码][代码] [代码][代码]}[代码] [代码] [代码][代码]var[代码] [代码]webViewId = [代码][代码]'WebViewId: '[代码] [代码]+ [代码][代码]this[代码][代码].__wxWebviewId__;[代码][代码] [代码][代码]var[代码] [代码]nxparserNodeId = [代码][代码]'ExparserNodeId: '[代码] [代码]+ [代码][代码]this[代码][代码].__wxExparserNodeId__;[代码][代码] [代码][代码]var[代码] [代码]route = [代码][代码]''[代码][代码];[代码][代码] [代码][代码]var[代码] [代码]pages = getCurrentPages();[代码][代码] [代码][代码]if[代码] [代码](pages.length) {[代码][代码] [代码][代码]route = pages[pages.length - 1].route;[代码][代码] [代码][代码]}[代码][代码] [代码][代码]var[代码] [代码]data = JSON.stringify([代码][代码]this[代码][代码].data.list);[代码][代码] [代码][代码]console.log(Date.now(), [代码][代码]'TabBar'[代码][代码], webViewId, nxparserNodeId); [代码][代码]//, route, data);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码] 角色1首页.js [代码]onShow: [代码][代码]function[代码][代码]() {[代码][代码] [代码][代码]var[代码] [代码]webViewId = [代码][代码]'WebViewId: '[代码] [代码]+ [代码][代码]this[代码][代码].__wxWebviewId__;[代码][代码] [代码][代码]var[代码] [代码]nxparserNodeId = [代码][代码]'ExparserNodeId: '[代码] [代码]+ [代码][代码]this[代码][代码].getTabBar().__wxExparserNodeId__;[代码][代码] [代码][代码]var[代码] [代码]route = [代码][代码]this[代码][代码].route;[代码][代码] [代码][代码]var[代码] [代码]data = JSON.stringify([代码][代码]this[代码][代码].getTabBar().data.list);[代码][代码] [代码][代码]console.log(Date.now(), [代码][代码]'进入角色1首页'[代码][代码], webViewId, nxparserNodeId); [代码][代码]//, route, data);[代码][代码] [代码][代码]console.log([代码][代码]' '[代码][代码]);[代码][代码] [代码][代码]if[代码] [代码]([代码][代码]typeof[代码] [代码]this[代码][代码].getTabBar === [代码][代码]'function'[代码] [代码]&& [代码][代码]this[代码][代码].getTabBar()) {[代码][代码] [代码][代码]this[代码][代码].getTabBar().setData({[代码][代码] [代码][代码]selected: 0[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码] 角色2首页.js [代码]onShow: [代码][代码]function[代码][代码]() {[代码][代码] [代码][代码]var[代码] [代码]webViewId = [代码][代码]'WebViewId: '[代码] [代码]+ [代码][代码]this[代码][代码].__wxWebviewId__;[代码][代码] [代码][代码]var[代码] [代码]nxparserNodeId = [代码][代码]'ExparserNodeId: '[代码] [代码]+ [代码][代码]this[代码][代码].getTabBar().__wxExparserNodeId__;[代码][代码] [代码][代码]var[代码] [代码]route = [代码][代码]this[代码][代码].route;[代码][代码] [代码][代码]var[代码] [代码]data = JSON.stringify([代码][代码]this[代码][代码].getTabBar().data.list);[代码][代码] [代码][代码]console.log(Date.now(), [代码][代码]'进入角色2首页'[代码][代码], webViewId, nxparserNodeId); [代码][代码]//, route, data);[代码][代码] [代码][代码]console.log([代码][代码]' '[代码][代码]);[代码][代码] [代码][代码]if[代码] [代码]([代码][代码]typeof[代码] [代码]this[代码][代码].getTabBar === [代码][代码]'function'[代码] [代码]&& [代码][代码]this[代码][代码].getTabBar()) {[代码][代码] [代码][代码]this[代码][代码].getTabBar().setData({[代码][代码] [代码][代码]selected: 0[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码] 个人页.js [代码]onShow: [代码][代码]function[代码][代码]() {[代码][代码] [代码][代码]var[代码] [代码]webViewId = [代码][代码]'WebViewId: '[代码] [代码]+ [代码][代码]this[代码][代码].__wxWebviewId__;[代码][代码] [代码][代码]var[代码] [代码]nxparserNodeId = [代码][代码]'ExparserNodeId: '[代码] [代码]+ [代码][代码]this[代码][代码].getTabBar().__wxExparserNodeId__;[代码][代码] [代码][代码]var[代码] [代码]route = [代码][代码]this[代码][代码].route;[代码][代码] [代码][代码]var[代码] [代码]data = JSON.stringify([代码][代码]this[代码][代码].getTabBar().data.list);[代码][代码] [代码][代码]console.log(Date.now(), [代码][代码]'进入角色'[代码] [代码]+ ([代码][代码]this[代码][代码].data.isDriver ? 1 : 2) + [代码][代码]'个人页'[代码][代码], webViewId, nxparserNodeId); [代码][代码]//, route, data);[代码][代码] [代码][代码]console.log([代码][代码]' '[代码][代码]);[代码][代码] [代码][代码]if[代码] [代码]([代码][代码]typeof[代码] [代码]this[代码][代码].getTabBar === [代码][代码]'function'[代码] [代码]&& [代码][代码]this[代码][代码].getTabBar()) {[代码][代码] [代码][代码]this[代码][代码].getTabBar().setData({[代码][代码] [代码][代码]selected: [代码][代码]this[代码][代码].data.isDriver ? 1 : 2[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码]
2021-10-11