فهرست منبع

添加oss上传

lex 1 سال پیش
والد
کامیت
cba2d45716
5فایلهای تغییر یافته به همراه324 افزوده شده و 72 حذف شده
  1. 37 14
      package-lock.json
  2. 1 0
      package.json
  3. 206 0
      src/helpers/oss-file-upload.js
  4. 27 16
      src/views/massMessage/operation.vue
  5. 53 42
      src/views/visitManager/addVisit.vue

+ 37 - 14
package-lock.json

@@ -16,6 +16,7 @@
         "clean-deep": "^3.4.0",
         "copy-to-clipboard": "^3.3.1",
         "core-js": "^2.6.5",
+        "cos-js-sdk-v5": "^1.4.20",
         "dayjs": "^1.8.31",
         "e-icon-picker": "^1.1.7",
         "es6-promise": "^4.2.8",
@@ -3032,6 +3033,14 @@
         "@xtuc/long": "4.2.2"
       }
     },
+    "node_modules/@xmldom/xmldom": {
+      "version": "0.8.10",
+      "resolved": "https://registry.npmmirror.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz",
+      "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==",
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
     "node_modules/@xtuc/ieee754": {
       "version": "1.2.0",
       "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
@@ -5201,6 +5210,14 @@
       "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
       "dev": true
     },
+    "node_modules/cos-js-sdk-v5": {
+      "version": "1.4.20",
+      "resolved": "https://registry.npmmirror.com/cos-js-sdk-v5/-/cos-js-sdk-v5-1.4.20.tgz",
+      "integrity": "sha512-cGpmVoKN3iYBtWo8Lwp059fOrT4yyb/+I6fVS++Zyop/ZFJswDRkjnrASViwYd8N+hi3qWVAa6ruvvBsLutEwg==",
+      "dependencies": {
+        "@xmldom/xmldom": "^0.8.6"
+      }
+    },
     "node_modules/cosmiconfig": {
       "version": "5.2.1",
       "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
@@ -18699,8 +18716,7 @@
           "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
           "integrity": "sha512-ZFztHzVRdGLAzJmpUT9LNFLe1YiVOEylcaNpEutM26PVTCtOD919IMfD01CgbRouB42Dd9atjx1HseC15DgOZA==",
           "dev": true,
-          "optional": true,
-          "requires": {}
+          "optional": true
         },
         "ansi-regex": {
           "version": "3.0.1",
@@ -19149,8 +19165,7 @@
       "version": "1.1.2",
       "resolved": "https://registry.npmmirror.com/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz",
       "integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==",
-      "dev": true,
-      "requires": {}
+      "dev": true
     },
     "@vue/web-component-wrapper": {
       "version": "1.3.0",
@@ -19333,6 +19348,11 @@
         "@xtuc/long": "4.2.2"
       }
     },
+    "@xmldom/xmldom": {
+      "version": "0.8.10",
+      "resolved": "https://registry.npmmirror.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz",
+      "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw=="
+    },
     "@xtuc/ieee754": {
       "version": "1.2.0",
       "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
@@ -19365,8 +19385,7 @@
       "version": "5.3.2",
       "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
       "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
-      "dev": true,
-      "requires": {}
+      "dev": true
     },
     "acorn-walk": {
       "version": "6.2.0",
@@ -19396,15 +19415,13 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmmirror.com/ajv-errors/-/ajv-errors-1.0.1.tgz",
       "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
-      "dev": true,
-      "requires": {}
+      "dev": true
     },
     "ajv-keywords": {
       "version": "3.5.2",
       "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
       "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
-      "dev": true,
-      "requires": {}
+      "dev": true
     },
     "alphanum-sort": {
       "version": "1.0.2",
@@ -21164,6 +21181,14 @@
       "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
       "dev": true
     },
+    "cos-js-sdk-v5": {
+      "version": "1.4.20",
+      "resolved": "https://registry.npmmirror.com/cos-js-sdk-v5/-/cos-js-sdk-v5-1.4.20.tgz",
+      "integrity": "sha512-cGpmVoKN3iYBtWo8Lwp059fOrT4yyb/+I6fVS++Zyop/ZFJswDRkjnrASViwYd8N+hi3qWVAa6ruvvBsLutEwg==",
+      "requires": {
+        "@xmldom/xmldom": "^0.8.6"
+      }
+    },
     "cosmiconfig": {
       "version": "5.2.1",
       "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
@@ -26661,8 +26686,7 @@
     "postcss-prefix-selector": {
       "version": "1.16.0",
       "resolved": "https://registry.npmmirror.com/postcss-prefix-selector/-/postcss-prefix-selector-1.16.0.tgz",
-      "integrity": "sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==",
-      "requires": {}
+      "integrity": "sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q=="
     },
     "postcss-reduce-initial": {
       "version": "4.0.3",
@@ -29999,8 +30023,7 @@
     "vuex": {
       "version": "3.6.2",
       "resolved": "https://registry.npmmirror.com/vuex/-/vuex-3.6.2.tgz",
-      "integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==",
-      "requires": {}
+      "integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw=="
     },
     "watchpack": {
       "version": "1.7.5",

+ 1 - 0
package.json

@@ -16,6 +16,7 @@
     "clean-deep": "^3.4.0",
     "copy-to-clipboard": "^3.3.1",
     "core-js": "^2.6.5",
+    "cos-js-sdk-v5": "^1.4.20",
     "dayjs": "^1.8.31",
     "e-icon-picker": "^1.1.7",
     "es6-promise": "^4.2.8",

+ 206 - 0
src/helpers/oss-file-upload.js

@@ -0,0 +1,206 @@
+import request from "./request";
+import axios from "axios";
+// import umiRequest from "umi-request";
+import COS from "cos-js-sdk-v5";
+export const ossSwitch = "tencent"; //as 'ks3' | 'tencent'; // 上传文件服务商
+const tencentBucket = "daya-online-1303457149";
+
+/**
+ * 管乐团 gyt/
+ * 酷乐秀 klx/
+ * 课堂乐器 ktqy/
+ * 管乐迷 gym/
+ */
+
+// 定义一个cos 对象
+/**
+ * 获取上传文件签名
+ * @param params 上传对应参数
+ * { filename: fileName,
+     bucketName: props.bucketName,
+     postData: {
+      filename: fileName,
+      acl: 'public-read',
+      key: fileName,
+      unknowValueField: []
+    }}
+ * @param oss 服务商 ks3 tencent
+ * @returns ”{'signatur'':'',''kssAccessKeyI'':'',''policy': '' }“
+ */
+export const getUploadSign = async (params) => {
+  const { bucketName, filename, postData } = params;
+  const ossType = ossSwitch;
+  let bucket = bucketName;
+  let file = filename;
+  // const key = postData.key;
+  let tempPostData = {};
+  if (ossType === "tencent") {
+    bucket = tencentBucket;
+    file = "gym/" + filename;
+
+    tempPostData = {
+      key: "gym/" + postData.key,
+    };
+  } else {
+    tempPostData = postData;
+  }
+  return request.post("/getUploadSign?pluginName=" + ossType, {
+    postData: tempPostData,
+    pluginName: ossType,
+    bucketName: bucket,
+    filename: file,
+  });
+};
+
+/**
+ * 使用组件上传时,调用方法
+ * @param param0
+ */
+export const onFileUpload = ({ file, action, data, onProgress, onFinish, onError }) => {
+  if (ossSwitch === "ks3") {
+    const fileParams = {
+      policy: data.policy,
+      signature: data.signature,
+      key: data.key,
+      acl: "public-read",
+      KSSAccessKeyId: data.KSSAccessKeyId,
+      name: data.name,
+    };
+    const formData = new FormData();
+    for (const key in fileParams) {
+      formData.append(key, fileParams[key]);
+    }
+    formData.append("file", data.file);
+    axios
+      .post(action, formData, {
+        onUploadProgress: ({ progress }) => {
+          onProgress({ percent: Math.ceil((progress || 0) * 100) });
+        },
+      })
+      .then(() => {
+        file.url = action + data.key;
+        onFinish();
+      })
+      .catch((error) => {
+        onError(error);
+      });
+  } else {
+    const cos = new COS({
+      Domain: "https://oss.dayaedu.com",
+      Protocol: "https",
+      // getAuthorization 必选参数
+      getAuthorization: async (options, callback) => {
+        callback({ Authorization: data.signature });
+      },
+    });
+    cos
+      .uploadFile({
+        Bucket: tencentBucket /* 填写自己的 bucket,必须字段 */,
+        Region: "ap-nanjing" /* 存储桶所在地域,必须字段 */,
+        Key: `gym/${data.name}`,
+        /* 存储在桶里的对象键(例如:1.jpg,a/b/test.txt,图片.jpg)支持中文,必须字段 */
+        Body: data.file.file, // 上传文件对象
+        SliceSize: 1024 * 1024 * 500 /* 触发分块上传的阈值,超过5MB使用分块上传,小于5MB使用简单上传。可自行设置,非必须 */,
+        onProgress: function (progressData) {
+          onProgress({ percent: Math.ceil((progressData.percent || 0) * 100) });
+        },
+      })
+      .then((res) => {
+        // file.url = 'https://' + res.Location;
+        if (res.Location?.indexOf("http") >= 0) {
+          file.url = res.Location;
+        } else {
+          file.url = "https://" + res.Location;
+        }
+        onFinish();
+      })
+      .catch(() => {
+        onError();
+      });
+  }
+};
+
+export const onOnlyFileUpload = async (action, params) => {
+  if (ossSwitch === "ks3") {
+    const fileParams = {
+      policy: params.policy,
+      signature: params.signature,
+      key: params.key,
+      acl: "public-read",
+      KSSAccessKeyId: params.KSSAccessKeyId,
+      name: params.name,
+    };
+    const formData = new FormData();
+    for (const key in fileParams) {
+      formData.append(key, fileParams[key]);
+    }
+    formData.append("file", params.file);
+    let file = "";
+    let errorObj = null;
+    await axios
+      .post(action, formData, {
+        // onUploadProgress: ({ progress }) => {
+        //   console.log(progress);
+        //   onProgress({ percent: Math.ceil((progress || 0) * 100) });
+        // }
+      })
+      .then(() => {
+        file = action + params.key;
+      })
+      .catch((error) => {
+        // onError(error);
+        errorObj = error;
+        // throw new Error(error);
+      });
+    if (file) {
+      return file;
+    } else {
+      throw new Error(errorObj);
+    }
+  } else {
+    let file = "";
+    let errorObj = null;
+    // console.log(params, "params");
+    const cos = new COS({
+      Domain: "https://oss.dayaedu.com",
+      // getAuthorization 必选参数
+      getAuthorization: async (options, callback) => {
+        callback({ Authorization: params.signature });
+      },
+    });
+
+    await cos
+      .uploadFile({
+        Bucket: tencentBucket /* 填写自己的 bucket,必须字段 */,
+        Region: "ap-nanjing" /* 存储桶所在地域,必须字段 */,
+        Key: `gym/${params.name}`,
+        /* 存储在桶里的对象键(例如:1.jpg,a/b/test.txt,图片.jpg)支持中文,必须字段 */
+        Body: params.file, // 上传文件对象
+        SliceSize: 1024 * 1024 * 500 /* 触发分块上传的阈值,超过5MB使用分块上传,小于5MB使用简单上传。可自行设置,非必须 */,
+        // onProgress: function (progressData) {
+        //   onProgress({ percent: Math.ceil((progressData.percent || 0) * 100) });
+        // }
+      })
+      .then((res) => {
+        // file.url = 'https://' + res.Location;
+        // file = 'https://' + res.Location;
+        if (res.Location?.indexOf("http") >= 0) {
+          file = res.Location;
+        } else {
+          file = "https://" + res.Location;
+        }
+        // onFinish();
+      })
+      .catch((error) => {
+        // console.log(error, 'error');
+        // onError();
+        // throw new Error(error);
+        errorObj = error;
+      });
+    if (file) {
+      return file;
+    } else {
+      throw new Error(errorObj);
+    }
+  }
+};

+ 27 - 16
src/views/massMessage/operation.vue

@@ -80,6 +80,7 @@ import Header from "@/components/header";
 import SelectGroup from "./selectGroup";
 import qs from "qs";
 import { uploadFile } from "@/api/app";
+import { getUploadSign, onOnlyFileUpload } from "@/helpers/oss-file-upload";
 import { imSendGroupMessageSend, imSendGroupMessageDelete, imSendGroupMessageUpdate, policy } from "./api";
 import axios from "axios";
 export default {
@@ -154,37 +155,47 @@ export default {
         const fileName = tempName && tempName.replace(/ /gi, "_");
         let key = new Date().getTime() + fileName;
         let objTemp = {
-          filename: fileName,
+          filename: key,
           bucketName: this.bucket_name,
           postData: {
-            filename: fileName,
+            filename: key,
             acl: "public-read",
             key: key,
             unknowValueField: [],
           },
         };
-
-        const res = await policy(objTemp);
+        const res = await getUploadSign(objTemp);
         const obj = {
           policy: res.data.policy,
           signature: res.data.signature,
           key: key,
           KSSAccessKeyId: res.data.kssAccessKeyId,
           acl: "public-read",
-          name: fileName,
+          name: key,
+          file: file.file,
         };
+        const uploadUrl = await onOnlyFileUpload(this.ossUploadUrl, obj);
+        // const res = await policy(objTemp);
+        // const obj = {
+        //   policy: res.data.policy,
+        //   signature: res.data.signature,
+        //   key: key,
+        //   KSSAccessKeyId: res.data.kssAccessKeyId,
+        //   acl: "public-read",
+        //   name: fileName,
+        // };
 
-        let formData = new FormData();
-        for (let key in obj) {
-          formData.append(key, obj[key]);
-        }
-        formData.append("file", file.file);
-        await axios({
-          method: "post",
-          url: this.ossUploadUrl,
-          data: formData,
-        });
-        const uploadUrl = this.ossUploadUrl + "/" + key;
+        // let formData = new FormData();
+        // for (let key in obj) {
+        //   formData.append(key, obj[key]);
+        // }
+        // formData.append("file", file.file);
+        // await axios({
+        //   method: "post",
+        //   url: this.ossUploadUrl,
+        //   data: formData,
+        // });
+        // const uploadUrl = this.ossUploadUrl + "/" + key;
         file.status = "done";
         form.fileName = file.file.name;
         form.fileUrl = uploadUrl;

+ 53 - 42
src/views/visitManager/addVisit.vue

@@ -17,11 +17,11 @@
       <van-field label="问题状态" @click="onChange('probStatus')" v-model="form.probStatusName" readonly input-align="right" :is-link="id ? false : true" placeholder="请选择" />
     </van-cell-group>
 
-    <van-cell-group v-if="form.purpose!='考勤申诉'">
+    <van-cell-group v-if="form.purpose != '考勤申诉'">
       <div class="dot"></div>
       <van-field label="当前学生情况" class="textarea" :readonly="id ? true : false" v-model="form.overview" rows="2" autosize type="textarea" maxlength="400" placeholder="请输入留言" :show-word-limit="id ? false : true" />
     </van-cell-group>
-    <van-cell-group v-if="!form.feedbackTypeDescName || form.feedbackTypeDescName=='其他'">
+    <van-cell-group v-if="!form.feedbackTypeDescName || form.feedbackTypeDescName == '其他'">
       <div class="dot"></div>
       <van-field label="沟通后家长反馈" class="textarea" :readonly="id ? true : false" v-model="form.feedback" rows="2" autosize type="textarea" maxlength="400" placeholder="请输入留言" :show-word-limit="id ? false : true" />
     </van-cell-group>
@@ -94,6 +94,7 @@ import MHeader from "@/components/MHeader";
 import { browser } from "@/common/common";
 import MEmpty from "@/components/MEmpty";
 import dayjs from "dayjs";
+import { getUploadSign, onOnlyFileUpload } from "@/helpers/oss-file-upload";
 import { queryStudentsWithTeacher, visitAdd, visitGetInfo, queryUserById } from "@/api/teacher";
 import { queryUserInfo } from "@/api/app";
 import { policy } from "@/views/massMessage/api";
@@ -116,7 +117,7 @@ export default {
       inside: query.inside || 0,
       visitFlag: Number(query.visitFlag) || 0,
       uploader: [],
-      isAttError:false,
+      isAttError: false,
       dataForm: {
         // 时间下拉框
         status: false,
@@ -150,9 +151,8 @@ export default {
         feedbackTypeDesc: "",
         feedbackType: "",
         probStatus: 0,
-        probStatusName:'待跟进',
-        objectId:''
-        
+        probStatusName: "待跟进",
+        objectId: "",
       },
       loading: false,
       finished: false,
@@ -184,9 +184,13 @@ export default {
         { name: "沉睡", value: "SLEEPY" },
         { name: "流失", value: "LOST" },
         { name: "假期上课", value: "HOLIDAY_COURSE" },
-    
       ],
-      feedbackTypeDescList: [{ name: "生病", value: "SICK" }, { name: "有事", value: "SOMETHING" }, { name: "不想参加", value: "NO_PARTICIPATE" }, { name: "其他", value: "OTHER" }],
+      feedbackTypeDescList: [
+        { name: "生病", value: "SICK" },
+        { name: "有事", value: "SOMETHING" },
+        { name: "不想参加", value: "NO_PARTICIPATE" },
+        { name: "其他", value: "OTHER" },
+      ],
       probStatusList: [
         { name: "已解决", value: 1 },
         { name: "待跟进", value: 0 },
@@ -202,15 +206,14 @@ export default {
     if (browser().android || browser().iPhone) {
       this.statusList.headerStatus = false;
     }
-    if(params.isAttError){
-
-      this.isAttError = params.isAttError
-      this.studentName= params.info.username || null;
+    if (params.isAttError) {
+      this.isAttError = params.isAttError;
+      this.studentName = params.info.username || null;
       // studentPhone: params.phone || null,
       this.form.studentId = params.info.userId || null;
-      this.form.type = params.info.type
-      this.form.purpose = params.info.purpose
-      this.form.objectId = params.info.objectId
+      this.form.type = params.info.type;
+      this.form.purpose = params.info.purpose;
+      this.form.objectId = params.info.objectId;
     }
     document.title = this.name || "新增回访记录";
     this.__init();
@@ -257,7 +260,6 @@ export default {
             form.feedbackTypeDescName = "";
             this.feedbackTypeDescList.forEach((item) => {
               if (item.value == form.feedbackTypeDesc) {
-              
                 form.feedbackTypeDescName = item.name;
               }
             });
@@ -305,7 +307,7 @@ export default {
       } else if (!form.purpose) {
         this.$toast("请选择回访目的");
         return;
-      }  else if (!form.visitTime) {
+      } else if (!form.visitTime) {
         this.$toast("请选择回访时间");
         return;
       } else if (!form.feedbackType && form.type == "小课回访") {
@@ -314,12 +316,12 @@ export default {
       } else if (!form.feedbackTypeDesc && form.purpose == "考勤申诉") {
         this.$toast("请选择家长反馈");
         return;
-      } else if (!(form.probStatus+'')) {
+      } else if (!(form.probStatus + "")) {
         this.$toast("请选择问题状态");
         return;
-      }else if(!form.feedback&&form.feedbackTypeDesc=='OTHER'){
+      } else if (!form.feedback && form.feedbackTypeDesc == "OTHER") {
         this.$toast("请填写家长反馈");
-        return
+        return;
       }
       if (this.clickStatus) {
         return;
@@ -335,7 +337,7 @@ export default {
       let params = {
         ...form,
         visitTime,
-     
+
         attachments: attachmentsList.join(","),
       };
       // 待回访时要传的参数
@@ -350,8 +352,8 @@ export default {
         setTimeout(() => {
           if (this.inside) {
             this.onAppBack();
-          }else if(this.isAttError){
-            this.$router.back()
+          } else if (this.isAttError) {
+            this.$router.back();
           } else if (this.userId) {
             let { visitFlag, ...query } = this.$route.query;
             visitFlag = 0;
@@ -402,15 +404,14 @@ export default {
       if ((this.userId || this.beforeId) && type != "probStatus") {
         return;
       }
-      if(this.isAttError && (type=='type' || type=='purpose')){
-        return
+      if (this.isAttError && (type == "type" || type == "purpose")) {
+        return;
       }
       let visit = this.visit;
       let form = this.form;
       if (type == "type") {
         visit.data = this.typeList;
       } else if (type == "purpose") {
-        
         if (form.type == "其它") {
           visit.data = [{ name: "其它" }, { name: "会员续费" }];
         } else if (form.type == "课程推荐") {
@@ -511,7 +512,7 @@ export default {
       } else if (visit.type == "feedbackTypeDesc") {
         form.feedbackTypeDescName = value.name;
         form.feedbackTypeDesc = value.value;
-        form.feedback = ''
+        form.feedback = "";
       } else if (visit.type == "probStatus") {
         form.probStatus = value.value;
         form.probStatusName = value.name;
@@ -571,29 +572,39 @@ export default {
             unknowValueField: [],
           },
         };
-
-        const res = await policy(objTemp);
+        const res = await getUploadSign(objTemp);
         const obj = {
           policy: res.data.policy,
           signature: res.data.signature,
           key: key,
           KSSAccessKeyId: res.data.kssAccessKeyId,
           acl: "public-read",
-          name: fileName,
+          name: key,
+          file: file.file,
         };
+        const uploadUrl = await onOnlyFileUpload(this.ossUploadUrl, obj);
+        // const res = await policy(objTemp);
+        // const obj = {
+        //   policy: res.data.policy,
+        //   signature: res.data.signature,
+        //   key: key,
+        //   KSSAccessKeyId: res.data.kssAccessKeyId,
+        //   acl: "public-read",
+        //   name: fileName,
+        // };
 
-        let formData = new FormData();
-        for (let key in obj) {
-          formData.append(key, obj[key]);
-        }
-        formData.append("file", file.file);
-        // console.log(formData);
-        await axios({
-          method: "post",
-          url: this.ossUploadUrl,
-          data: formData,
-        });
-        const uploadUrl = this.ossUploadUrl + "/" + key;
+        // let formData = new FormData();
+        // for (let key in obj) {
+        //   formData.append(key, obj[key]);
+        // }
+        // formData.append("file", file.file);
+        // // console.log(formData);
+        // await axios({
+        //   method: "post",
+        //   url: this.ossUploadUrl,
+        //   data: formData,
+        // });
+        // const uploadUrl = this.ossUploadUrl + "/" + key;
         file.url = uploadUrl;
         file.status = "done";
       } catch (e) {