uni-query
Version:
🐠 为uniapp设计的开源组件库,专注最重要的核心组件
77 lines (66 loc) • 1.34 kB
text/typescript
export default (url: string) => {
return new Promise((resolve, reject) => {
// #ifdef H5
let aEl = document.createElement("a");
aEl.href = url;
aEl.download = "图片.png";
aEl.click();
resolve("");
// #endif
// #ifdef MP
let doSave = (authback?: Function) => {
uni.saveImageToPhotosAlbum({
filePath: url,
success: () => {
resolve("");
},
fail: (err) => {
if (authback) {
authback();
} else {
reject(err);
}
},
})
};
doSave(() => {
let authName = "scope.writePhotosAlbum"
// #ifdef MP-ALIPAY
// 苹果
if (uni.getSystemInfoSync().osName == "ios") {
authName = "album"
}
// 安卓
else {
authName = "writePhotosAlbum"
}
// #endif
uni.authorize({
scope: "scope.writePhotosAlbum",
success() {
doSave()
},
fail: () => {
uni.getSetting({
success: (res) => {
if ((res.authSetting as any)[authName]) {
doSave()
} else {
uni.openSetting({
success(res) {
if (res.authSetting[authName]) {
doSave();
} else {
reject("未授权");
}
}
})
}
},
})
},
})
});
// #endif
});
};