use clap::{Parser, Subcommand, ValueEnum}; #[derive(Parser)] #[command(name = "app", version)] pub struct Cli { #[command(subcommand)] pub command: Option, } #[derive(Subcommand)] pub enum Command { Serve, Mail, Migrate, Openapi { #[arg(long)] check: bool, }, /// 事件系统:RocketMQ 消费 + socket.io 通道 + 内部 RPC Event { #[arg(long, value_enum, default_value_t = EventMode::Single)] mode: EventMode, }, } /// 事件系统的运行角色;拆分布署时用 `consumer` / `actor` 单独启动。 #[derive(Debug, Clone, Copy, PartialEq, Eq, ValueEnum)] pub enum EventMode { Single, Consumer, Actor, }