钉钉H5微应用踩坑
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:不存在
}]}