钉钉H5微应用踩坑

钉钉H5微应用踩坑

  • dd.biz.util.isLocalFileExist
    • win平台
    • mac平台

dd.biz.util.isLocalFileExist

先上结论:mac平台返回结果与win平台不一致
最终代码

export function isLocalFileExist(path) {
     
  return new Promise((resolve, reject) => {
     
    dd.ready(_ => {
     
      dd.biz.util.isLocalFileExist({
     
        params: [{
      url: pathToUrl(path) }],
        onSuccess: res => {
     
          // 神坑,mac系统下竟然返回了object,区分数据类型进行返回
          if (res instanceof Array) {
     
            resolve(res[0])
          } else if (res instanceof Object) {
     
            resolve(res.body[0])
          }
        },
        onFail: err => {
     
          reject(err)
        }
      })
    })
  })
}

win平台

onSuccess返回了数组,与文档一致

[{
     
    url: '', //本地文件的url
    path: '', // 文件的path
    isExist: true //根据你输入的文件的url检测出的结果,true:存在,false:不存在
}]

mac平台

onSuccess返回了对象

{
     body: [{
     
   url: '', //本地文件的url
   path: '', // 文件的path
   isExist: true //根据你输入的文件的url检测出的结果,true:存在,false:不存在
}]}

你可能感兴趣的:(前端技术,javascript,vue.js)