Files
fws_code/tyyp_app/cli.py
ddrwode ee32d27b7f haha
2026-02-27 17:05:29 +08:00

50 lines
1.7 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from __future__ import annotations
import argparse
from DrissionPage import ChromiumOptions, ChromiumPage
from tyyp_app.api import app
from tyyp_app.automation import input_code, submit_phone
from tyyp_app.config import DEFAULT_PHONE, DEFAULT_TARGET_URL
def build_parser() -> argparse.ArgumentParser:
parser = argparse.ArgumentParser(description="天翼云盘订购页自动化")
parser.add_argument("--api", action="store_true", help="以 FastAPI 服务模式启动")
parser.add_argument("--host", default="0.0.0.0", help="API 监听地址(--api 模式)")
parser.add_argument("--api-port", type=int, default=8000, help="API 监听端口(--api 模式)")
parser.add_argument("--phone", default=DEFAULT_PHONE, help="手机号码(默认用代码中的 DEFAULT_PHONE")
parser.add_argument("--url", default=DEFAULT_TARGET_URL, help="目标页面 URL")
parser.add_argument("--port", type=int, default=0, help="连接已有浏览器端口0 表示新建")
return parser
def run_once(phone: str, url: str, port: int = 0) -> None:
if port:
co = ChromiumOptions().set_local_port(port=port)
page = ChromiumPage(addr_or_opts=co)
else:
page = ChromiumPage()
print(f"打开页面: {url},手机号: {phone}")
body = submit_phone(page=page, phone=phone, url=url)
print("hn_userEquitys/getYanZhenMa/v2 响应:")
print(body)
input_code(page=page, code=123123)
def main() -> None:
args = build_parser().parse_args()
if args.api:
import uvicorn
uvicorn.run(app, host=args.host, port=args.api_port)
return
run_once(phone=args.phone, url=args.url, port=args.port)