test01.py 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import requests
  2. import os
  3. from datetime import datetime
  4. # --- 配置区域 ---
  5. # 替换为你的存储服务端实际地址和端口
  6. SERVER_URL = "http://127.0.0.1:7755"
  7. API_ENDPOINT = f"{SERVER_URL}/api/import/process_and_import"
  8. def import_card(
  9. card_name: str,
  10. cardNo: str,
  11. card_type: str,
  12. is_reflect_card: bool,
  13. strict_mode: bool,
  14. paths: dict
  15. ):
  16. """
  17. 请求后端的自动导入接口
  18. """
  19. # 构造请求的 JSON Payload
  20. payload = {
  21. "card_name": card_name,
  22. "cardNo": cardNo,
  23. "card_type": card_type,
  24. "is_reflect_card": is_reflect_card,
  25. "strict_mode": strict_mode,
  26. "path_front_ring": paths.get("front_ring"),
  27. "path_front_coaxial": paths.get("front_coaxial"),
  28. "path_back_ring": paths.get("back_ring"),
  29. "path_back_coaxial": paths.get("back_coaxial"),
  30. "path_front_gray": paths.get("front_gray"),
  31. "path_back_gray": paths.get("back_gray")
  32. }
  33. print(payload)
  34. if __name__ == "__main__":
  35. # --- 测试配置 ---
  36. BASE_PATH = r"C:\Code\ML\Image\Card\img20_test"
  37. IS_REFLECT = True
  38. CARD_TYPE = "pokemon"
  39. # 模拟循环处理 (类似你原来的逻辑)
  40. for img_num in range(2, 3): # 测试 1 到 3
  41. print(f"\n>>>>> 准备处理图片组: {img_num}")
  42. # 构造卡牌信息
  43. timestamp = datetime.now().strftime('%m%d_%H%M%S')
  44. card_name = f"API测试卡_{img_num}_{timestamp}"
  45. cardNo = f"SN-TEST-{img_num:03d}"
  46. # 构造路径字典 (根据你的实际命名规则修改)
  47. # 注意:我在 back_ring 的地方复用了你之前脚本里硬编码的路径作为示例
  48. image_paths = {
  49. "front_coaxial": os.path.join(BASE_PATH, f"{img_num}_front_coaxial.jpg"),
  50. "front_ring": os.path.join(BASE_PATH, f"{img_num}_front_ring.jpg"),
  51. "back_coaxial": os.path.join(BASE_PATH, f"{img_num}_back_coaxial.jpg"),
  52. "back_ring": r"C:\Code\ML\Image\Card\b2.jpg", # 你原脚本中的硬编码测试路径
  53. "front_gray": os.path.join(BASE_PATH, f"{img_num}_front_gray.jpg"),
  54. "back_gray": os.path.join(BASE_PATH, f"{img_num}_back_gray.jpg")
  55. }
  56. # 调用封装的函数发送 HTTP 请求
  57. import_card(
  58. card_name=card_name,
  59. cardNo=cardNo,
  60. card_type=CARD_TYPE,
  61. is_reflect_card=IS_REFLECT,
  62. strict_mode=True, # 严格模式:如果缺主图,服务端会直接拦截报错
  63. paths=image_paths
  64. )