Skip to content

Commit 037949b

Browse files
author
Lan
committed
feat: 新增webdav存储
1 parent 0add20e commit 037949b

20 files changed

+281
-82
lines changed

apps/base/utils.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import datetime
2-
import uuid
32
import os
3+
import uuid
4+
45
from fastapi import UploadFile, HTTPException
5-
from typing import Tuple, Optional
6+
from typing import Optional, Tuple
67

78
from apps.base.dependencies import IPRateLimit
89
from apps.base.models import FileCodes

apps/base/views.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,4 +135,8 @@ async def download_file(key: str, code: str, ip: str = Depends(ip_limit['error']
135135
if not has:
136136
return APIResponse(code=404, detail='文件不存在')
137137

138-
return APIResponse(detail=file_code.text) if file_code.text else await file_storage.get_file_response(file_code)
138+
return (
139+
APIResponse(detail=file_code.text)
140+
if file_code.text
141+
else await file_storage.get_file_response(file_code)
142+
)

core/settings.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@
4040
'uploadSize': 1024 * 1024 * 10,
4141
'expireStyle': ['day', 'hour', 'minute', 'forever', 'count'],
4242
'uploadMinute': 1,
43+
'webdav_url': '',
44+
'webdav_password': '',
45+
'webdav_username': '',
4346
'opacity': 0.9,
4447
'background': '',
4548
'uploadCount': 10,

core/storage.py

Lines changed: 254 additions & 60 deletions
Large diffs are not rendered by default.

core/tasks.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
async def delete_expire_files():
1818
file_storage: FileStorageInterface = storages[settings.file_storage]()
19-
print(settings.file_storage)
2019
while True:
2120
try:
2221
# 遍历 share目录下的所有文件夹,删除空的文件夹,并判断父目录是否为空,如果为空也删除

core/utils.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77
import random
88
import string
99
import time
10-
11-
from apps.base.dependencies import IPRateLimit
12-
10+
from core.settings import settings
1311

1412
async def get_random_num():
1513
"""
@@ -46,7 +44,7 @@ async def get_select_token(code: str):
4644
:param code:
4745
:return:
4846
"""
49-
token = "123456"
47+
token = settings.admin_token
5048
return hashlib.sha256(f"{code}{int(time.time() / 1000)}000{token}".encode()).hexdigest()
5149

5250

themes/2024/assets/AdminLayout-DQKUNxBs.js renamed to themes/2024/assets/AdminLayout-DGEvILen.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

themes/2024/assets/DashboardView-BQkdUNcj.js renamed to themes/2024/assets/DashboardView-6JCRMawe.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

themes/2024/assets/FileManageView-FEOrQKbl.js renamed to themes/2024/assets/FileManageView-BYyHY3ZZ.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

themes/2024/assets/LoginView-DMl24bJ-.js renamed to themes/2024/assets/LoginView-CvDOmLlY.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)