八岐大兔吼啦吼啦 2023-02-15 15:28 采纳率: 100%
浏览 34
已结题

微信开发者工具,.js文件使用!!转boolean不生效

首先我需要在接口链接后拼接图片id,才能获取图片文件流,当我拿到这个文件流的时候,做了个拼接然后再resolve出去。所以我做了个文件流的接口封装,关键代码如下。

url = 'data:image/png;base64,' + wx.arrayBufferToBase64(res.data)  
resolve(url)

但是这个图片接口有时是请求不到的,有时请求到了但是什么都不返回,我就加了层判断,方便不同页面根据空url显示默认图片。
在请求到但是什么都没返回时,我做了判断。

let url = ""
If ( !!res.data ) { 
   url = 'data:image/png;base64,' + wx.arrayBufferToBase64(res.data)  
 }  
resolve(url)

安卓oppo系统在没有数据时,返回的是 “” ;
但是ios在没有数据时,却返回 'data:image/png;base64,' ,导致我在页面中显示不了默认图片。

目前的解决办法是:在页面判断 wx:if={{ url.lenght === 0 || url.lenght === 27 }} 时显示默认图片 ……

为啥会有这个问题呢?有没有什么更好的解决办法啊?我没找到在微信小程序的.js中能用!!转换boolean不生效的解决办法。还有其他很多位置其实也不生效,但我可以用.lenght去解决,接口封装这种没有任何返回的不知道该怎么处理。

工具版本:2.19.4
工具已开启fs6转es5
后端图片接口配置了nginx

  • 写回答

1条回答 默认 最新

  • ZionHH 2023-02-15 16:08
    关注

    没有数据时res.data返回的不是空字符串或者null什么的吗,是的话可以 if (res.data)
    或者可以使用Object.keys(res.data).length

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月24日
  • 已采纳回答 2月16日
  • 修改了问题 2月15日
  • 创建了问题 2月15日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装