6 changed files with 163 additions and 499 deletions
-
39src/views/components/upload.vue
-
133src/views/components/upload_cover.vue
-
105src/views/components/upload_img.vue
-
161src/views/components/upload_img2.vue
-
199src/views/components/upload_img3.vue
-
25src/views/materialContent/materialList/index.vue
@ -0,0 +1,133 @@ |
|||||
|
<template> |
||||
|
<!-- upload --> |
||||
|
<div class="upload_cover"> |
||||
|
<!-- <el-upload |
||||
|
class="upload-demo" |
||||
|
drag |
||||
|
:action="upload_qiniu_url" |
||||
|
:show-file-list="false" |
||||
|
:on-success="handleAvatarSuccess" |
||||
|
:on-error="handleError" |
||||
|
:before-upload="beforeAvatarUpload" |
||||
|
:data="qiniuData" |
||||
|
> |
||||
|
<img v-if="imageUrl" :src="imageUrl" class="avatar" /> |
||||
|
<div v-else class="el-default"> |
||||
|
<i class="el-icon-upload"></i> |
||||
|
</div> |
||||
|
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过2MB</div> |
||||
|
</el-upload> --> |
||||
|
<el-upload |
||||
|
:action="upload_qiniu_url" |
||||
|
:show-file-list="false" |
||||
|
:on-success="handleAvatarSuccess" |
||||
|
:on-error="handleError" |
||||
|
:before-upload="beforeAvatarUpload" |
||||
|
:data="qiniuData" |
||||
|
list-type="picture-card" |
||||
|
> |
||||
|
<div class="avatar-uploader"> |
||||
|
<img v-if="imageUrl" :src="imageUrl" class="avatar" alt /> |
||||
|
<div class="el-default"> |
||||
|
<img src="@/assets/images/t-sc.png" alt /> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过2MB</div> |
||||
|
</el-upload> |
||||
|
</div> |
||||
|
</template> |
||||
|
<script> |
||||
|
import { getQiniuToken } from '@/api/material/material' |
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
imageUrl: '', |
||||
|
qiniuData: { |
||||
|
key: '', |
||||
|
token: '' |
||||
|
}, |
||||
|
// 七牛云的上传地址,根据自己所在地区选择,我这里是华南区 |
||||
|
upload_qiniu_url: 'https://upload.qiniup.com/', |
||||
|
// 这是七牛云空间的外链默认域名 |
||||
|
upload_qiniu_addr: 'qiniu.aiyxlib.com' |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
this.getQiniuToken() |
||||
|
}, |
||||
|
methods: { |
||||
|
getQiniuToken() { |
||||
|
const _this = this |
||||
|
getQiniuToken().then(res => { |
||||
|
if (res.code == 200) { |
||||
|
this.qiniuData.token = res.data |
||||
|
} else { |
||||
|
_this.$message({ |
||||
|
message: res.msg, |
||||
|
duration: 2000, |
||||
|
type: 'warning' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 验证文件合法性 |
||||
|
beforeAvatarUpload(file) { |
||||
|
this.qiniuData.key = file.name |
||||
|
const isJPG = file.type === 'image/jpeg' || file.type === 'image/png' |
||||
|
const isLt2M = file.size / 1024 / 1024 < 2 |
||||
|
if (!isJPG) { |
||||
|
this.$message.error('图片只支持bmp、jpg、png、gif格式的文件 !') |
||||
|
} |
||||
|
if (!isLt2M) { |
||||
|
this.$message.error('图片大小不能超过 2MB !') |
||||
|
} |
||||
|
return isJPG && isLt2M |
||||
|
}, |
||||
|
handleAvatarSuccess: function(res, file) { |
||||
|
this.imageUrl = 'http://' + this.upload_qiniu_addr + '/' + res.key |
||||
|
console.log(this.imageUrl) |
||||
|
this.$message({ |
||||
|
message: '上传成功', |
||||
|
duration: 2000, |
||||
|
type: 'warning' |
||||
|
}) |
||||
|
}, |
||||
|
handlePictureCardPreview(file) { |
||||
|
this.imageUrl = 'http://' + this.upload_qiniu_addr + '/' + res.key |
||||
|
this.dialogVisible = true |
||||
|
}, |
||||
|
handleError: function(res) { |
||||
|
this.$message({ |
||||
|
message: '上传失败', |
||||
|
duration: 2000, |
||||
|
type: 'warning' |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style scoped> |
||||
|
/* .avatar-uploader .el-upload { |
||||
|
border: 5px dashed #ca1717 !important; |
||||
|
border-radius: 6px; |
||||
|
cursor: pointer; |
||||
|
position: relative; |
||||
|
overflow: hidden; |
||||
|
} |
||||
|
.avatar-uploader .el-upload:hover { |
||||
|
border-color: #409EFF; |
||||
|
} */ |
||||
|
/* .avatar-uploader-icon { |
||||
|
font-size: 28px; |
||||
|
color: #8c939d; |
||||
|
width: 178px; |
||||
|
height: 178px; |
||||
|
line-height: 178px; |
||||
|
text-align: center; |
||||
|
} */ |
||||
|
.avatar { |
||||
|
width: 178px; |
||||
|
height: 178px; |
||||
|
display: block; |
||||
|
} |
||||
|
</style> |
@ -1,105 +0,0 @@ |
|||||
<template> |
|
||||
<!-- upload --> |
|
||||
<div class="upload"> |
|
||||
<el-upload |
|
||||
class="avatar-uploader" |
|
||||
:action="domain" |
|
||||
:http-request="upqiniu" |
|
||||
:show-file-list="false" |
|
||||
:before-upload="beforeUpload" |
|
||||
> |
|
||||
<img v-if="imageUrl" :src="imageUrl" class="avatar" /> |
|
||||
<i v-else class="el-icon-plus avatar-uploader-icon"></i> |
|
||||
</el-upload> |
|
||||
</div> |
|
||||
</template> |
|
||||
<script> |
|
||||
import axios from 'axios' |
|
||||
import { getQiniuToken } from '@/api/material/material' |
|
||||
export default { |
|
||||
data() { |
|
||||
return { |
|
||||
imageUrl: '', |
|
||||
token: {}, |
|
||||
// 七牛云的上传地址,根据自己所在地区选择,我这里是华南区 |
|
||||
domain: 'https://upload.qiniup.com/', |
|
||||
// 这是七牛云空间的外链默认域名 |
|
||||
qiniuaddr: 'qiniu.aiyxlib.com' |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
// 上传文件到七牛云 |
|
||||
upqiniu(req) { |
|
||||
console.log(req) |
|
||||
const config = { |
|
||||
headers: { 'Content-Type': 'multipart/form-data' } |
|
||||
} |
|
||||
let filetype = '' |
|
||||
if (req.file.type === 'image/png') { |
|
||||
filetype = 'png' |
|
||||
} else { |
|
||||
filetype = 'jpg' |
|
||||
} |
|
||||
// 重命名要上传的文件 |
|
||||
const keyname = 'material' + Math.random() * 100 + '.' + filetype |
|
||||
// 从后端获取上传凭证token |
|
||||
getQiniuToken().then(res => { |
|
||||
console.log(res) |
|
||||
const formdata = new FormData() |
|
||||
formdata.append('file', req.file) |
|
||||
formdata.append('token', res.data) |
|
||||
formdata.append('key', keyname) |
|
||||
// 获取到凭证之后再将文件上传到七牛云空间 |
|
||||
axios.post(this.domain, formdata, config).then(res => { |
|
||||
this.imageUrl = 'http://' + this.qiniuaddr + '/' + res.data.key |
|
||||
console.log(this.imageUrl) |
|
||||
}) |
|
||||
}) |
|
||||
// this.axios.get('/up/token').then(res => { |
|
||||
|
|
||||
// }) |
|
||||
}, |
|
||||
// 验证文件合法性 |
|
||||
beforeUpload(file) { |
|
||||
const isJPG = file.type === 'image/jpeg' || file.type === 'image/png' |
|
||||
const isLt2M = file.size / 1024 / 1024 < 10 |
|
||||
if (!isJPG) { |
|
||||
this.$message.error('上传头像图片只能是 JPG 格式!') |
|
||||
} |
|
||||
if (!isLt2M) { |
|
||||
this.$message.error('上传头像图片大小不能超过 10MB!') |
|
||||
} |
|
||||
return isJPG && isLt2M |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
<style scoped> |
|
||||
.upload { |
|
||||
width: 600px; |
|
||||
margin: 0 auto; |
|
||||
} |
|
||||
.avatar-uploader .el-upload { |
|
||||
border: 5px dashed #ca1717 !important; |
|
||||
border-radius: 6px; |
|
||||
cursor: pointer; |
|
||||
position: relative; |
|
||||
overflow: hidden; |
|
||||
} |
|
||||
.avatar-uploader .el-upload:hover { |
|
||||
border-color: #409EFF; |
|
||||
} |
|
||||
.avatar-uploader-icon { |
|
||||
font-size: 28px; |
|
||||
color: #8c939d; |
|
||||
width: 178px; |
|
||||
height: 178px; |
|
||||
line-height: 178px; |
|
||||
text-align: center; |
|
||||
} |
|
||||
.avatar { |
|
||||
width: 178px; |
|
||||
height: 178px; |
|
||||
display: block; |
|
||||
} |
|
||||
</style> |
|
@ -1,161 +0,0 @@ |
|||||
<template> |
|
||||
<div id="mef-m-authentication-apply"> |
|
||||
<div class="apply-upload-item fr noMb"> |
|
||||
<div class="photo-upload item-03" :class="{uploaded: userWorkPhoto}" @click="photoUpload('userWorkPhoto')"> |
|
||||
<img :src="userWorkPhoto" onerror="this.src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII='" class="fit-cover-img" /> |
|
||||
<span v-if="userWorkPhoto" class="delete-icon" @click.stop="clearPhotoUrl('userWorkPhoto')"></span> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
/* function getQiniuToken() { |
|
||||
return Promise.resolve({'uptoken': 'xxx'}); |
|
||||
} */ |
|
||||
|
|
||||
// c39eAF6CRLXTPcOp7YZWN47QG-R8GMdJwBtBQ1Eb:vQEKW6kSJvaMFOD6G0Fj1toohjE=:eyJzY29wZSI6ImFpeXVleGluZzoiLCJkZWFkbGluZSI6MTY0NzU3NjY4N30= |
|
||||
|
|
||||
/* c39eAF6CRLXTPcOp7YZWN47QG-R8GMdJwBtBQ1Eb:MZKUih1U9m0jKz57RwADJw02a9U=:eyJwZXJzaXN0ZW50UGlwZWxpbmUiOiJhaXl4bGliX3ZpZGVvLXBpcGUiLCJzY29wZSI6ImFpeXVleGluZyIsInBlcnNpc3RlbnRPcHMiOiJhdnRodW1iL20zdTgvbm9Eb21haW4vMS9zZWd0aW1lLzE1L3ZiLzQ0MGsvaGxzS2V5L2Z0em4xOWFpeXhsaWIyMDEvaGxzS2V5VXJsL2h0dHBzOi8vcWluaXUuYWl5eGxpYi5jb20vYWl4eWxpYndvcmQua2V5fHNhdmVhcy8iLCJkZWFkbGluZSI6MTY0NzU3NjcxOX0=*/ |
|
||||
import { getQiniuToken } from '@/api/material/material' |
|
||||
export default { |
|
||||
name: 'Upload', |
|
||||
data() { |
|
||||
return { |
|
||||
userWorkPhoto: '' |
|
||||
} |
|
||||
}, |
|
||||
mounted() { |
|
||||
|
|
||||
}, |
|
||||
methods: { |
|
||||
clearPhotoUrl(urlName) { |
|
||||
this[urlName] = '' |
|
||||
}, |
|
||||
photoUpload(type) { |
|
||||
const ipt = document.createElement('input') |
|
||||
ipt.setAttribute('type', 'file') |
|
||||
ipt.setAttribute('accept', 'image/*') |
|
||||
ipt.style.width = 0 |
|
||||
ipt.style.height = 0 |
|
||||
ipt.addEventListener('change', async() => { |
|
||||
const [file] = ipt.files |
|
||||
const base64Img = await this.fileToBase64(file) |
|
||||
const url = await this.uploadBase64(base64Img) |
|
||||
this.userWorkPhoto = url |
|
||||
document.body.removeChild(ipt) |
|
||||
}) |
|
||||
document.body.appendChild(ipt) |
|
||||
ipt.click() |
|
||||
}, |
|
||||
uploadBase64(base64Img) { |
|
||||
return new Promise((resolve) => { |
|
||||
getQiniuToken() |
|
||||
.then(res => { |
|
||||
const key = 'qiniu.aiyxlib.com' + this.uuid() + '.jpg' |
|
||||
const pic = base64Img.split(',')[1] |
|
||||
// const url = 'https://upload.qiniup.com/' + window.btoa(key) // 非华东空间需要根据注意事项 1 修改上传域名 |
|
||||
const url = 'https://upload.qiniup.com/' // 非华东空间需要根据注意事项 1 修改上传域名 |
|
||||
const xhr = new XMLHttpRequest() |
|
||||
xhr.onreadystatechange = () => { |
|
||||
if (xhr.readyState == 4) { |
|
||||
resolve( |
|
||||
'qiniu.aiyxlib.com' + JSON.parse(xhr.responseText).key |
|
||||
) |
|
||||
} |
|
||||
} |
|
||||
xhr.open('POST', url, true) |
|
||||
xhr.setRequestHeader('Content-Type', 'application/octet-stream') |
|
||||
xhr.setRequestHeader('Authorization', 'UpToken ' + res.data) |
|
||||
xhr.send(pic) |
|
||||
// 获取到凭证之后再将文件上传到七牛云空间 |
|
||||
}) |
|
||||
.catch(console.error) |
|
||||
}) |
|
||||
}, |
|
||||
fileToBase64(file) { |
|
||||
return new Promise((resolve) => { |
|
||||
const reader = new FileReader() |
|
||||
// 传入一个参数对象即可得到基于该参数对象的文本内容 |
|
||||
reader.readAsDataURL(file) |
|
||||
reader.onload = function(e) { |
|
||||
// target.result 该属性表示目标对象的DataURL |
|
||||
resolve(e.target.result) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
uuid(len, radix) { |
|
||||
const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('') |
|
||||
const uuid = [] |
|
||||
let i |
|
||||
radix = radix || chars.length |
|
||||
if (len) { |
|
||||
for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix] |
|
||||
} else { |
|
||||
let r |
|
||||
uuid[8] = uuid[13] = uuid[18] = uuid[23] = '' |
|
||||
uuid[14] = '4' |
|
||||
for (i = 0; i < 36; i++) { |
|
||||
if (!uuid[i]) { |
|
||||
r = 0 | Math.random() * 16 |
|
||||
uuid[i] = chars[i == 19 ? r & 0x3 | 0x8 : r] |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
return uuid.join('') |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
<style lang="scss" scoped> |
|
||||
#mef-m-authentication-apply{ |
|
||||
.apply-upload-item{ |
|
||||
width: 132px; |
|
||||
margin-bottom: 30px; |
|
||||
text-align: center; |
|
||||
&.noMb{ |
|
||||
margin-bottom: 0; |
|
||||
} |
|
||||
.photo-upload { |
|
||||
width: 132px; |
|
||||
height: 96px; |
|
||||
position: relative; |
|
||||
margin-bottom: 10px; |
|
||||
&.item-03{ |
|
||||
// background: top / 100% url(~@/assets/images/authentication/upload_workCard.png) |
|
||||
// no-repeat; |
|
||||
} |
|
||||
&.uploaded{ |
|
||||
background: none; |
|
||||
} |
|
||||
img{ |
|
||||
width: 85px; |
|
||||
height: 85px; |
|
||||
position: absolute; |
|
||||
left: 50%; |
|
||||
top: 50%; |
|
||||
transform: translate(-50%,-50%); |
|
||||
} |
|
||||
.delete-icon{ |
|
||||
width: 16px; |
|
||||
height: 16px; |
|
||||
// background: top / 100% url(~@/assets/images/common/icon-del.png) |
|
||||
// no-repeat; |
|
||||
border-radius: 0; |
|
||||
top: -8px; |
|
||||
right: -8px; |
|
||||
position: absolute; |
|
||||
i { |
|
||||
display: none; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
.apply-name{ |
|
||||
font-size: 14px; |
|
||||
font-weight: bold; |
|
||||
padding-top: 10px; |
|
||||
text-align: center; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
@ -1,199 +0,0 @@ |
|||||
<template> |
|
||||
<div class="upload"> |
|
||||
<div id="video_container"> |
|
||||
<!-- <div id="pickfiles">上传视频</div> --> |
|
||||
<div id="pickfiles"><el-button style="margin-top: 5px" type="primary" @click="initUploader">上传视频</el-button></div> |
|
||||
<div> |
|
||||
<div class="upload_info"> |
|
||||
<b>共{{ fileSize }}MB | 已上传{{ fileLoaded }} | 上传速度{{ fileSpeed }}/s</b> |
|
||||
</div> |
|
||||
<div> |
|
||||
<b>上传进度:{{ filePercent }}%</b> |
|
||||
</div> |
|
||||
<button @click="pauseUpload">暂停上传</button> |
|
||||
<button @click="continueUpload">继续上传</button> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div v-if="coverPic" class="cover-pic"> |
|
||||
<img :src="coverPic" alt="" /> |
|
||||
</div> |
|
||||
</div> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
// import { apis, chttp } from '@/libs/interfaces' |
|
||||
// import * as qiniu from 'qiniu-js' |
|
||||
import axios from 'axios' |
|
||||
require('../../../static/dist/qiniu.min') |
|
||||
// import { Uploader } from 'qiniup' |
|
||||
// import { getQiniuToken } from '@/api/material/material' |
|
||||
export default { |
|
||||
name: 'Qiniu', |
|
||||
data() { |
|
||||
return { |
|
||||
fileSize: 0, |
|
||||
fileLoaded: 0, |
|
||||
fileSpeed: 0, |
|
||||
filePercent: 0, |
|
||||
uploader: null, |
|
||||
token: '', |
|
||||
filename: '', |
|
||||
hash: '', |
|
||||
resFileName: '', |
|
||||
coverPic: '', |
|
||||
phoneType: null |
|
||||
} |
|
||||
}, |
|
||||
mounted() { |
|
||||
this.phoneType = this.getPhoneType() |
|
||||
this.getToken(() => { |
|
||||
this.initUploader() |
|
||||
}) |
|
||||
}, |
|
||||
methods: { |
|
||||
pauseUpload() { |
|
||||
this.uploader.stop() |
|
||||
}, |
|
||||
continueUpload() { |
|
||||
this.uploader.start() |
|
||||
}, |
|
||||
toDecimal(size) { |
|
||||
size = size / 1024 / 1024 |
|
||||
var f = parseFloat(size) |
|
||||
if (isNaN(f)) { |
|
||||
return |
|
||||
} |
|
||||
f = Math.round(size * 10) / 10 |
|
||||
var s = f.toString() |
|
||||
var rs = s.indexOf('.') |
|
||||
if (rs < 0) { |
|
||||
rs = s.length |
|
||||
s += '.' |
|
||||
} |
|
||||
while (s.length <= rs + 1) { |
|
||||
s += '0' |
|
||||
} |
|
||||
return s |
|
||||
}, |
|
||||
initUploader() { |
|
||||
const plupload = window.plupload |
|
||||
const Qiniu = global.qiniu |
|
||||
const _this = this |
|
||||
// domain为七牛空间对应的域名,选择某个空间后,可通过 空间设置->基本设置->域名设置 查看获取 |
|
||||
const isIphone5 = this.phoneType === '5' |
|
||||
// uploader为一个plupload对象,继承了所有plupload的方法 |
|
||||
this.uploader = Qiniu.uploader({ |
|
||||
runtimes: 'html5,flash,html4', // 上传模式,依次退化 |
|
||||
browse_button: 'pickfiles', // 上传选择的点选按钮,必需 |
|
||||
uptoken: this.token, // uptoken是上传凭证,由其他程序生成 |
|
||||
get_new_uptoken: true, // 设置上传文件的时候是否每次都重新获取新的uptoken |
|
||||
bucket_name: 'common-web', // 空间名 |
|
||||
unique_names: false, // 默认false,key为文件名。若开启该选项,JS-SDK会为每个文件自动生成key(文件名) |
|
||||
save_key: false, // 默认false。若在服务端生成uptoken的上传策略中指定了sava_key,则开启,SDK在前端将不对key进行任何处理 |
|
||||
domain: 'https://upload.qiniup.com/', // bucket domain eg:http://qiniu-plupload.qiniudn.com/ |
|
||||
container: 'video_container', // 上传区域DOM ID,默认是browser_button的父元素 |
|
||||
max_file_size: '10mb', // 最大文件体积限制 |
|
||||
dragdrop: false, // 开启可拖曳上传 |
|
||||
drop_element: 'video_container', // 拖曳上传区域元素的ID,拖曳文件或文件夹后可触发上传 |
|
||||
chunk_size: '4mb', // 分块上传时,每块的体积 |
|
||||
max_retries: 3, // 上传失败最大重试次数 |
|
||||
auto_start: true, // 选择文件后自动上传,若关闭需要自己绑定事件触发上传 |
|
||||
multi_selection: !isIphone5, |
|
||||
init: { |
|
||||
Key: function(up, files) { |
|
||||
return _this.filename |
|
||||
}, |
|
||||
FilesAdded: function(up, files) { |
|
||||
plupload.each(files, function(file) { |
|
||||
// 文件添加进队列后,处理相关的事情 |
|
||||
console.log('FilesAdded') |
|
||||
_this.fileSize = _this.toDecimal(file.size) |
|
||||
}) |
|
||||
}, |
|
||||
BeforeUpload: function(up, file) { |
|
||||
console.log('BeforeUpload') |
|
||||
}, |
|
||||
ChunkUploaded: function(up, file, info) { |
|
||||
console.log('ChunkUploaded') |
|
||||
}, |
|
||||
UploadProgress: function(up, file) { |
|
||||
// 每个文件上传时,处理相关的事情 |
|
||||
_this.filePercent = parseInt(file.percent) |
|
||||
_this.fileLoaded = plupload.formatSize(file.loaded).toUpperCase() |
|
||||
_this.fileSpeed = plupload.formatSize(file.speed).toUpperCase() |
|
||||
}, |
|
||||
FileUploaded: function(up, file, info) { |
|
||||
console.log('FileUploaded') |
|
||||
const response = JSON.parse(info.response) |
|
||||
_this.hash = response.hash |
|
||||
_this.resFileName = response.key |
|
||||
_this.coverPic = 'qiniu.aiyxlib.com' + response.key + '?vframe/png/offset/7/w/480' |
|
||||
}, |
|
||||
Error: function(up, err, errTip) { |
|
||||
// 上传出错时,处理相关的事情 |
|
||||
_this.$toast('Error =') |
|
||||
_this.$toast(err) |
|
||||
_this.$toast('errTip =') |
|
||||
_this.$toast(errTip) |
|
||||
}, |
|
||||
UploadComplete: function() { |
|
||||
// 队列文件处理完毕后,处理相关的事情 |
|
||||
_this.$toast('UploadComplete') |
|
||||
} |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
getToken(callback) { |
|
||||
this.filename = 'webvideo/' + new Date().getTime() + '.mp4' |
|
||||
const params = { |
|
||||
filename: this.filename |
|
||||
} |
|
||||
// chttp.get(apis.qiniuToken, { params: params }) |
|
||||
// .then(res => { |
|
||||
// this.token = res.token |
|
||||
// callback() |
|
||||
// }) |
|
||||
// 获取到凭证之后再将文件上传到七牛云空间 |
|
||||
axios.get('http://192.168.99.84:7000/api/qiniu/uploadTokenCover', { params: params }) |
|
||||
.then(res => { |
|
||||
this.token = res.data |
|
||||
callback() |
|
||||
}) |
|
||||
}, |
|
||||
getPhoneType() { |
|
||||
// 正则,忽略大小写 |
|
||||
var patternPhone = new RegExp('iphone', 'i') |
|
||||
var patternAndroid = new RegExp('Android', 'i') |
|
||||
var userAgent = navigator.userAgent.toLowerCase() |
|
||||
var isAndroid = patternAndroid.test(userAgent) |
|
||||
var isIphone = patternPhone.test(userAgent) |
|
||||
var phoneType = 'phoneType' |
|
||||
if (isAndroid) { |
|
||||
var zhCnIndex = userAgent.indexOf('-') |
|
||||
var spaceIndex = userAgent.indexOf('build', zhCnIndex + 4) |
|
||||
var fullResult = userAgent.substring(zhCnIndex, spaceIndex) |
|
||||
phoneType = fullResult.split('')[1] |
|
||||
} else if (isIphone) { |
|
||||
// 6 w=375 6plus w=414 5s w=320 5 w=320 |
|
||||
var wigth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth |
|
||||
if (wigth > 400) { |
|
||||
phoneType = 'iphone6 plus' |
|
||||
} else if (wigth > 370) { |
|
||||
phoneType = 'iphone6' |
|
||||
} else if (wigth > 315) { |
|
||||
phoneType = '5' |
|
||||
} else { |
|
||||
phoneType = 'iphone 4s' |
|
||||
} |
|
||||
} else { |
|
||||
phoneType = '您的设备太先进了' |
|
||||
} |
|
||||
return phoneType |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
</style> |
|
||||
|
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue