using EFCore7Study.DataService; using Spectre.Console; namespace EFCore7Study.CoreConsoleApp { internal class Program { static void Main(string[] args) { AnsiConsole.Status() .Spinner(Spinner.Known.BouncingBar) .Start("测试一个", ctx => { ctx.Spinner(Spinner.Known.BouncingBar); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Aesthetic)); ctx.Spinner(Spinner.Known.Arc); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Arc)); ctx.Spinner(Spinner.Known.Arrow); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Arrow)); ctx.Spinner(Spinner.Known.Arrow2); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Arrow2)); ctx.Spinner(Spinner.Known.Arrow3); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Arrow3)); ctx.Spinner(Spinner.Known.Balloon); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Balloon)); ctx.Spinner(Spinner.Known.Balloon2); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Balloon2)); ctx.Spinner(Spinner.Known.BetaWave); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.BetaWave)); ctx.Spinner(Spinner.Known.Bounce); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Bounce)); ctx.Spinner(Spinner.Known.BouncingBall); Thread.Sleep(3000); AnsiConsole.MarkupLine(nameof(Spinner.Known.BouncingBall)); ctx.Spinner(Spinner.Known.BouncingBar); Thread.Sleep(3000); AnsiConsole.MarkupLine(nameof(Spinner.Known.BouncingBar)); ctx.Spinner(Spinner.Known.BoxBounce); Thread.Sleep(3000); AnsiConsole.MarkupLine(nameof(Spinner.Known.BoxBounce)); ctx.Spinner(Spinner.Known.BoxBounce2); Thread.Sleep(3000); AnsiConsole.MarkupLine(nameof(Spinner.Known.BoxBounce2)); ctx.Spinner(Spinner.Known.Dots8Bit); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Dots8Bit)); ctx.Spinner(Spinner.Known.Christmas); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Christmas)); ctx.Spinner(Spinner.Known.Circle); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Circle)); ctx.Spinner(Spinner.Known.CircleHalves); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.CircleHalves)); ctx.Spinner(Spinner.Known.CircleQuarters); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.CircleQuarters)); ctx.Spinner(Spinner.Known.Clock); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Clock)); ctx.Spinner(Spinner.Known.Default); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Default)); ctx.Spinner(Spinner.Known.Dots); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Dots)); ctx.Spinner(Spinner.Known.Dots2); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Dots2)); ctx.Spinner(Spinner.Known.Dots8Bit); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Dots8Bit)); //======================================================== ctx.Spinner(Spinner.Known.Dqpb); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Dqpb)); ctx.Spinner(Spinner.Known.Earth); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Earth)); ctx.Spinner(Spinner.Known.Flip); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Flip)); ctx.Spinner(Spinner.Known.Grenade); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Grenade)); ctx.Spinner(Spinner.Known.GrowHorizontal); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.GrowHorizontal)); ctx.Spinner(Spinner.Known.GrowVertical); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.GrowVertical)); ctx.Spinner(Spinner.Known.Hamburger); AnsiConsole.MarkupLine(nameof(Spinner.Known.Hamburger)); Thread.Sleep(2000); ctx.Spinner(Spinner.Known.Hearts); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Hearts)); ctx.Spinner(Spinner.Known.Layer); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Layer)); ctx.Spinner(Spinner.Known.Line); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Line)); ctx.Spinner(Spinner.Known.Line2); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Line2)); ctx.Spinner(Spinner.Known.Material); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Material)); ctx.Spinner(Spinner.Known.Monkey); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Monkey)); ctx.Spinner(Spinner.Known.Moon); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Moon)); ctx.Spinner(Spinner.Known.Noise); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Noise)); ctx.Spinner(Spinner.Known.Pipe); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Pipe)); ctx.Spinner(Spinner.Known.Point); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Dots8Bit)); ctx.Spinner(Spinner.Known.Pong); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Pong)); ctx.Spinner(Spinner.Known.Runner); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Runner)); ctx.Spinner(Spinner.Known.Shark); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Shark)); ctx.Spinner(Spinner.Known.SimpleDots); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.SimpleDots)); ctx.Spinner(Spinner.Known.SimpleDotsScrolling); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.SimpleDotsScrolling)); ctx.Spinner(Spinner.Known.Smiley); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Smiley)); ctx.Spinner(Spinner.Known.SquareCorners); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.SquareCorners)); ctx.Spinner(Spinner.Known.Squish); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Squish)); ctx.Spinner(Spinner.Known.Star); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Star)); ctx.Spinner(Spinner.Known.Star2); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Star2)); ctx.Spinner(Spinner.Known.Toggle); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Toggle)); ctx.Spinner(Spinner.Known.Toggle2); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Toggle2)); ctx.Spinner(Spinner.Known.Triangle); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Triangle)); ctx.Spinner(Spinner.Known.Weather); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Weather)); ctx.Spinner(Spinner.Known.Weather); Thread.Sleep(2000); AnsiConsole.MarkupLine(nameof(Spinner.Known.Weather)); }); AnsiConsole.Status() .Spinner(Spinner.Known.Balloon) .Start("准备查询数据库...", ctx => { Thread.Sleep(2000); // 生成查询对象 ctx.Status("生成查询对象..."); AppDbContext dbContext = new AppDbContext(); Thread.Sleep(2000); AnsiConsole.MarkupLine("生成查询对象: DbContext, 完成!"); // 连接数据库 ctx.Status("正在连接到数据库服务器..."); ctx.Spinner(Spinner.Known.Balloon); ctx.SpinnerStyle(Style.Parse("green")); Thread.Sleep(2000); AnsiConsole.MarkupLine("已连接到数据库服务器!"); // 查询数据 ctx.Status("正在查询数据..."); ctx.Spinner(Spinner.Known.Star2); ctx.SpinnerStyle(Style.Parse("yellow")); Thread.Sleep(3000); AnsiConsole.MarkupLine("完成查询!"); //输出查询结果 ctx.Status("输出查询结果..."); ctx.Spinner(Spinner.Known.Arrow); ctx.SpinnerStyle(Style.Parse("red")); dbContext.Accounts.ToList().ForEach(x => { AnsiConsole.MarkupLine($"标识:{x.Id},编号:{x.Code}, 姓名:{x.Name.PadRight(10)},年龄:{x.Age}, 密码:{x.Pwd}"); Thread.Sleep(300); }); AnsiConsole.MarkupLine("任务完成!"); }); } } }