fix: point exp
This commit is contained in:
@@ -332,11 +332,24 @@ const downloadWallpaper = async (item) => {
|
||||
}
|
||||
|
||||
uni.showLoading({ title: "下载中..." });
|
||||
await saveRemoteImageToLocal(item.imageUrl);
|
||||
await saveRecordRequest("", item.id, "wallpaper_download", item.imageUrl);
|
||||
try {
|
||||
// Parallelize save record and download
|
||||
// Wait for saveRecordRequest to ensure backend deducts points
|
||||
await Promise.all([
|
||||
saveRecordRequest("", item.id, "wallpaper_download", item.imageUrl),
|
||||
saveRemoteImageToLocal(item.imageUrl),
|
||||
]);
|
||||
|
||||
// Refresh user assets to show updated points
|
||||
await userStore.fetchUserAssets();
|
||||
|
||||
uni.hideLoading();
|
||||
uni.showToast({ title: "保存成功 消耗 20 积分", icon: "success" });
|
||||
} catch (e) {
|
||||
uni.hideLoading();
|
||||
console.error("Download failed", e);
|
||||
uni.showToast({ title: "下载失败", icon: "none" });
|
||||
}
|
||||
};
|
||||
|
||||
const shareWallpaper = (item) => {};
|
||||
|
||||
@@ -70,6 +70,7 @@ export const saveViewRequest = async (shareToken, scene, targetId = "") => {
|
||||
};
|
||||
|
||||
export const saveRemoteImageToLocal = (imageUrl) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
uni.downloadFile({
|
||||
url: imageUrl,
|
||||
success: (res) => {
|
||||
@@ -77,24 +78,23 @@ export const saveRemoteImageToLocal = (imageUrl) => {
|
||||
uni.saveImageToPhotosAlbum({
|
||||
filePath: res.tempFilePath,
|
||||
success: () => {
|
||||
uni.hideLoading();
|
||||
uni.showToast({ title: "已保存到相册" });
|
||||
resolve(true);
|
||||
},
|
||||
fail: () => {
|
||||
uni.hideLoading();
|
||||
uni.showToast({ title: "保存失败", icon: "none" });
|
||||
fail: (err) => {
|
||||
reject(err);
|
||||
},
|
||||
});
|
||||
} else {
|
||||
uni.hideLoading();
|
||||
uni.showToast({ title: "下载失败", icon: "none" });
|
||||
reject(
|
||||
new Error("Download failed with status code: " + res.statusCode),
|
||||
);
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
uni.hideLoading();
|
||||
uni.showToast({ title: "下载失败", icon: "none" });
|
||||
fail: (err) => {
|
||||
reject(err);
|
||||
},
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
export const getShareToken = async (scene, targetId = "") => {
|
||||
|
||||
Reference in New Issue
Block a user