修改为前后端分离模式

This commit is contained in:
2023-06-14 15:43:04 +08:00
parent 029557a5c0
commit 7ded5ba751
16 changed files with 989 additions and 531 deletions

View File

@@ -11,7 +11,14 @@
<div style="display: flex;">
<el-input v-model="form.start" />
<el-button style="flex-shrink: 0;margin: 0 10px;" @click="setlist" type="primary">设置</el-button>
</div>
</el-form-item>
<el-form-item label="下载保存地址">
<div style="display: flex;">
<el-input v-model="form.save" />
<el-button style="flex-shrink: 0;margin: 0 10px;" @click="dow" type="primary">下载</el-button>
<el-button style="flex-shrink: 0;margin: 0 10px;" @click="showmsg" type="primary">查看进度</el-button>
</div>
</el-form-item>
@@ -21,7 +28,7 @@
</el-table-column>
<el-table-column label="url" prop="url" />
</el-table>
<el-dialog :fullscreen="true" :close-on-click-modal="false" :close-on-press-escape="false" v-model="dialogVisible" :show-close="false" title="Tips" width="30%" >
<el-dialog :fullscreen="true" v-model="dialogVisible" title="Tips" width="30%" >
<div style="width: 100%;height: 100%;overflow-y: auto;">
<div v-for="i in msg">{{ i }}</div>
</div>
@@ -33,19 +40,26 @@
<script setup>
import { ref } from 'vue';
import { ElLoading,ElMessage } from 'element-plus'
import axios from 'axios';
const dialogVisible = ref(false)
const form = ref({
name: "https://v.qq.com/x/cover/mzc002007vp35qj.html",
start: 1
start: 1,
save:"D:/dl"
})
const tableData = ref([])
const table = ref()
function getlist() {
let load = ElLoading.service()
window.getlist(form.value.name).then((res) => {
console.log(res)
tableData.value = res
load.close()
// let load = ElLoading.service()
// window.getlist(form.value.name).then((res) => {
// console.log(res)
// tableData.value = res
// load.close()
// })
axios.get("http://127.0.0.1:3050/getQqList",{
params: {url:form.value.name}
}).then((r)=>{
tableData.value = r.data
})
}
function setlist() {
@@ -55,39 +69,32 @@ function setlist() {
table.value.toggleRowSelection(tableData.value[i], undefined)
}
}
function handleSelectionChange(i) {
console.log(i)
}
const msg = ref([])
function log(res,i,end) {
console.log(end)
if(end){
res()
}else{
msg.value.unshift(i)
}
}
function down(info) {
return new Promise((res) => {
const callback = log.bind(this,res)
window.dowload(info,callback)
})
}
async function dow() {
dialogVisible.value = true
let list = table.value.getSelectionRows()
for(let i of list){
await down(i)
await axios.get("http://127.0.0.1:3050/startDown",{
params:i
})
}
dialogVisible.value = false
// dialogVisible.value = false
ElMessage({
showClose: true,
message: '下载完成',
message: '添加完成',
type: 'success',
duration:0
})
}
const source = new EventSource(`http://127.0.0.1:3050/msg`);
source.onmessage = event => {
// 挂到载体上面
msg.value.unshift(event.data)
}
function showmsg(){
dialogVisible.value = true
}
</script>
<style lang="scss" scoped>