feat:添加评论上传功能 未完全完成

This commit is contained in:
2024-04-28 20:21:36 +08:00
parent b5c58e1216
commit c8bae04145
12 changed files with 279 additions and 42 deletions

View File

@@ -1,7 +1,8 @@
from flask import *
from flask import Blueprint
import time
import db.file, file , app_conf
import db.user
import db.file, file, app_conf
admin_page_bp = Blueprint("admin_page_bp", __name__)
@@ -9,6 +10,7 @@ conf = app_conf.conf()
# 管理页
@admin_page_bp.route("/", methods=["GET", "POST"])
def login(): # 登录页面
if request.method == "GET":
@@ -16,11 +18,10 @@ def login(): # 登录页面
return redirect("/overview/1")
return render_template("login.html")
elif request.method == "POST":
if request.form["username"] == conf.get("user", "username") and request.form[
"password"
] == conf.get("user", "password"):
if db.user.check(request.form["username"], request.form["password"]):
resp = make_response(redirect("/overview/1"))
resp.set_cookie("islogin", "True")
resp.set_cookie("islogin", request.form["username"])
resp.set_cookie("uid", str(db.user.getUid(request.form["username"])))
return resp
else:
return redirect("/")

27
web/api_comment.py Normal file
View File

@@ -0,0 +1,27 @@
from flask import *
from flask import Blueprint
import time
import db.comments, db.file, app_conf
comment_api_bp = Blueprint("comment_api_bp", __name__)
conf = app_conf.conf()
@comment_api_bp.route("/api/comment/upload", methods=["POST"])
def comment_api(): # 概览
if request.cookies.get("islogin") is None: # 验证登录状态
return redirect("/")
if request.form["score"] != "none" and request.form["text"].isspace():
return "评论不能为空"
if len(request.form["text"]) > 200:
return "评论过长(需要小于200字)"
if db.comments.searchByAll(request.cookies.get("uid"), request.form["bookid"]):
return "你已经完成了评论 不可重复提交"
db.comments.new(
request.form["bookid"],
request.cookies.get("uid"),
request.form["score"],
request.form["text"],
)
return redirect("/book/" + request.form["bookid"])

View File

@@ -1,20 +1,23 @@
from flask import *
from flask import Blueprint
import time
import db.file, file , app_conf
import db.comments, db.user, db.file, file, app_conf
page_bp = Blueprint("page_bp", __name__)
conf = app_conf.conf()
@page_bp.route("/overview/<page>")
def overview(page): # 概览
page = int(page)
if request.cookies.get("islogin") is None: #验证登录状态
return redirect("/")
metaDataList = db.file.getMetadata((page - 1) * 20, page * 20, request.args.get("search"))
if request.cookies.get("islogin") is None: # 验证登录状态
return redirect("/")
metaDataList = db.file.getMetadata(
(page - 1) * 20, page * 20, request.args.get("search")
)
for item in metaDataList:
item[2] = item[2][:-4] #去除文件扩展名
item[2] = item[2][:-4] # 去除文件扩展名
if page <= 3:
lastPageList = range(1, page)
else:
@@ -26,32 +29,49 @@ def overview(page): # 概览
lastPageList=lastPageList,
pagenow=page,
nextPageList=nextPageList,
aftertime=int(time.time()) - 3 * 86400,
username=request.cookies.get("islogin"),
)
@page_bp.route("/book/<bookid>")
def book(bookid): # 接口
if request.cookies.get("islogin") is None: #验证登录状态
return redirect("/")
if request.cookies.get("islogin") is None: # 验证登录状态
return redirect("/")
data = db.file.searchByid(bookid)
if len(data) == 0:
return abort(404)
data[0] = list(data[0])
data[0][2] = data[0][2][0:-4] # 把文件扩展名去掉
data[0][2] = data[0][2][0:-4] # 把文件扩展名去掉
local_time = time.localtime(float(data[0][4]))
raw_com = db.comments.listByBookid(bookid)
comments = []
for i in raw_com:
comments.append(
{
"id": i[0],
"time": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(float(i[1]))),
"from": db.user.getUsername(i[3]),
"socre":i[4],
"text":i[5]
}
)
return render_template(
"book.html",
id=bookid,
data=data,
time=time.strftime("%Y-%m-%d %H:%M:%S",local_time),
time=time.strftime("%Y-%m-%d %H:%M:%S", local_time),
socre=db.comments.getScore(bookid),
comments=comments,
)
@page_bp.route("/view/<bookid>")
def view(bookid): # 接口
if request.cookies.get("islogin") is None: #验证登录状态
return redirect("/")
if request.cookies.get("islogin") is None: # 验证登录状态
return redirect("/")
data = db.file.searchByid(bookid)
if len(data) == 0:
return abort(404)
@@ -60,8 +80,8 @@ def view(bookid): # 接口
@page_bp.route("/upload", methods=["GET", "POST"]) # 文件上传
def upload_file():
if request.cookies.get("islogin") is None: #验证登录状态
return redirect("/")
if request.cookies.get("islogin") is None: # 验证登录状态
return redirect("/")
if request.method == "GET":
return render_template("upload.html")
uploaded_file = request.files.getlist("files[]") # 获取上传的文件列表
@@ -71,6 +91,3 @@ def upload_file():
fileitem.save(conf.get("file", "inputdir") + "/" + fileitem.filename)
file.auotLoadFile()
return "success"