use palc::Parser; use palc::Subcommand; use strum::EnumString; #[derive(Parser)] #[command(about = "SDGB api tool", long_about = env!("CARGO_PKG_DESCRIPTION"))] pub struct Cli { #[command(subcommand)] pub command: Commands, } #[derive(EnumString)] pub enum AuthLiteVariant { SDGB, SDHJ, } #[derive(Subcommand)] pub enum Commands { /// Login with QRCode from wechat QRLogin { /// content of the qrcode, only the last 64 characters were used #[arg(short, long)] qrcode_content: String, }, AuthLite { #[arg(short, long, default_value = "1.50")] title_ver: String, #[arg(long, default_value = "SDGB")] variant: AuthLiteVariant, }, Ping, Preview { #[arg(short, long)] user_id: u32, }, Userdata { #[arg(short, long)] user_id: u32, }, ListAllUser, Logout { #[arg(short, long)] user_id: u32, }, }