文件预览

cmd.py

查看 1688 Shop Operate 技能包中的文件内容。

文件内容

scripts/capabilities/get_customer_profile/cmd.py

#!/usr/bin/env python3
"""客户画像数据查询 CLI 入口"""

import os
import sys
import argparse

sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(__file__), '..', '..')))

from _auth import get_ak_from_env
from _output import make_output, print_output, print_error

from capabilities.get_customer_profile.service import get_customer_profile

COMMAND_NAME = "get_customer_profile"
COMMAND_DESC = "获取客户画像数据"

def main():
    ak_id, _ = get_ak_from_env()
    if not ak_id:
        print_output(make_output(
            success=False,
            markdown="❌ AK 未配置,无法查询客户画像。\n\n运行: `cli.py configure YOUR_AK`",
            data={"data": {}},
        ))
        return

    parser = argparse.ArgumentParser(description="客户画像数据查询")
    parser.add_argument("--date_type", "-d", default="RECENT_7",
                        choices=["RECENT_1", "RECENT_7", "RECENT_30"],
                        help="日期类型: RECENT_1(近1天) / RECENT_7(近7天,默认) / RECENT_30(近30天)")
    parser.add_argument("--device", "-v", default="ALL",
                        choices=["ALL", "PC", "WIRELESS"],
                        help="设备类型: ALL(全部,默认) / PC / WIRELESS(无线)")
    args = parser.parse_args()

    try:
        result = get_customer_profile(args.date_type, args.device)
        print_output(make_output(
            success=True,
            markdown="客户画像查询成功",
            data={"data": result},
        ))
    except Exception as e:
        print_error(e, {"data": {}})

if __name__ == "__main__":
    main()