diff options
| author | handingkang <[email protected]> | 2024-04-18 22:12:29 +0800 |
|---|---|---|
| committer | handingkang <[email protected]> | 2024-04-18 22:12:29 +0800 |
| commit | 682b274f8815ab431d8117be261eae43a223b704 (patch) | |
| tree | a23b98e306a6b8c5db6e91913ac78dd687dc5ed4 /server | |
| parent | b5b29877caf54ad5f2be76d5eb18286020ee5d60 (diff) | |
代理接口问题修复
Diffstat (limited to 'server')
| -rw-r--r-- | server/apps/agentcomm.py | 26 | ||||
| -rw-r--r-- | server/apps/util.py | 4 |
2 files changed, 22 insertions, 8 deletions
diff --git a/server/apps/agentcomm.py b/server/apps/agentcomm.py index 48d0fdd..4a224ac 100644 --- a/server/apps/agentcomm.py +++ b/server/apps/agentcomm.py @@ -2,7 +2,7 @@ import random from apiflask import APIBlueprint, Schema -from apiflask.fields import String, Integer, List, Nested, Boolean, DateTime +from apiflask.fields import String, Integer, List, Nested, Boolean, DateTime, Float from apiflask.validators import OneOf from flask import request @@ -53,10 +53,23 @@ class agent(Schema): # 代理注册接口 @bp.post("/register") [email protected]("代理注册接口", "返回分配给代理的编号值", hide=True) [email protected]("代理注册接口", "返回分配给代理的编号值,用于代理和主控端通信注册,前端界面无需调用") + "atype": String(), + 'v6addr': List(String()), + 'lat': String(), + 'lng': String(), + 'cpu_num': Integer(), + 'ram_size': Integer(), + 'ram_per': Float(), + 'sys': String(), + "port": Integer() +}, example={'atype': "gjst", 'v6addr': ["2001::1"], 'lat': "-1.111", 'lng': "1.1111", 'cpu_num': 4, + 'ram_size': 16, 'ram_per': 0.55, + 'sys': "linux", "port": 2525}) # 参数说明 # 代理类型 -# "type": String(required=True, validate=OneOf(["stgj", "mbgz", "ztgz"])), +# "type": String(required=True, validate=OneOf(["gjst", "mbgz", "ztgz"])), # 代理的通信端口 # "port": Integer(required=True), # # 代理所在的操作系统 @@ -73,8 +86,8 @@ class agent(Schema): # "ram_size": Integer(), # # 已用内存比例 # "ram_per": Float() -def register_agent(): - data = dict(request.json) +def register_agent(json_data): + data = dict(json_data) id = "".join(random.sample('1234567890zyxwvutsrqponmlkjihgfedcba', 8)) # 代理所有参数 param = {"id": id, @@ -83,7 +96,8 @@ def register_agent(): "lat": data["lat"], "lng": data["lng"], "cpunum": data["cpu_num"], - "mem": str(data["ram_size"]) + "GB" + "(" + str(1 - data["ram_per"]) + "%" + "可用)", + "mem": str(data["ram_size"]) + "GB" + "(" + str( + '{:.2f}'.format(100 * (1 - float(data["ram_per"])))) + "%" + "可用)", "sys": data["sys"], "status": True, "idle": True, diff --git a/server/apps/util.py b/server/apps/util.py index 39986cb..96711ec 100644 --- a/server/apps/util.py +++ b/server/apps/util.py @@ -179,7 +179,7 @@ class DataHandler: # 完全一致 if len(differ) == 0: if not count: - sql = """SELECT * FROM %s LIMIT %s, %s""" % (tabname, offset, limit) + sql = """SELECT * FROM %s LIMIT %s, %s""" % (tabname, offset, offset + limit) self.cursor.execute(sql) return self.cursor.fetchall() else: @@ -199,7 +199,7 @@ class DataHandler: condition[tab_key] = str(val) if not count: sql = """SELECT * FROM %s WHERE %s LIMIT %s, %s""" % ( - tabname, " AND ".join(["=".join(condition.popitem()) for _ in range(l)]), offset, limit) + tabname, " AND ".join(["=".join(condition.popitem()) for _ in range(l)]), offset, offset + limit) print(sql) self.cursor.execute(sql) return self.cursor.fetchall() |
