fix: 修改后端 api 脚本

This commit is contained in:
Edan's Win11
2025-06-03 23:08:30 +08:00
parent 5247c64670
commit d0244fec26
+83 -15
View File
@@ -10,8 +10,8 @@ from flask_cors import CORS
from myUtils.auth import check_cookie
from flask import Flask, request, jsonify, Response, render_template, send_from_directory
from conf import BASE_DIR
from myUtils.login import get_tencent_cookie, douyin_cookie_gen, get_ks_cookie
from myUtils.postVideo import post_video_tencent, post_video_DouYin, post_video_ks
from myUtils.login import get_tencent_cookie, douyin_cookie_gen, get_ks_cookie, xiaohongshu_cookie_gen
from myUtils.postVideo import post_video_tencent, post_video_DouYin, post_video_ks, post_video_xhs
active_queues = {}
app = Flask(__name__)
@@ -41,7 +41,6 @@ def hello_world(): # put application's code here
return render_template('index.html')
@app.route('/upload', methods=['POST'])
@app.route('/api/upload', methods=['POST'])
def upload_file():
if 'file' not in request.files:
return jsonify({
@@ -67,7 +66,6 @@ def upload_file():
return jsonify({"code":200,"msg": str(e),"data":None}), 500
@app.route('/getFile', methods=['GET'])
@app.route('/api/getFile', methods=['GET'])
def get_file():
# 获取 filename 参数
filename = request.args.get('filename')
@@ -87,7 +85,6 @@ def get_file():
@app.route('/uploadSave', methods=['POST'])
@app.route('/api/uploadSave', methods=['POST'])
def upload_save():
if 'file' not in request.files:
return jsonify({
@@ -149,7 +146,6 @@ def upload_save():
}), 500
@app.route('/getFiles', methods=['GET'])
@app.route('/api/getFiles', methods=['GET'])
def get_all_files():
try:
# 使用 with 自动管理数据库连接
@@ -178,7 +174,6 @@ def get_all_files():
@app.route("/getValidAccounts",methods=['GET'])
@app.route("/api/getValidAccounts",methods=['GET'])
async def getValidAccounts():
with sqlite3.connect(Path(BASE_DIR / "db" / "database.db")) as conn:
cursor = conn.cursor()
@@ -210,7 +205,6 @@ async def getValidAccounts():
}),200
@app.route('/deleteFile', methods=['GET'])
@app.route('/api/deleteFile', methods=['GET'])
def delete_file():
file_id = request.args.get('id')
@@ -260,10 +254,49 @@ def delete_file():
"data": None
}), 500
@app.route('/deleteAccount', methods=['GET'])
def delete_account():
account_id = int(request.args.get('id'))
try:
# 获取数据库连接
with sqlite3.connect(Path(BASE_DIR / "db" / "database.db")) as conn:
conn.row_factory = sqlite3.Row
cursor = conn.cursor()
# 查询要删除的记录
cursor.execute("SELECT * FROM user_info WHERE id = ?", (account_id,))
record = cursor.fetchone()
if not record:
return jsonify({
"code": 404,
"msg": "account not found",
"data": None
}), 404
record = dict(record)
# 删除数据库记录
cursor.execute("DELETE FROM user_info WHERE id = ?", (account_id,))
conn.commit()
return jsonify({
"code": 200,
"msg": "account deleted successfully",
"data": None
}), 200
except Exception as e:
return jsonify({
"code": 500,
"msg": str("delete failed!"),
"data": None
}), 500
# SSE 登录接口
@app.route('/login')
@app.route('/api/login')
def login():
# 1 小红书 2 视频号 3 抖音 4 快手
type = request.args.get('type')
@@ -288,7 +321,6 @@ def login():
return response
@app.route('/postVideo', methods=['POST'])
@app.route('/api/postVideo', methods=['POST'])
def postVideo():
# 获取JSON数据
data = request.get_json()
@@ -312,7 +344,8 @@ def postVideo():
print("Account List:", account_list)
match type:
case 1:
return
post_video_xhs(title, file_list, tags, account_list, category, enableTimer, videos_per_day, daily_times,
start_days)
case 2:
post_video_tencent(title, file_list, tags, account_list, category, enableTimer, videos_per_day, daily_times,
start_days)
@@ -323,17 +356,52 @@ def postVideo():
post_video_ks(title, file_list, tags, account_list, category, enableTimer, videos_per_day, daily_times,
start_days)
# 返回响应给客户端
return (jsonify(
return jsonify(
{
"code": 200,
"msg": None,
"data": None
}), 200
@app.route('/postVideoBatch', methods=['POST']))
@app.route('/updateUserinfo', methods=['POST'])
def updateUserinfo():
# 获取JSON数据
data = request.get_json()
# 从JSON数据中提取 type 和 userName
user_id = data.get('id')
type = data.get('type')
userName = data.get('userName')
try:
# 获取数据库连接
with sqlite3.connect(Path(BASE_DIR / "db" / "database.db")) as conn:
conn.row_factory = sqlite3.Row
cursor = conn.cursor()
# 更新数据库记录
cursor.execute('''
UPDATE user_info
SET type = ?,
userName = ?
WHERE id = ?;
''', (type, userName, user_id))
conn.commit()
return jsonify({
"code": 200,
"msg": "account update successfully",
"data": None
}), 200
except Exception as e:
return jsonify({
"code": 500,
"msg": str("update failed!"),
"data": None
}), 500
@app.route('/postVideoBatch', methods=['POST'])
@app.route('/api/postVideoBatch', methods=['POST'])
def postVideoBatch():
data_list = request.get_json()
@@ -383,7 +451,7 @@ def run_async_function(type,id,status_queue):
case '1':
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
loop.run_until_complete(get_tencent_cookie(id, status_queue))
loop.run_until_complete(xiaohongshu_cookie_gen(id, status_queue))
loop.close()
case '2':
loop = asyncio.new_event_loop()