From be272173570eb78a2479c7708386e8c528275789 Mon Sep 17 00:00:00 2001 From: liujianjiang Date: Mon, 14 Jul 2025 15:30:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BB=BB=E5=8A=A1=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E7=8A=B6=E6=80=81=E8=AE=B0=E5=BD=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/app.py b/app.py index 91473f8..453ef1e 100644 --- a/app.py +++ b/app.py @@ -65,7 +65,7 @@ def add_h5_user(): success = False while not success and retry_count < max_retries: try: - account_id = uuid.uuid4().hex + account_id = uuid.uuid4().int sql_str = """INSERT INTO account_h5_info (account_id, keep_rate, task_total, account_name, countries, link_url) @@ -130,9 +130,9 @@ def download_file(): @app.route('/upload_browser_info', methods=['POST']) def upload_browser_info(): + params = json.loads(request.data) + visitor_id = params["fingerprint"]['visitorId'] try: - params = json.loads(request.data) - visitor_id = params["fingerprint"]['visitorId'] app.logger.info("接口:upload_browser_info 被调用,传入参数为:{}".format(str(visitor_id))) # 对数据进行保存 sql_str = "insert into task_h5_browser_info(visitor_id,browser_info) values(%s,%s)" @@ -140,6 +140,8 @@ def upload_browser_info(): return jsonify({'status': 'ok'}) except Exception as e: if "PRIMARY" in str(e): + sql_str = "UPDATE task_h5_browser_info SET browser_info = %s,update_time=%s WHERE visitor_id = %s " + db.execute_update(sql_str, (json.dumps(params), datetime.now(), visitor_id)) return jsonify({'status': 'ok'}) app.logger.info("浏览器信息保存失败,失败原因:{}".format(str(e))) return jsonify({'status': 'error', 'msg': str(e)}) @@ -166,12 +168,25 @@ def get_account_id(): return jsonify({'status': "error", "message": ""}) +@app.route('/upload_task_status', methods=['GET']) +def upload_task_status(): + try: + sql_str = "UPDATE task_execute_status SET task_status = %s, WHERE account_id = %s and task_id=%s" + db.execute_update(sql_str, (request.args.get("task_status"), request.args.get('account_id'), request.args.get('task_id'))) + return jsonify({'status': 'ok'}) + except Exception as e: + app.logger.info("{}".format(str(e))) + return jsonify({'status': "error", "message": str(e)}) + + @app.route('/h5_issue_task', methods=['GET']) def issue_task(): account_id = request.args.get('accountId') - sql_str = "select account_id,keep_rate,task_total,account_name,is_active from account_h5_info where account_id=%s" + sql_str = "select account_id,keep_rate,task_total,account_name,is_active,countries,link_url from account_h5_info where account_id=%s and is_active=1" result = db.execute_query(sql_str, (account_id,)) if result: + countries = result[0][-2] + link_url = result[0][-1] task_total = int(result[0][2]) app.logger.info("账户:{}需要执行新增任务总数为:{}".format(account_id, task_total)) now_date = datetime.now().strftime("%Y-%m-%d") @@ -198,7 +213,12 @@ def issue_task(): sql_str = "select browser_info from task_h5_browser_info ORDER BY RAND() LIMIT 1" result = db.execute_query(sql_str) if result: - return jsonify(json.loads(result[0][0])) + task_id = uuid.uuid4().hex + # 将任务,记录到对应表中 + sql_str = "insert into task_execute_status(account_id,task_id,task_status) values(%s,%s)" + db.execute_single(sql_str, (account_id, task_id)) + return jsonify({"link_url": link_url, "task_id": task_id, + "countries": countries, "file_name": f"{account_id}/main.js", "browser_info": json.loads(result[0][0])}) else: app.logger.info("未获取到账户:{} 相关配置信息".format(account_id)) return jsonify({'status': 'error', 'msg': '传入账号错误'}) @@ -224,19 +244,10 @@ def upload_file(): return jsonify({'message': 'File uploaded successfully', 'path': file_path}) - - - @app.route('/', methods=['get']) def test_post(): return jsonify({"key": "value"}) - - - - - - if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)