爱简收旧衣按件回收前端代码仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

113 lines
3.0 KiB

"use strict";
const common_vendor = require("../../../common/vendor.js");
const utils_ossUpload_oss_OSSConfig = require("./OSSConfig.js");
const config = require("../../../config.js");
function storeKey() {
let s = [];
let hexDigits = "0123456789abcdef";
for (let i = 0; i < 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 16), 1);
}
s[14] = "4";
s[19] = hexDigits.substr(s[19] & 3 | 8, 1);
s[8] = s[13] = s[18] = s[23] = "-";
return s.join("");
}
function storeFolder() {
const date = /* @__PURE__ */ new Date();
const formatNumber = (n) => {
n = n.toString();
return n[1] ? n : "0" + n;
};
return [date.getFullYear(), date.getMonth() + 1, date.getDate()].map(formatNumber).join("-");
}
function ossUpload(filePath, key = storeKey(), folder = storeFolder()) {
return new Promise((resolve, reject) => {
if (folder && (folder == null ? void 0 : folder.length) > 0) {
if (folder[0] == "/")
folder = folder.slice(1, folder.length);
if (folder[folder.length - 1] != "/")
folder += "/";
key = folder + key;
}
const filePrefixArr = filePath.split(".");
key += `.${filePrefixArr[filePrefixArr.length - 1]}`;
let config$1 = {
url: utils_ossUpload_oss_OSSConfig.OSSConfig.host,
name: "file",
filePath,
formData: {
key,
policy: utils_ossUpload_oss_OSSConfig.OSSConfig.policyBase64,
OSSAccessKeyId: utils_ossUpload_oss_OSSConfig.OSSConfig.accessid,
success_action_status: "200",
signature: utils_ossUpload_oss_OSSConfig.OSSConfig.signature
},
success(res) {
if (res.errMsg.includes("uploadFile:ok")) {
resolve(config.ossConfig.aliOss.url + key);
} else {
reject(res);
}
},
fail(err) {
reject(err);
}
};
common_vendor.index.uploadFile(config$1);
});
}
function ossUploadImage({
key,
folder,
compressed = true,
//是否压缩
success,
//成功时的回调
fail
//失败时的回调
}) {
const sizeType = [compressed ? "compressed" : "original"];
common_vendor.index.chooseImage({
count: 1,
sizeType,
success(res) {
ossUpload(res.tempFilePaths[0], key, folder).then(success).catch(fail);
},
fail
});
}
function ossUploadVideo({
key,
folder,
sourceType = ["album", "camera"],
//album 从相册选视频, camera 使用相机拍摄
compressed = true,
//是否压缩所选的视频源文件
maxDuration = 60,
//拍摄视频最长拍摄时间, 单位秒。最长支持 60 秒
camera = "back",
//调用相机方向, 'front'、'back', 默认'back'
success,
//成功时的回调
fail
//失败时的回调
}) {
common_vendor.index.chooseVideo({
sourceType,
compressed,
maxDuration,
camera,
success(res) {
ossUpload(res.tempFilePath, key, folder).then(success).catch(fail);
},
fail
});
}
const OSS = {
ossUploadVideo,
ossUploadImage,
ossUpload
};
exports.OSS = OSS;
//# sourceMappingURL=../../../../.sourcemap/mp-weixin/utils/oss-upload/oss/index.js.map