Commit d631fbe4 authored by 张伯涛's avatar 张伯涛

课程资料下载加密解密以及传参更改

parent b19542ad
......@@ -262,7 +262,6 @@ export function downloadZip(params) {
return request({
url: '/bfile/download/',
method: 'post',
responseType: 'blob',
params
})
}
......
......@@ -50,6 +50,17 @@ export function passwordDecrypt(txt) {
}
const urlPrivateKey = 'MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCstNcEy/A6v3BddApjjCN8VESMSh95q3TeFd//1E+36CA1WMIshzP1sL0L9wTHfVjUK/Ii6agsVXkstMMC1+HqavoSz42krvrgadfzEJIepOK4Z2E25YTcyIZ1dt7HgKxz+xhXZWRvbEYdLZrVMVJtjltagFB80RjKStv85U94Z6DMXBF8bZA8DMYGv7+p2Sszl3BUk79X2XLBoF+h2d9Jn0Rl0xKfxPS1k7tSfEVGk0VJArEUZJNAzrr/zCMhH+CN8LISQ/8sI1VYHTx2E85/KhcnewtHjb2P6h5q0fnZ5ELgsf1Bxj/dl2GxW+ybeW1Ir+tyNJWbMz/N7XTZUaLHAgMBAAECggEALCFBV/5scfZ81cRS60DhyGEX6uj9xe8ju6PHSu2LOSjdIgR+CTa69iqlA6uo0viafAyGoJkn2bw1bFD8C3vyRB31rFzQiqYTgMhK39b6H05uiEQSOR7Ipkmu4dDv9/ZPGousmphT44y9FbOTfqpNr6TSfvuOlXYwaXBbafGGLvOQRKqeP0mVq6xmiQOKg9yBAwN1dcoGx77OsvMEV2o0JR0+/0BMd3qRZQLAYH03zv3LE8xkI0zta9Gmmbh44YPwWGW/mMY24Iae1/pKnZxWTGty+X/pLGqHQdtxz6qQr/pCSA9lESNkkocHzVI9D6SxX5+bHWc0AX17EHomB2HawQKBgQDZYIAagH0tRR1XtIsexv1OpAOoHbXnpNmMPkAurpGlIzBlZlQYevPg0gcs7GBA90ZAyt68bkq4ABZ1CYPMEMazcMa2TOMaf9yw5bxnD8Ek2KWOnR4juQqKOyL8/2ddLPBV0J2Boo2D9MFSucyHB3lvRZF/DlYuLbj+GNdt9IZjFwKBgQDLZHosddeLo9Ux4mTChveMdo9nFzrXZZ83mbMPETTJ3EygQGqWmMUUQx9iWkiHWUYyyel/jafdIxOnaZfTEvcYcMDOsj3kDNZ5a1v+ZswqwT5fzQBv4huO3X8CrN7hnNsv9HIVrbT2ZlHhSI0g4Q0nfzSjxo7rYF50vJ6Qk+VL0QKBgQCtGadpc0A7OHpxSRgv3g4A/aLb0Sz11dRXVYsOoXzhn+/+D0qQY/io4xdLsr/DfCW5mtNcAggGFivL71PAwOs6IWhb60Y95+v6AjfRaj5H9S2BL6S8lbHK+eSWy1uoWwzXiVSj0qoWlmUMV2CDdnRBI4kFQIloJIjX7zg+GyaY6QKBgFCyUs7lCln67JFYM4YCqqDuQUMzskLXrO4QazylJP6aC0ThieiqQDcj0oXhMDmTMAjil2PmPh281wVrHbO/KI5n3fekPG4IseeGsv8ipgqolSjJW00ItspeExBqqht1cnl6UPFM9Cl2uzHY6TWMVP3AuI/qLbYxjAhg9cCDDUyhAoGBAI9h0SJjnSivVWl9OCQ8HT17Erl5lPpoI9GA+BjnuHnpWhKu4mxjPKzDMUxF1jmENLpvmGzK6KoeiRSLik2DOosQ1ip4U8N1IlSqJDkwzAVAHpDErwIiIox4bMpnD3vt/MgE1OIkK4PvjYyKfxngygof3gaHaEULTJFFIZVV1KM7'
const urlPublicKey = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArLTXBMvwOr9wX\n' +
'XQKY4wjfFREjEofeat03hXf/9RPt+ggNVjCLIcz9bC9C/cEx31Y1CvyIumoLFV5LLTDAtfh6mr6Es+NpK764GnX8x\n' +
'CSHqTiuGdhNuWE3MiGdXbex4Csc/sYV2Vkb2xGHS2a1TFSbY5bWoBQfNEYykrb/OVPeGegzFwRfG2QPAzGBr+/qdk\n' +
'rM5dwVJO/V9lywaBfodnfSZ9EZdMSn8T0tZO7UnxFRpNFSQKxFGSTQM66/8wjIR/gjfCyEkP/LCNVWB08dhPOfyoX\n' +
'J3sLR429j+oeatH52eRC4LH9QcY/3ZdhsVvsm3ltSK/rcjSVmzM/ze102VGixwIDAQAB'
// 视频,pdf加密
export function urlEncrypt(txt) {
const encryptor = new JSEncrypt()
encryptor.setPublicKey(urlPublicKey) // 设置公钥
return encryptor.encrypt(txt) // 对需要加密的数据进行加密
}
// 视频,pdf解密
export function urlDecrypt(txt) {
......
......@@ -150,7 +150,7 @@
<el-input v-model="form.name" auto-complete="off" placeholder="课时数" :maxlength="15" />
</el-form-item>
<el-form-item label="课程类型" >
<el-form-item label="课程类型">
<el-select v-model="form.lessonType" placeholder="课程类型" clearable>
<el-option
v-for="item in lessonTypeOptions"
......@@ -640,7 +640,7 @@ import {
import commonField from '@/utils/commonField'
import { getDict } from '@/api/system/dict/data'
import { listAllCmsLecturer } from '@/api/courseManagement/cmsLecturer'
import { urlDecrypt, urlEncrypt } from '@/utils/jsencrypt'
export default {
name: 'Index',
components: {
......@@ -696,6 +696,8 @@ export default {
}
}
return {
randomFiveDigitNumber: '', // 随机5位数字
zipUrl: '',
// 评分列表
// 平均分
scoreAvg: 0,
......@@ -780,6 +782,7 @@ export default {
formLabelWidth: '90px',
// 表格
tableData: [],
zipLessonId: '',
zipList: [],
lineindex: 0,
teacode: '',
......@@ -899,6 +902,10 @@ export default {
this.loadData()
},
methods: {
/** 生成随机数*/
generateRandomNumber() {
this.randomFiveDigitNumber = Math.floor(10000 + Math.random() * 90000)
},
/**
* 点击分数
***/
......@@ -1725,6 +1732,7 @@ export default {
findZIpInfo(params).then(res => {
console.log('res', res)
if (res.code === 200) {
_this.zipLessonId = res.data.lessonId
_this.zipList = res.data.ossInfoList
}
}).catch((err) => {
......@@ -1763,23 +1771,29 @@ export default {
})
},
downloadFile(data) {
this.generateRandomNumber()
console.log('randomFiveDigitNumber', this.randomFiveDigitNumber)
const _this = this
console.log('data', data)
const originalName = data.originalName
console.log('originalName', originalName)
// const originalName = data.originalName
const fileUrl = urlEncrypt(_this.randomFiveDigitNumber + data.businessId)
const params = {
businessId: data.businessId
lessonId: _this.zipLessonId,
fileUrl: fileUrl
}
downloadZip(params).then(res => {
const blob = new Blob([res])
const downloadElement = document.createElement('a')
const href = window.URL.createObjectURL(blob)// 创建下载的链接
downloadElement.href = href
downloadElement.download = originalName // 下载后文件名
document.body.appendChild(downloadElement)
downloadElement.click()// 点击下载
document.body.removeChild(downloadElement)// 下载完成移除元素
window.URL.revokeObjectURL(href)// 释放掉blob对象
_this.zipUrl = urlDecrypt(res.data)
console.log('_this.zipUrl', _this.zipUrl)
window.open(_this.zipUrl, '_blank')
// const blob = new Blob([res])
// const downloadElement = document.createElement('a')
// const href = window.URL.createObjectURL(blob)// 创建下载的链接
// downloadElement.href = href
// downloadElement.download = originalName // 下载后文件名
// document.body.appendChild(downloadElement)
// downloadElement.click()// 点击下载
// document.body.removeChild(downloadElement)// 下载完成移除元素
// window.URL.revokeObjectURL(href)// 释放掉blob对象
}).catch((err) => {
_this.error(err)
})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment