DESKTOP-O04BTUJ\muzen 3 rokov pred
rodič
commit
a4ade866eb

+ 1 - 0
package.json

@@ -37,6 +37,7 @@
   },
   "dependencies": {
     "@riophae/vue-treeselect": "0.4.0",
+    "ali-oss": "^6.17.1",
     "axios": "0.24.0",
     "clipboard": "2.0.8",
     "core-js": "3.19.1",

+ 8 - 0
src/api/oss.js

@@ -0,0 +1,8 @@
+let OSS = require('ali-oss')
+
+export let client = new OSS({
+  region: 'oss-cn-shenzhen',
+  accessKeyId: 'LTAI5tPgqb5srzteAc9R67fu',
+  accessKeySecret: 'ltH7oCwnOcYfzj1GGQCqFWIx5Yh3qZ',
+  bucket: 'device'
+})

+ 17 - 3
src/components/Upload/index.vue

@@ -1,8 +1,8 @@
 <template>
   <div>
-    <el-upload v-if="type === 'file' ? true : hideUpload" :action="action" :headers="headers" :data="data"
-      :show-file-list="false" :list-type="type === 'file' ? '':'picture-card'" :before-upload="beforeUpload"
-      :on-success="onSuccess">
+    <el-upload ref="upload" v-if="type === 'file' ? true : hideUpload" :action="action" :headers="headers"
+      :data="data" :show-file-list="false" :list-type="type === 'file' ? '':'picture-card'"
+      :before-upload="beforeUpload" :on-success="onSuccess" :http-request="httpRequest">
       <el-button v-if="type === 'file'" type="primary" style="margin:0">上传文件</el-button>
       <i v-else slot="default" class="el-icon-plus" />
     </el-upload>
@@ -16,6 +16,7 @@
 </template>
 
 <script>
+import { client } from '@/api/oss'
 import { getToken } from "@/utils/auth";
 export default {
   props: {
@@ -75,16 +76,29 @@ export default {
     beforeUpload(file) {
       this.data.multipartFile = file
     },
+
     // 上传成功
     onSuccess(file) {
       this.hideUpload = false
       this.$emit('success', this.newUrl = file.data)
     },
+
     // 删除
     handleRemove() {
       this.hideUpload = true
       this.$emit('delete', this.newUrl = '')
     },
+
+    async httpRequest(e) {
+      try {
+        let file = e.file
+        let fileName = file.name
+        const res = client.put(fileName, file)
+        console.log(res);
+      } catch(err) {
+        console.log(err);
+      }
+    }
   }
 }
 </script>

+ 1 - 1
src/views/device/version/detail.vue

@@ -59,7 +59,7 @@
 </template>
 
 <script>
-import { getDetailInfo, updateEdit, getVersionAdd, upload } from '@/api/device/version';
+import { getDetailInfo, updateEdit, getVersionAdd } from '@/api/device/version';
 import Upload from "@/components/Upload/index";
 import { typeMixin, clientTypeMixin } from '../mixin/index'
 export default {

+ 8 - 9
src/views/project/list/detail.vue

@@ -55,7 +55,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="应用Logo:">
-          <Upload :url="formCreate.pic" @sucess="getUpload($event, 'formCreate')" @delete="getUpload($event, 'formCreate')" />
+          <Upload :url="formCreate.pic" @success="getUploadCreate" @delete="getUploadCreate" />
         </el-form-item>
         <el-form-item label="版本号:">
           <el-input v-model="formCreate.version" placeholder="请输入版本号" />
@@ -202,13 +202,13 @@ export default {
     },
 
     // 上传图标
-    getUpload(e, key) {
-      if (key === 'formCreate') {
-        this.formCreate.pic = e
-        console.log(e);
-      } else {
-        this.form_create.pic = e
-      }
+    getUpload(e) {
+      this.form_create.pic = e
+    },
+
+    getUploadCreate(e) {
+      this.formCreate.pic = e
+      console.log(this.formCreate);
     },
 
     // 应用分页
@@ -226,7 +226,6 @@ export default {
     // 新增
     getAdd() {
       updateAdd(this.formCreate).then(res => {
-        console.log(res);
         if (res.code === 0) {
           this.$message.success('新增成功!')
           this.dialogVisible_create = false