private static void ProcessNormalMode(Argument arg, WeixinXml xml) { WeMenu menu; WeixinResult result; switch (arg.Action) { case MenuAction.Create: WeixinMenuXml menuXml = WeUtil.LoadMenu(xml.Weixin.Normal.Menu); if (menuXml == null) { Console.WriteLine("没有配置菜单,不创建"); break; } menu = menuXml.CreateMenu(); if (arg.PrintMenu) { Console.WriteLine(menu.ToJson()); } else { result = menu.CreateMenu(); WriteResult(result, "菜单创建成功"); } break; case MenuAction.Query: menu = WeMenu.QueryMenu(); WriteResult(menu, menu.ToJson()); break; case MenuAction.Delete: result = WeMenu.DeleteMenu(); WriteResult(result, "菜单删除成功"); break; } }
static void Main(string[] args) { Argument arg = new Argument(args); ToolApp.Initialize(false); Process(arg); //Console.ReadKey(); }
static void Main(string[] args) { // 注意命令行参数,尤其是地址中不能出现空格 Argument arg = new Argument(args); ToolApp.Initialize(false); Process(arg); Console.ReadKey(); }
private static WeixinXml InitializeContext(Argument arg) { WeixinXml xml = WeUtil.GetWeixinXml(arg.WeixinXml); new WeixinSettings(xml); ApplicationXml appXml = new ApplicationXml(); appXml.ReadXmlFromFile(arg.ApplicationXml); if (appXml.Hosts != null) foreach (var item in appXml.Hosts) ToolApp.AddHost(item.Key, item.Value); return xml; }
private static void ProcessCorpMode(Argument arg, WeixinXml xml) { WeMenu menu; WeixinResult result; switch (arg.Action) { case MenuAction.Create: foreach (var item in xml.Weixin.CorpApps) { WeixinMenuXml menuXml = WeUtil.LoadMenu(item.Menu); menu = menuXml.CreateMenu(); Console.WriteLine(GetAppName(item)); if (arg.PrintMenu) { Console.WriteLine(menu.ToJson()); } else { result = menu.CreateCorpMenu(item.AppId); WriteResult(result, "菜单创建成功"); } } break; case MenuAction.Query: foreach (var item in xml.Weixin.CorpApps) { Console.WriteLine(GetAppName(item)); menu = WeMenu.QueryCorpMenu(item.AppId); WriteResult(menu, menu.ToJson()); } break; case MenuAction.Delete: foreach (var item in xml.Weixin.CorpApps) { Console.WriteLine(GetAppName(item)); result = WeMenu.DeleteCorpMenu(item.AppId); WriteResult(result, "菜单删除成功"); } break; } }
private static void Process(Argument arg) { if (arg.Help) { Console.WriteLine(DataString.Usage); return; } if (!CheckFile(arg.WeixinXml)) return; if (!CheckFile(arg.ApplicationXml)) return; WeixinXml xml = InitializeContext(arg); //new WeixinSettings(xml); if (WeixinSettings.Current.Mode == WeixinMode.Normal) ProcessNormalMode(arg, xml); else ProcessCorpMode(arg, xml); }
private static void ProcessCorpMode(Argument arg, WeixinXml xml) { if (string.IsNullOrEmpty(arg.Appid)) { switch (arg.Action) { case MenuAction.Create: foreach (var item in xml.Weixin.CorpApps) { CreateMenu(arg, item); } break; case MenuAction.Query: foreach (var item in xml.Weixin.CorpApps) { QueryMenu(item); } break; case MenuAction.Delete: foreach (var item in xml.Weixin.CorpApps) { DeleteMenu(item); } break; } } else { var item = xml.Weixin.CorpApps[arg.Appid]; if (item != null) switch (arg.Action) { case MenuAction.Create: CreateMenu(arg, item); break; case MenuAction.Query: QueryMenu(item); break; case MenuAction.Delete: DeleteMenu(item); break; } else Console.WriteLine(DataString.Invalid, "Appid"); } }
private static void CreateMenu(Argument arg, WeixinCorpConfig item) { WeixinMenuXml menuXml = WeUtil.LoadMenu(item.Menu); if (menuXml != null) { WeMenu menu = menuXml.CreateMenu(); Console.WriteLine(GetAppName(item)); if (arg.PrintMenu) { Console.WriteLine(menu.ToJson()); } else { var result = menu.CreateCorpMenu(item.AppId); WriteResult(result, "菜单创建成功"); } } }
private static void Process(Argument arg) { if (arg.Help) { Console.WriteLine(DataString.Usage); return; } string weixinConfig = arg.WeixinXml; if (!File.Exists(weixinConfig)) { Console.WriteLine(string.Format(ObjectUtil.SysCulture, DataString.NoFile, weixinConfig)); return; } foreach (var item in arg.Hosts) ToolApp.AddHost(item.Item1, item.Item2); WeixinXml xml = WeUtil.GetWeixinXml(weixinConfig); new WeixinSettings(xml); if (WeixinSettings.Current.Mode == WeixinMode.Normal) ProcessNormalMode(arg, xml); else ProcessCorpMode(arg, xml); }