mirror of
https://gitee.com/beijing_hongye_huicheng/lilishop-uniapp.git
synced 2026-08-06 02:47:25 +08:00
refactor: 移动端升级 Vue3 + uView Plus
将 lilishop-uniapp 从 Vue2/uView 1.6 迁移到 Vue3/uview-plus,优先支持 H5/微商城与微信小程序;移除 vendored uview-ui,改用 npm 依赖、Vuex4 与迁移脚本/补丁,并补充 VUE3_MIGRATION.md 回归清单。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
61
utils/uploadHelper.js
Normal file
61
utils/uploadHelper.js
Normal file
@@ -0,0 +1,61 @@
|
||||
import storage from "@/utils/storage.js";
|
||||
import { upload as uploadUrl } from "@/api/common.js";
|
||||
|
||||
export function getUploadHeader() {
|
||||
return { accessToken: storage.getAccessToken() };
|
||||
}
|
||||
|
||||
export function getUploadedUrls(fileList) {
|
||||
return fileList
|
||||
.filter((item) => item.status === "success" && item.url)
|
||||
.map((item) => item.url);
|
||||
}
|
||||
|
||||
/**
|
||||
* uView Plus u-upload @afterRead handler for lilishop upload API.
|
||||
* Backend returns { result: "fileUrl", ... }.
|
||||
*/
|
||||
export function handleUploadAfterRead(event, fileList, onSuccess) {
|
||||
const files = [].concat(event.file);
|
||||
files.forEach((file) => {
|
||||
const index = fileList.length;
|
||||
fileList.push({
|
||||
...file,
|
||||
status: "uploading",
|
||||
message: "上传中",
|
||||
});
|
||||
uni.uploadFile({
|
||||
url: uploadUrl,
|
||||
filePath: file.url,
|
||||
name: "file",
|
||||
header: getUploadHeader(),
|
||||
success: (res) => {
|
||||
try {
|
||||
const data = JSON.parse(res.data);
|
||||
fileList.splice(index, 1, {
|
||||
...fileList[index],
|
||||
status: "success",
|
||||
message: "",
|
||||
url: data.result,
|
||||
});
|
||||
if (onSuccess) {
|
||||
onSuccess(getUploadedUrls(fileList));
|
||||
}
|
||||
} catch (e) {
|
||||
fileList.splice(index, 1, {
|
||||
...fileList[index],
|
||||
status: "failed",
|
||||
message: "上传失败",
|
||||
});
|
||||
}
|
||||
},
|
||||
fail: () => {
|
||||
fileList.splice(index, 1, {
|
||||
...fileList[index],
|
||||
status: "failed",
|
||||
message: "上传失败",
|
||||
});
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user