feat: oss 视频云存储

This commit is contained in:
From-wh 2023-06-19 12:23:35 +08:00
parent f7ca371ff6
commit 7fa4faa6f8
8 changed files with 63 additions and 13 deletions

View File

@ -344,12 +344,13 @@ export function productGetTemplateApi() {
}
/**
* @description 商品 -- 获取运费模板
* @description 获取上传参数
*/
export function productGetTempKeysApi() {
export function productGetTempKeysApi(data) {
return request({
url: `product/product/get_temp_keys`,
method: 'get',
params: data,
});
}
@ -393,7 +394,7 @@ export function productUserLabel() {
});
}
/**
* @description 商品添加编辑-- 用户标签
* @description 上传类型
*/
export function uploadType() {
return request({

View File

@ -22,3 +22,15 @@ export function upload(data, config) {
data,
});
}
/**
* @description 云存储 url 上传
* @param {Object} param data {Object} 传值参数
*/
export function ossUpload(url, data) {
return request({
url,
method: 'post',
file: true,
data,
});
}

View File

@ -136,7 +136,11 @@ export default {
if (evfile.target.files[0].type !== 'video/mp4') {
return that.$Message.error('只能上传mp4文件');
}
productGetTempKeysApi().then((res) => {
let types = {
key: evfile.target.files[0].name,
contentType: evfile.target.files[0].type,
};
productGetTempKeysApi(types).then((res) => {
that.$videoCloud
.videoUpload({
type: res.data.type,

View File

@ -135,7 +135,11 @@ export default {
if (evfile.target.files[0].type !== 'video/mp4') {
return that.$Message.error('只能上传mp4文件');
}
productGetTempKeysApi().then((res) => {
let types = {
key: evfile.target.files[0].name,
contentType: evfile.target.files[0].type,
};
productGetTempKeysApi(types).then((res) => {
that.$videoCloud
.videoUpload({
type: res.data.type,

View File

@ -285,7 +285,11 @@ export default {
if (suffix.indexOf('.mp4') === -1) {
return that.$Message.error('只能上传MP4文件');
}
productGetTempKeysApi()
let types = {
key: evfile.target.files[0].name,
contentType: evfile.target.files[0].type,
};
productGetTempKeysApi(types)
.then((res) => {
that.$videoCloud
.videoUpload({

View File

@ -824,14 +824,14 @@
placeholder="请输入一级返佣"
:min="0"
:max="9999999"
class="columnsBox perW30"
class="columnsBox perW20"
v-model="manyBrokerage"
></InputNumber>
二级返佣:<InputNumber
placeholder="请输入二级返佣"
:min="0"
:max="99999999"
class="columnsBox perW30"
class="columnsBox perW20"
v-model="manyBrokerageTwo"
></InputNumber>
</span>
@ -840,7 +840,7 @@
placeholder="请输入会员价"
:min="0"
:max="99999999"
class="columnsBox perW30"
class="columnsBox perW20"
v-model="manyVipPrice"
></InputNumber>
</span>
@ -2317,7 +2317,12 @@ export default {
if (suffix.indexOf('.mp4') === -1) {
return that.$Message.error('只能上传MP4文件');
}
productGetTempKeysApi()
console.log(evfile.target.files[0]);
let types = {
key: evfile.target.files[0].name,
contentType: evfile.target.files[0].type,
};
productGetTempKeysApi(types)
.then((res) => {
that.$videoCloud
.videoUpload({

View File

@ -675,7 +675,11 @@ export default {
if (suffix.indexOf('.mp4') === -1) {
return that.$Message.error('只能上传MP4文件');
}
productGetTempKeysApi()
let types = {
key: evfile.target.files[0].name,
contentType: evfile.target.files[0].type,
};
productGetTempKeysApi(types)
.then((res) => {
that.$videoCloud
.videoUpload({

View File

@ -11,7 +11,7 @@
import * as qiniu from 'qiniu-js';
import Cos from 'cos-js-sdk-v5';
import axios from 'axios';
import { upload } from '@/api/upload';
import { upload, ossUpload } from '@/api/upload';
const sign = (method, publicKey, privateKey, md5, contentType, date, bucketName, fileName) => {
const CryptoJS = require('crypto-js'); // 这里使用了crypto-js加密算法库,安装方法会在后面说明
@ -38,7 +38,7 @@ export default {
result = this.us3Http(config.evfile, config.res, config.uploading);
break;
case 'JDOSS':
result = this.uploadMp4ToLocal(config.evfile, config.res, config.uploading);
result = this.jdHttp(config.evfile, config.res, config.uploading);
break;
case 'CTOSS':
result = this.obsHttp(config.evfile, config.res, config.uploading);
@ -325,6 +325,22 @@ export default {
});
});
},
// 京东云上传
jdHttp(evfile, r, videoIng) {
const fileObject = evfile.target.files[0]; // 获取的文件对象
const formData = new FormData();
formData.append('file', fileObject);
return new Promise((resolve, reject) => {
ossUpload(r.data.upload_url, formData)
.then((res) => {
console.log(res);
})
.catch((err) => {
videoIng(true, 100);
resolve(r.data);
});
});
},
// 本地上传
uploadMp4ToLocal(evfile, res, videoIng) {
const fileObject = evfile.target.files[0]; // 获取的文件对象