fix:先转同步,不然并发多了,慢慢优化
This commit is contained in:
@@ -205,7 +205,7 @@ class ShareDataModel(BaseModel):
|
|||||||
exp_value: int
|
exp_value: int
|
||||||
type: str
|
type: str
|
||||||
name: str
|
name: str
|
||||||
key: str = uuid.uuid4
|
key: str = uuid.uuid4().hex
|
||||||
|
|
||||||
|
|
||||||
@app.post('/share/file/', dependencies=[Depends(admin_required)], description='分享文件')
|
@app.post('/share/file/', dependencies=[Depends(admin_required)], description='分享文件')
|
||||||
@@ -231,7 +231,7 @@ async def share_text(text_model: ShareDataModel, s: AsyncSession = Depends(get_s
|
|||||||
if exp_error:
|
if exp_error:
|
||||||
raise HTTPException(status_code=400, detail='过期值异常')
|
raise HTTPException(status_code=400, detail='过期值异常')
|
||||||
exp_status, exp_time, exp_count, code = await get_expire_info(text_model.exp_style, text_model.exp_value, s)
|
exp_status, exp_time, exp_count, code = await get_expire_info(text_model.exp_style, text_model.exp_value, s)
|
||||||
size, _text, _type, name, key = len(text_model.text), text_model.text, 'text', '文本分享', text_model.key().hex
|
size, _text, _type, name, key = len(text_model.text), text_model.text, 'text', '文本分享', text_model.key
|
||||||
s.add(Codes(code=code, text=_text, size=size, type=_type, name=name, count=exp_count, exp_time=exp_time, key=key))
|
s.add(Codes(code=code, text=_text, size=size, type=_type, name=name, count=exp_count, exp_time=exp_time, key=key))
|
||||||
await s.commit()
|
await s.commit()
|
||||||
upload_ip_limit.add_ip(ip)
|
upload_ip_limit.add_ip(ip)
|
||||||
|
|||||||
@@ -72,10 +72,14 @@
|
|||||||
background-color: rgba(0, 0, 0, 0.4);
|
background-color: rgba(0, 0, 0, 0.4);
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-drawer, #el-drawer__title, .el-drawer__body, .el-drawer__wrapper {
|
.el-drawer, #el-drawer__title, .el-drawer__body, .el-drawer__wrapper .el-loading-mask {
|
||||||
background-color: rgba(0, 0, 0, 0.5);
|
background-color: rgba(0, 0, 0, 0.5);
|
||||||
border: 1px solid transparent;
|
border: 1px solid transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.el-loading-mask {
|
||||||
|
background-color: rgba(0, 0, 0, 0.8) !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
@@ -168,7 +172,6 @@
|
|||||||
</el-radio>
|
</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-upload
|
<el-upload
|
||||||
v-if="uploadData.is_file === '1'"
|
v-if="uploadData.is_file === '1'"
|
||||||
drag
|
drag
|
||||||
@@ -384,6 +387,7 @@
|
|||||||
type: 'error'
|
type: 'error'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
reject(err)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -393,7 +397,7 @@
|
|||||||
formData.append('file_key', file_key);
|
formData.append('file_key', file_key);
|
||||||
formData.append('chunk_index', chunk_index);
|
formData.append('chunk_index', chunk_index);
|
||||||
formData.append('total_chunks', total_chunks);
|
formData.append('total_chunks', total_chunks);
|
||||||
this.http('post', `/file/upload/${file_key}/`, formData).then((res) => {
|
await this.http('post', `/file/upload/${file_key}/`, formData).then((res) => {
|
||||||
this.upload_groups[chunk_index - 1] = 1;
|
this.upload_groups[chunk_index - 1] = 1;
|
||||||
}).catch((res) => {
|
}).catch((res) => {
|
||||||
this.upload_groups[chunk_index - 1] = 2;
|
this.upload_groups[chunk_index - 1] = 2;
|
||||||
@@ -497,7 +501,7 @@
|
|||||||
const start = chunk_index * shardSize
|
const start = chunk_index * shardSize
|
||||||
const end = Math.min(start + shardSize, size)
|
const end = Math.min(start + shardSize, size)
|
||||||
chunk_index += 1;
|
chunk_index += 1;
|
||||||
this.uploadChunk(file.slice(start, end), res.data, chunk_index, total_chunks);
|
await this.uploadChunk(file.slice(start, end), res.data, chunk_index, total_chunks);
|
||||||
}
|
}
|
||||||
const interval = setInterval(() => {
|
const interval = setInterval(() => {
|
||||||
let success = 0;
|
let success = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user