- 小程序是否支持办公文件上传下载?
小程序是否可以下载文件到本地,且手机里的文件管理器可以查看? 小程序是否可以上传那些在文件管理器里可以查看到的办公文件如docx,xlsx以及压缩文件如zip等? 摸索了半天没找到方法, 有了解过的兄弟姐妹可以发表下看法,不确定是否正确也可以一起讨论下,希望官方也提供下解答。
2023-11-07 - getStorage/setStorage存取后不对称?
问题点: 最近在使用getStorage/setStorage方法时出现存取后数据不对称。然后进行了调试检查,发现以下情况:Date类型的数据进行直接存取是正常的,但是要是Date变量放在了Object对象里面作为属性时,存取后类型变了。 api文档是这么说的: any data 需要存储的内容。只支持原生类型、Date、及能够通过[代码]JSON.stringify[代码]序列化的对象。 我就纳闷了,Object支持,Date支持,但Date放到Object里面却把Date类型的属性变成了字符串类型。 (直接打印出来是发现不了问题的,但在做日期格式化的时候就会发现他不是Date类型,报错!) 测试代码: var date = new Date(); console.log("typeof date :" + typeof (date)); //object wx.setStorageSync("test_date", date); var date2 = wx.getStorageSync("test_date"); console.log("typeof date2 :" + typeof (date2)); //object var obj = {}; obj.date = date; console.log("typeof obj.date :" + typeof (obj.date)); //object wx.setStorageSync("test_obj", obj); obj = wx.getStorageSync("test_obj"); console.log("typeof obj.date2 :" + typeof (obj.date)); //string //console.log("typeof obj.date2 :" + typeof (new Date(obj.date)));//object 结论: 这也不能算是个bug,但是既然支持Date类型数据,那么作为Object的属性时也应该可以做到Date类型的支持吧,递归每个属性做一样的处理不就行了。(当然,这只是我简单猜测,实现起来难不难不清楚,但希望可以优化下,毕竟这种需求是很常见的。) 临时处理方案: 把拿出来的Date类型属性值:obj.date 再初始化一下就可以恢复原来的类型和数值了:new Date(obj.date)
2019-09-27 - 真机下hideLoading会关掉toast提示框
问题描述: wx.hideLoading()的功能时隐藏 loading 提示框,但是在真机环境下(小米,华为,iPhone)把wx.showToast(...)的提示框也关掉了。 而在开发工具里面是不会关掉toast提示框的。 以下是测试例子: 先延时10秒等加载完成,然后开始测试 显示toast提示框15秒,然后3秒后调用wx.hideLoading(); 开发工具里面toast提示框会显示15秒,正常 但真机里面显示3秒就被关掉了。 在页面onload()方法里面贴入以下代码就能测试出问题了 setTimeout(function(){ wx.showToast({ title: 'bbbbbb', duration: 15000 }) setTimeout(function(){ wx.hideLoading(); },3000); },10000);
2019-07-26 - 使用自定义组件bug
问题描述: 制作了个自定义组件1 A页面使用到自定义组件1,B页面也使用到了自定义组件1 打开A页面,自定义组件1能正常工作,但是从A跳转到B页面,再跳回到A页面后,A页面的自定义组件就无反应了。 测试,找问题: 1.在自定义组件内部打断点,能进入断点,也能成功调用方法,但是界面无(动画)效果。 2.完完整整地复制了自定义组件1得到自定义组件2,除了组件存放路径不同外其他都一样, A页面的自定义组件1换成自定义组件2(.json 引用自定义组件的路径改了一下,其他都没变), 按照上述描述问题的方式再测试了一遍,一切正常! 结论: 同一个自定义组件在多个页面同时使用时,后一个页面的该自定义组件会使前一个页面的该自定义组件异常(方法会被调用,但界面无效果)
2019-06-21