|
@@ -38,8 +38,8 @@
|
|
|
import { ref, computed } from "vue";
|
|
|
import { addDynamic, hostUploadImg } from "@/api/path/im.api";
|
|
|
import { showToast } from "vant";
|
|
|
-const router = useRouter();
|
|
|
|
|
|
+const router = useRouter();
|
|
|
const message = ref("");
|
|
|
const fileList = ref([]);
|
|
|
const loading = ref(false);
|
|
@@ -49,19 +49,22 @@ const isDisabled = computed(() => {
|
|
|
return !(message.value.trim() || fileList.value.length > 0);
|
|
|
});
|
|
|
|
|
|
-// 选中文件后的处理逻辑(只处理图片)
|
|
|
+// 选中文件后的处理逻辑(支持多选上传)
|
|
|
const afterRead = async (file) => {
|
|
|
- const rawFile = file.file;
|
|
|
- const formData = new FormData();
|
|
|
- formData.append("image", rawFile);
|
|
|
-
|
|
|
- try {
|
|
|
- const res = await hostUploadImg(formData);
|
|
|
- file.url = res.data.all_url;
|
|
|
- } catch (err) {
|
|
|
- console.error("上传失败:", err);
|
|
|
- file.status = "failed";
|
|
|
- file.message = "上传失败";
|
|
|
+ const files = Array.isArray(file) ? file : [file]; // 兼容单选和多选
|
|
|
+ for (const f of files) {
|
|
|
+ const rawFile = f.file;
|
|
|
+ const formData = new FormData();
|
|
|
+ formData.append("image", rawFile);
|
|
|
+
|
|
|
+ try {
|
|
|
+ const res = await hostUploadImg(formData);
|
|
|
+ f.url = res.data.all_url;
|
|
|
+ } catch (err) {
|
|
|
+ console.error("上传失败:", err);
|
|
|
+ f.status = "failed";
|
|
|
+ f.message = "上传失败";
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
|