|
@@ -26,7 +26,7 @@
|
|
|
<t-form-item label="上传封面" name="CoverImg">
|
|
|
<div style="display: block;">
|
|
|
<t-upload accept="image/*"
|
|
|
- :http-request="handleUploadImg" :show-file-list="false" :disabled="isImageUploading">
|
|
|
+ :requestMethod="handleUploadImg" theme="custom" :show-image-file-name="false" :disabled="isImageUploading">
|
|
|
<t-button theme="primary" :loading="isImageUploading">点击上传</t-button>
|
|
|
<span style="color:#999999;margin-left: 5px;" @click.stop>建议尺寸比例3:2,支持png、jpg、gif、jpeg格式</span>
|
|
|
</t-upload>
|
|
@@ -197,26 +197,33 @@ const getTagList = async (keyword = '') => {
|
|
|
};
|
|
|
|
|
|
// 检查图片是否合法
|
|
|
-const handleUploadImg = (file) => {
|
|
|
+const handleUploadImg = async (file) => {
|
|
|
isImageUploading.value = true;
|
|
|
- const { type } = file.file;
|
|
|
+ const { type } = file.raw;
|
|
|
if (!['image/png', 'image/jpeg'].includes(type)) {
|
|
|
MessagePlugin.warning('仅支持png、jpg格式的图片');
|
|
|
isImageUploading.value = false;
|
|
|
return;
|
|
|
}
|
|
|
- uploadImg(file);
|
|
|
+ const res = await uploadImg(file);
|
|
|
+ return {
|
|
|
+ status: res ? 'success' : 'fail',
|
|
|
+ response: {
|
|
|
+ url: form.value.CoverImg,
|
|
|
+ },
|
|
|
+ error: '上传失败',
|
|
|
+ };
|
|
|
};
|
|
|
|
|
|
// 上传图片
|
|
|
-const uploadImg = (file) => {
|
|
|
+const uploadImg = async (file) => {
|
|
|
const formData = new FormData();
|
|
|
- formData.append('file', file.file);
|
|
|
- VideoInterface.bannerupload(formData).then(res => {
|
|
|
- isImageUploading.value = false;
|
|
|
- if (res.Ret !== 200) return;
|
|
|
- form.value.CoverImg = res.Data.ResourceUrl;
|
|
|
- });
|
|
|
+ formData.append('file', file.raw);
|
|
|
+ const res = await VideoInterface.bannerupload(formData)
|
|
|
+ isImageUploading.value = false;
|
|
|
+ if (res.Ret !== 200) return false;
|
|
|
+ form.value.CoverImg = res.Data.ResourceUrl;
|
|
|
+ return true;
|
|
|
};
|
|
|
|
|
|
// 检查视频是否合法,并获取视频时长
|
|
@@ -233,8 +240,6 @@ const handleUploadVideo = async (file) => {
|
|
|
|
|
|
// 获取视频时长的Promise
|
|
|
const handleGetDuration = (file) => {
|
|
|
- console.log(file);
|
|
|
-
|
|
|
return new Promise((resolve, reject) => {
|
|
|
const fileUrl = URL.createObjectURL(file.raw);
|
|
|
const audioEl = new Audio(fileUrl);
|