支持修改已添加的主播以及自定义打招呼信息

This commit is contained in:
zw
2025-09-05 16:32:27 +08:00
parent f9fff55553
commit ad5d487f25
5 changed files with 87 additions and 145 deletions

View File

@@ -2,13 +2,12 @@ import json
import os
import socket
import threading
import warnings
from queue import Queue
from typing import Any, Dict
from Entity.AnchorModel import AnchorModel
from Utils.AiUtils import AiUtils
from Utils.LogManager import LogManager
from Utils.Requester import Requester
import tidevice
import wda
from flask import Flask, request
@@ -17,9 +16,8 @@ from Entity.ResultData import ResultData
from Utils.ControlUtils import ControlUtils
from Utils.ThreadManager import ThreadManager
from script.ScriptManager import ScriptManager
from Entity.Variables import anchorList, addModelToAnchorList
import Entity.Variables
from Entity.Variables import anchorList, addModelToAnchorList, prologueList, removeModelFromAnchorList
import Entity.Variables as ev
app = Flask(__name__)
CORS(app)
@@ -82,17 +80,17 @@ def start_socket_listener():
listener_thread = threading.Thread(target=start_socket_listener, daemon=True)
listener_thread.start()
@app.route('/passToken', methods=['POST'])
def passToken():
try:
data = request.get_json()
token = data['token']
Requester.requestPrologue(token)
return ResultData(data="").toJson()
except Exception as e:
print(e)
return ResultData(data="").toJson()
# 传递token暂时用不到了
# @app.route('/passToken', methods=['POST'])
# def passToken():
# try:
# data = request.get_json()
# token = data['token']
# Requester.requestPrologue(token)
# return ResultData(data="").toJson()
# except Exception as e:
# print(e)
# return ResultData(data="").toJson()
# 获取设备列表
@@ -246,6 +244,11 @@ def passAnchorData():
acList = data.get("anchorList", [])
# 是否需要回复
needReply = data.get("needReply", True)
# 获取打招呼数据
ev.prologueList = data.get("prologueList", [])
# 添加主播数据
addModelToAnchorList(acList)
# 启动线程,执行脚本
@@ -253,13 +256,17 @@ def passAnchorData():
manager = ScriptManager()
event = threading.Event()
# 启动脚本
# thread = threading.Thread(target=manager.greetNewFollowers, args=(udid, needReply, event))
thread = threading.Thread(target=manager.safe_greetNewFollowers, args=(udid, needReply, event))
thread.start()
# 添加到线程管理
ThreadManager.add(udid, thread, event)
return ResultData(data="").toJson()
# 获取私信数据
@app.route("/getPrologueList", methods=['GET'])
def getPrologueList():
print(ev.prologueList)
return ResultData(data=ev.prologueList).toJson()
# 添加临时数据
@app.route("/addTempAnchorData", methods=['POST'])
@@ -323,6 +330,23 @@ def upLoadLogLogs():
else:
return ResultData(data="", msg="日志上传失败").toJson()
# 获取当前的主播列表数据
@app.route("/anchorList", methods=['POST'])
def queryAnchorList():
data = []
for model in anchorList:
data.append(AnchorModel.modelToDict(model))
return ResultData(data=data).toJson()
# 删除主播
@app.route("/deleteAnchorWithIds", methods=['POST'])
def deleteAnchorWithIds():
ls: list[dict] = request.get_json()
for dic in ls:
for model in anchorList:
if dic.get("anchorId") == model.anchorId:
removeModelFromAnchorList(model)
return ResultData(data="").toJson()
if __name__ == '__main__':
app.run("0.0.0.0", port=5000, debug=True, use_reloader=False)