Ver Fonte

更新上传地址

lex há 2 anos atrás
pai
commit
d866c97c4f

+ 70 - 58
src/components/col-cropper/cropper.tsx

@@ -16,8 +16,8 @@ import { CirclePlus, Remove } from '@element-plus/icons-vue'
 import iconRate from '../col-upload/images/icon_rate.png'
 import request from '@/helpers/request'
 
-import Cropper from "cropperjs";
-import "cropperjs/dist/cropper.css";
+import Cropper from 'cropperjs'
+import 'cropperjs/dist/cropper.css'
 export default defineComponent({
   name: 'cropper',
   props: {
@@ -37,6 +37,7 @@ export default defineComponent({
   data() {
     return {
       ossUploadUrl: 'https://ks3-cn-beijing.ksyuncs.com/' + this.bucket,
+      preOssUploadUrl: `https://${this.bucket}.ks3-cn-beijing.ksyuncs.com/`,
       dataObj: {
         policy: '',
         signature: '',
@@ -66,7 +67,7 @@ export default defineComponent({
         upload: '/sys/common/saveToImgByStr'
       },
       submitLoading: false,
-      myCropper:null as any
+      myCropper: null as any
     }
   },
   methods: {
@@ -87,57 +88,59 @@ export default defineComponent({
      * 确认截图
      */
     okHandel() {
-      ;(this as any).myCropper.getCroppedCanvas({
-        imageSmoothingQuality: 'high'
-      }).toBlob(async data => {
-        this.submitLoading = true
-        const options: any = this.options
-        const fileName =
-          (options.name ? options.name.split('.')[0] : +new Date()) + '.png'
-        try {
-          let key = new Date().getTime() + fileName
-          let obj = {
-            filename: fileName,
-            bucketName: this.bucket,
-            postData: {
+      ;(this as any).myCropper
+        .getCroppedCanvas({
+          imageSmoothingQuality: 'high'
+        })
+        .toBlob(async data => {
+          this.submitLoading = true
+          const options: any = this.options
+          const fileName =
+            (options.name ? options.name.split('.')[0] : +new Date()) + '.png'
+          try {
+            let key = new Date().getTime() + fileName
+            let obj = {
               filename: fileName,
-              acl: 'public-read',
+              bucketName: this.bucket,
+              postData: {
+                filename: fileName,
+                acl: 'public-read',
+                key: key,
+                unknowValueField: []
+              }
+            }
+            const res = await request.post('/api-website/getUploadSign', {
+              data: obj
+            })
+            this.dataObj = {
+              policy: res.data.policy,
+              signature: res.data.signature,
               key: key,
-              unknowValueField: []
+              KSSAccessKeyId: res.data.kssAccessKeyId,
+              acl: 'public-read',
+              name: fileName
             }
-          }
-          const res = await request.post('/api-website/getUploadSign', {
-            data: obj
-          })
-          this.dataObj = {
-            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 this.dataObj) {
-            formData.append(key, this.dataObj[key])
+            let formData = new FormData()
+            for (let key in this.dataObj) {
+              formData.append(key, this.dataObj[key])
+            }
+            // this.blobToFile(data, fileName)
+            formData.append('file', data, fileName)
+            await umiRequest(this.ossUploadUrl, {
+              method: 'POST',
+              data: formData
+            })
+            console.log(this.preOssUploadUrl + key)
+            const uploadUrl = this.preOssUploadUrl + key
+            this.cropperOk(uploadUrl)
+          } catch (err: any) {
+            ElMessage.error(err)
+          } finally {
+            this.submitLoading = false
+            this.cancelHandel()
           }
-          // this.blobToFile(data, fileName)
-          formData.append('file', data, fileName)
-          await umiRequest(this.ossUploadUrl, {
-            method: 'POST',
-            data: formData
-          })
-          console.log(this.ossUploadUrl + '/' + key)
-          const uploadUrl = this.ossUploadUrl + '/' + key
-          this.cropperOk(uploadUrl)
-        } catch (err: any) {
-          ElMessage.error(err)
-        } finally {
-          this.submitLoading = false
-          this.cancelHandel()
-        }
-      })
+        })
     },
     //转成blob
     blobToFile(Blob: any, fileName: any) {
@@ -174,7 +177,7 @@ export default defineComponent({
     rotateRight() {
       ;(this as any).$refs.cropperRef.rotateRight()
     },
-    initImgCropper(){
+    initImgCropper() {
       this.myCropper = new Cropper((this as any).$refs.imgCropper, {
         viewMode: 1, //定义裁剪器的视图模式。如果将viewMode设置为0,则裁剪框可以延伸到画布外部,而值为1、2或3将限制裁剪框的大小为画布的大小。viewMode为2或3会将画布限制为容器。请注意,如果画布和容器的比例相同,则2和3之间没有差别。
         dragMode: 'move', //定义的拖动模式裁剪器.canvas和容器一样,2和3没有区别。move:移动画布 crop:创建新的裁剪框(默认) none:什么也不做
@@ -201,7 +204,9 @@ export default defineComponent({
         closeOnClickModal={false}
         width={'900px'}
         destroyOnClose={true}
-        onOpened={()=>{this.initImgCropper()}}
+        onOpened={() => {
+          this.initImgCropper()
+        }}
         v-slots={{
           footer: () => (
             <span class="dialog-footer !text-center block">
@@ -224,9 +229,15 @@ export default defineComponent({
       >
         <ElRow>
           <ElCol xs={24} md={12} style={{ width: '350px' }}>
-          <div  class={styles.imgwarp}>
-            <img ref="imgCropper" id="myImages" src={this.options.img} alt="" style={{ height: '350px' }}/>
-          </div>
+            <div class={styles.imgwarp}>
+              <img
+                ref="imgCropper"
+                id="myImages"
+                src={this.options.img}
+                alt=""
+                style={{ height: '350px' }}
+              />
+            </div>
             {/* <VueCropper
               ref="cropperRef"
               img={this.options.img}
@@ -278,11 +289,12 @@ export default defineComponent({
             <div class={styles.previewImg}>
               <span>预览图片</span>
               <div
-                class={
-                  [this.options.previewsCircle
+                class={[
+                  this.options.previewsCircle
                     ? styles['avatar-upload-preview']
-                    : styles['avatar-upload-preview_range'], 'before']
-                }
+                    : styles['avatar-upload-preview_range'],
+                  'before'
+                ]}
                 style={{
                   width: this.options.autoCropWidth + 'px',
                   height: this.options.autoCropHeight + 'px'

+ 2 - 1
src/components/col-upload-video/index.tsx

@@ -61,6 +61,7 @@ export default defineComponent({
   data() {
     return {
       ossUploadUrl: 'https://ks3-cn-beijing.ksyuncs.com/' + this.bucket,
+      preOssUploadUrl: `https://${this.bucket}.ks3-cn-beijing.ksyuncs.com/`,
       dataObj: {
         policy: '',
         signature: '',
@@ -97,7 +98,7 @@ export default defineComponent({
           this.fileList = [] as any
         }
       } else {
-        const url = this.ossUploadUrl + '/' + this.dataObj.key
+        const url = this.preOssUploadUrl + this.dataObj.key
         this.$emit('update:modelValue', url)
       }
     },

+ 2 - 1
src/components/col-upload/index.tsx

@@ -48,6 +48,7 @@ export default defineComponent({
   data() {
     return {
       ossUploadUrl: 'https://ks3-cn-beijing.ksyuncs.com/' + this.bucket,
+      preOssUploadUrl: `https://${this.bucket}.ks3-cn-beijing.ksyuncs.com/`,
       dataObj: {
         policy: '',
         signature: '',
@@ -63,7 +64,7 @@ export default defineComponent({
   methods: {
     handleSuccess() {
       this.loading?.close()
-      let url = this.ossUploadUrl + '/' + this.dataObj.key
+      let url = this.preOssUploadUrl + this.dataObj.key
       console.log(url)
       this.$emit('update:modelValue', url)
       this.onChange(url)

+ 2 - 1
src/views/muiscDetial/index.tsx

@@ -120,6 +120,7 @@ export default defineComponent({
       showImg: '',
       iconList: [] as any,
       ossUploadUrl: 'https://ks3-cn-beijing.ksyuncs.com/cloud-coach',
+      preOssUploadUrl: `https://cloud-coach.ks3-cn-beijing.ksyuncs.com/`,
       dataObj: {
         policy: '',
         signature: '',
@@ -322,7 +323,7 @@ export default defineComponent({
           data: formData
         })
 
-        let imgurl = state.ossUploadUrl + '/' + key
+        let imgurl = state.preOssUploadUrl + key
         const ress = await request.post('/api-website/open/music/sheet/img', {
           data: { musicSheetId: state.musicDetail.id, musicImg: imgurl }
         })