2025-07-15 16:18:34 +08:00

102 lines
4.0 KiB
JavaScript

"use strict";
const common_vendor = require("../vendor.js");
const gen_Apis = require("../../gen/Apis.js");
const handlePreUpload = async (val) => {
const res = await gen_Apis.Apis.Login.Auth.PreUpload(val);
return res;
};
const upload = (count = 1, size = 2, mediaType = ["image"]) => {
return new Promise(
(resolve, reject) => {
let ArrImgList = [];
common_vendor.index.chooseMedia({
count: count > 9 ? 9 : count,
//默认9
mediaType,
sizeType: ["original", "compressed"],
//可以指定是原图还是压缩图,默认二者都有
success: async function(i) {
var _a;
console.log("filePath_i", i);
(_a = i.tempFiles) == null ? void 0 : _a.map((k) => {
console.log(k, "??kj");
let match = k.tempFilePath.match(/[^\/\\]+(?=\.[^\.]+$|$)/);
const filePath = k.tempFilePath;
const extIndex = filePath.lastIndexOf(".");
const filePathName = match[0];
extIndex >= -1 ? filePath.substr(extIndex + 1) : "";
const img_size = i.tempFiles[0].size;
const max_size = 1024 * 1024 * (size || 2);
if (img_size > max_size) {
common_vendor.index.showToast({
title: `${filePathName}文件大小不能超过${size}M`,
icon: "none"
});
return false;
}
handlePreUpload({
filename: filePathName,
alc: "public-read"
}).then((res) => {
if (res == null ? void 0 : res.success) {
const wxfs = common_vendor.index.getFileSystemManager();
wxfs.readFile({
filePath,
complete(e) {
console.log("complete", e);
},
success: function(fileRes) {
var _a2, _b;
console.log(fileRes, "fileRes1");
common_vendor.index.request({
url: (_a2 = res == null ? void 0 : res.data) == null ? void 0 : _a2.url,
method: "PUT",
header: {
...(_b = res == null ? void 0 : res.data) == null ? void 0 : _b.headers,
"x-amz-acl": "public-read"
// 明确指定 ACL
},
data: fileRes == null ? void 0 : fileRes.data,
success: function success(json) {
var _a3, _b2;
console.log(json, "resUpadte");
if (json.statusCode !== 200) {
common_vendor.index.showToast({
title: "上传失败",
icon: "none"
});
reject();
} else {
const timestamp = Date.now();
let data = {
url: (_b2 = (_a3 = res == null ? void 0 : res.data) == null ? void 0 : _a3.url) == null ? void 0 : _b2.split("?")[0],
status: "done",
type: `${k == null ? void 0 : k.fileType}/${filePath.split(".")[1]}`,
uid: timestamp,
size: k == null ? void 0 : k.size
};
ArrImgList == null ? void 0 : ArrImgList.push(data);
resolve(ArrImgList);
}
},
fail: function fail() {
common_vendor.index.showToast({
title: "上传失败",
icon: "none"
});
reject();
}
});
console.log(fileRes, "fileRes");
}
});
}
});
});
}
});
}
);
};
exports.upload = upload;