import requests import os from datetime import datetime # --- 配置区域 --- # 替换为你的存储服务端实际地址和端口 SERVER_URL = "http://127.0.0.1:7755" API_ENDPOINT = f"{SERVER_URL}/api/import/process_and_import" def import_card( card_name: str, cardNo: str, card_type: str, is_reflect_card: bool, strict_mode: bool, paths: dict ): """ 请求后端的自动导入接口 """ # 构造请求的 JSON Payload payload = { "card_name": card_name, "cardNo": cardNo, "card_type": card_type, "is_reflect_card": is_reflect_card, "strict_mode": strict_mode, "path_front_ring": paths.get("front_ring"), "path_front_coaxial": paths.get("front_coaxial"), "path_back_ring": paths.get("back_ring"), "path_back_coaxial": paths.get("back_coaxial"), "path_front_gray": paths.get("front_gray"), "path_back_gray": paths.get("back_gray") } print(payload) if __name__ == "__main__": # --- 测试配置 --- BASE_PATH = r"C:\Code\ML\Image\Card\img20_test" IS_REFLECT = True CARD_TYPE = "pokemon" # 模拟循环处理 (类似你原来的逻辑) for img_num in range(2, 3): # 测试 1 到 3 print(f"\n>>>>> 准备处理图片组: {img_num}") # 构造卡牌信息 timestamp = datetime.now().strftime('%m%d_%H%M%S') card_name = f"API测试卡_{img_num}_{timestamp}" cardNo = f"SN-TEST-{img_num:03d}" # 构造路径字典 (根据你的实际命名规则修改) # 注意:我在 back_ring 的地方复用了你之前脚本里硬编码的路径作为示例 image_paths = { "front_coaxial": os.path.join(BASE_PATH, f"{img_num}_front_coaxial.jpg"), "front_ring": os.path.join(BASE_PATH, f"{img_num}_front_ring.jpg"), "back_coaxial": os.path.join(BASE_PATH, f"{img_num}_back_coaxial.jpg"), "back_ring": r"C:\Code\ML\Image\Card\b2.jpg", # 你原脚本中的硬编码测试路径 "front_gray": os.path.join(BASE_PATH, f"{img_num}_front_gray.jpg"), "back_gray": os.path.join(BASE_PATH, f"{img_num}_back_gray.jpg") } # 调用封装的函数发送 HTTP 请求 import_card( card_name=card_name, cardNo=cardNo, card_type=CARD_TYPE, is_reflect_card=IS_REFLECT, strict_mode=True, # 严格模式:如果缺主图,服务端会直接拦截报错 paths=image_paths )