backend update 260127

This commit is contained in:
lusixing
2026-01-27 20:01:29 -08:00
parent e3fa788318
commit 4b5b6fb976
5 changed files with 131 additions and 26 deletions

View File

@@ -6,11 +6,12 @@ import ast
BASE_URL = "http://localhost:8000"
def register_user(username, password):
def register_user(username, email, password):
url = f"{BASE_URL}/register"
data = {
"username": username,
"password": password
"password": password,
"email": email,
}
response = requests.post(url, json=data)
if response.status_code == 200:
@@ -21,7 +22,7 @@ def register_user(username, password):
return None
def login_user(username, password):
url = f"{BASE_URL}/token"
url = f"{BASE_URL}/login"
data = {
"username": username,
"password": password
@@ -35,7 +36,7 @@ def login_user(username, password):
return None
def create_asset(token, title, private_key_shard, content_inner_encrypted):
url = f"{BASE_URL}/assets/"
url = f"{BASE_URL}/assets/create"
headers = {"Authorization": f"Bearer {token}"}
data = {
"title": title,
@@ -92,16 +93,28 @@ def claim_asset(token, asset_id, private_key_shard):
print(f"Failed to claim asset: {response.text}")
return None
def get_my_assets(token):
url = f"{BASE_URL}/assets/get"
headers = {"Authorization": f"Bearer {token}"}
response = requests.get(url, headers=headers)
if response.status_code == 200:
print(f"Assets retrieved successfully.")
return response.json()
else:
print(f"Failed to retrieve assets: {response.text}")
return None
def main():
# 1. 创建三个用户
users = [
("user1", "pass123"),
("user2", "pass123"),
("user3", "pass123")
("user1", "pass123", "user1@example.com"),
("user2", "pass123", "user2@example.com"),
("user3", "pass123", "user3@example.com")
]
for username, password in users:
register_user(username, password)
for username, password, email in users:
register_user(username, email, password)
# 1.1 用户一信息生成
key_engine = SentinelKeyEngine()
@@ -131,22 +144,36 @@ def main():
return
# 3. 创建一个 asset
asset = create_asset(
asset1 = create_asset(
token1,
"My Secret Asset",
"My Secret Asset1",
share_a,
ciphertext_1
)
if not asset:
asset2 = create_asset(
token1,
"My Secret Asset2",
share_a,
ciphertext_1
)
if not asset1 or not asset2:
print(" [失败] 创建资产失败")
return
asset_id = asset["id"]
print(f" [输出] Asset ID: {asset_id}")
# 3.1 测试 /assets/get
print("\n [测试] 获取用户资产列表")
my_assets = get_my_assets(token1)
if my_assets:
print(f" [输出] 成功获取 {len(my_assets)} 个资产")
else:
print(" [失败] 无法获取资产列表")
# 4. 指定用户 2 为继承人
print("用户 1 指定用户 2 为继承人")
assign_heir(token1, asset_id, "user2")
assign_heir(token1, asset1["id"], "user2")
print("\n## 3. 继承流 (Inheritance Layer)")
# 5. Admin 宣布用户 1 挂了
@@ -166,7 +193,7 @@ def main():
# 7. 用户 2 申领资产,并带上自己的分片 (share_c)
print("用户 2 申领资产,并带上自己的分片 (share_c)")
claim_res = claim_asset(token2, asset_id, json.dumps(share_c))
claim_res = claim_asset(token2, asset1["id"], json.dumps(share_c))
if not claim_res:
return