test/custom-admin-ui #3
@@ -19,13 +19,17 @@ if not os.path.exists('./static'):
|
||||
os.makedirs('./static')
|
||||
app.mount("/static", StaticFiles(directory="static"), name="static")
|
||||
index_html = open('templates/index.html', 'r').read()
|
||||
admin_html = open('templates/admin.html', 'r').read()
|
||||
# 过期时间
|
||||
exp_hour = 24
|
||||
# 允许错误次数
|
||||
error_count = 5
|
||||
# 禁止分钟数
|
||||
error_minute = 60
|
||||
|
||||
# 后台地址
|
||||
admin_address = 'admin'
|
||||
# 管理密码
|
||||
admin_password = 'admin'
|
||||
error_ip_count = {}
|
||||
|
||||
|
||||
@@ -56,6 +60,33 @@ def get_file_name(key, ext, file):
|
||||
return key, len(file), path[1:] + name
|
||||
|
||||
|
||||
@app.get(f'/{admin_address}')
|
||||
async def admin(request: Request):
|
||||
return HTMLResponse(admin_html)
|
||||
|
||||
|
||||
@app.post(f'/{admin_address}')
|
||||
async def admin_post(request: Request, db: Session = Depends(get_db)):
|
||||
if request.headers.get('pwd') == admin_password:
|
||||
codes = db.query(database.Codes).all()
|
||||
return {'code': 200, 'msg': '查询成功', 'data': codes}
|
||||
else:
|
||||
return {'code': 400, 'msg': '密码错误'}
|
||||
|
||||
|
||||
@app.delete(f'/{admin_address}')
|
||||
async def admin_delete(request: Request, code: str, db: Session = Depends(get_db)):
|
||||
if request.headers.get('pwd') == admin_password:
|
||||
file = db.query(database.Codes).filter(database.Codes.code == code)
|
||||
if file.first().type != 'text/plain':
|
||||
os.remove('.' + file.first().text)
|
||||
file.delete()
|
||||
db.commit()
|
||||
return {'code': 200, 'msg': '删除成功'}
|
||||
else:
|
||||
return {'code': 400, 'msg': '密码错误'}
|
||||
|
||||
|
||||
@app.get('/')
|
||||
async def index():
|
||||
return HTMLResponse(index_html)
|
||||
|
||||
@@ -16,22 +16,37 @@
|
||||
- [x] 无需注册:无需注册,无需登录
|
||||
- [x] Sqlite3数据库:无需安装数据库
|
||||
- [x] 可以加get参数code,这样打开就会读取取件码如:http://xxx.com?code=12345
|
||||
- [ ] 管理面板:简单列表页删除违规文件
|
||||
- [x] 管理面板:简单列表页删除违规文件
|
||||
- [ ] 口令使用次数,口令有效期,二维码分享
|
||||
|
||||
## 更新记录
|
||||
|
||||
### 2022年12月10日 01:56:43
|
||||
|
||||
1. 管理面板已新增,一如既往的极简,只有删除
|
||||
2. 二维码图片(调用的网络接口,如果离线环境将无法使用,一切为了极简)
|
||||
|
||||
## 系统截图
|
||||
|
||||
### 取件
|
||||
|
||||

|
||||

|
||||
|
||||
### 寄件
|
||||
|
||||

|
||||

|
||||
|
||||
### 管理面板
|
||||
|
||||

|
||||

|
||||
|
||||
## 部署方式
|
||||
|
||||
先拉取代码,然后修改main.py文件,将里面写了注释的可以根据需求改一下
|
||||
|
||||
### 服务端部署
|
||||
|
||||
1. 安装Python3
|
||||
|
||||
Reference in New Issue
Block a user