lex 2 years ago
parent
commit
ca434069ec
2 changed files with 73 additions and 35 deletions
  1. 10 0
      src/views/massMessage/api.js
  2. 63 35
      src/views/massMessage/operation.vue

+ 10 - 0
src/views/massMessage/api.js

@@ -43,3 +43,13 @@ export const imSendGroupMessageUpdate = (data) => {
     data,
     data,
   });
   });
 };
 };
+
+// 获取上传信息
+export function policy(data) {
+  return request({
+    method: "post",
+    // baseURL: "/api-web",
+    url: "/getUploadSign",
+    data,
+  });
+}

+ 63 - 35
src/views/massMessage/operation.vue

@@ -48,7 +48,7 @@
     <van-cell-group class="cellGroup">
     <van-cell-group class="cellGroup">
       <div
       <div
         class="van-cell--required"
         class="van-cell--required"
-        style="padding: 10px 16px 0;color: #646566;font-size: 14px"
+        style="padding: 10px 16px 0; color: #646566; font-size: 14px"
       >
       >
         发送内容
         发送内容
       </div>
       </div>
@@ -63,7 +63,7 @@
       ></van-field>
       ></van-field>
       <div class="access">
       <div class="access">
         <p class="title">附件</p>
         <p class="title">附件</p>
-        <van-field style="padding: 0;" :border="false">
+        <van-field style="padding: 0" :border="false">
           <template #input>
           <template #input>
             <van-uploader
             <van-uploader
               v-model="uploader"
               v-model="uploader"
@@ -128,6 +128,7 @@ import {
   imSendGroupMessageSend,
   imSendGroupMessageSend,
   imSendGroupMessageDelete,
   imSendGroupMessageDelete,
   imSendGroupMessageUpdate,
   imSendGroupMessageUpdate,
+  policy,
 } from "./api";
 } from "./api";
 export default {
 export default {
   name: "operation",
   name: "operation",
@@ -184,41 +185,68 @@ export default {
     },
     },
     async afterRead(file) {
     async afterRead(file) {
       // 上传头像
       // 上传头像
-      this.$toast.loading({
-        duration: 0,
-        forbidClick: true,
-        message: "上传中...",
-      });
-      const form = this.form;
+
       try {
       try {
-        file.status = "uploading";
-        file.message = "上传中...";
-        let formData = new FormData();
-        formData.append("file", file.file);
-        let res = await uploadFile(formData);
-        this.$toast.clear();
-        let result = res.data;
-        if (result.code == 200) {
-          file.status = "done";
-          form.fileName = file.file.name;
-          form.fileUrl = result.data.url;
-          form.messageType = this.onCheckFileType(file.file.type);
-        } else {
-          file.status = "failed";
-          file.message = "上传失败";
-          this.$toast(result.msg);
-          form.fileName = "";
-          form.fileUrl = "";
-          return false;
-        }
-      } catch (err) {
-        this.$toast.clear();
-        file.status = "failed";
-        file.message = "上传失败";
-        form.fileName = "";
-        form.fileUrl = "";
-        return false;
+        let fileName = file.name.replaceAll(" ", "_");
+        let key = new Date().getTime() + fileName;
+        let obj = {
+          filename: fileName,
+          bucketName: this.bucket_name,
+          postData: {
+            filename: fileName,
+            acl: "public-read",
+            key: key,
+            unknowValueField: [],
+          },
+        };
+
+        const res = await policy(obj);
+        this.dataObj = {
+          policy: res.data.policy,
+          signature: res.data.signature,
+          key: key,
+          KSSAccessKeyId: res.data.kssAccessKeyId,
+          acl: "public-read",
+          name: fileName,
+        };
+      } catch {
+        //
       }
       }
+      // this.$toast.loading({
+      //   duration: 0,
+      //   forbidClick: true,
+      //   message: "上传中...",
+      // });
+      // const form = this.form;
+      // try {
+      //   file.status = "uploading";
+      //   file.message = "上传中...";
+      //   let formData = new FormData();
+      //   formData.append("file", file.file);
+      //   let res = await uploadFile(formData);
+      //   this.$toast.clear();
+      //   let result = res.data;
+      //   if (result.code == 200) {
+      //     file.status = "done";
+      //     form.fileName = file.file.name;
+      //     form.fileUrl = result.data.url;
+      //     form.messageType = this.onCheckFileType(file.file.type);
+      //   } else {
+      //     file.status = "failed";
+      //     file.message = "上传失败";
+      //     this.$toast(result.msg);
+      //     form.fileName = "";
+      //     form.fileUrl = "";
+      //     return false;
+      //   }
+      // } catch (err) {
+      //   this.$toast.clear();
+      //   file.status = "failed";
+      //   file.message = "上传失败";
+      //   form.fileName = "";
+      //   form.fileUrl = "";
+      //   return false;
+      // }
     },
     },
     onCheckFileType(type) {
     onCheckFileType(type) {
       if (type.indexOf("image") != -1) {
       if (type.indexOf("image") != -1) {