| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- # -*- coding: utf-8 -*-
- """抓取登录链路相关接口的线上黄金样本"""
- import re, json, requests
- from pathlib import Path
- from _root import ROOT
- GOLDEN = Path(str(ROOT / "golden"))
- GOLDEN.mkdir(exist_ok=True)
- src = Path(r"F:\import goods\upload_goods.py").read_text(encoding="utf-8")
- token = re.search(r'TOKEN\s*=\s*"([^"]+)"', src).group(1)
- BASE = "https://shop.qinys.cn/index.php?s=/store"
- H = {"Access-Token": token}
- def get(path, params=None, name=None):
- r = requests.get(BASE + path, headers=H, params=params or {}, timeout=30)
- try:
- d = r.json()
- except Exception:
- print(name, "非 JSON:", r.text[:200]); return None
- if name:
- (GOLDEN / name).write_text(json.dumps(d, ensure_ascii=False, indent=2), encoding="utf-8")
- print(f"--- {path} status={d.get('status')} msg={d.get('message')}")
- return d
- d = get("/store.user/info", name="store_user_info.json")
- if d and d.get("status") == 200:
- data = d["data"]
- print("顶层键:", list(data.keys()))
- ui = data.get("userInfo") or {}
- print("userInfo 键:", sorted(ui.keys()))
- roles = data.get("roles") or {}
- print("roles 键:", sorted(roles.keys()))
- perms = roles.get("permissions") or []
- print("permissions 条数:", len(perms))
- if perms:
- print("permissions[0]:", json.dumps(perms[0], ensure_ascii=False)[:400])
- d2 = get("/store.menu/list", name="store_menu_list.json")
- if d2 and d2.get("status") == 200:
- data = d2["data"]
- print("menu data 类型:", type(data).__name__, "键:", list(data.keys()) if isinstance(data, dict) else len(data))
- lst = data.get("list") if isinstance(data, dict) else data
- if isinstance(lst, list) and lst:
- print("菜单条数:", len(lst))
- print("菜单[0]:", json.dumps(lst[0], ensure_ascii=False)[:400])
|