Esempio n. 1
0
 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;
     }
 }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Argument arg = new Argument(args);

            ToolApp.Initialize(false);

            Process(arg);
            //Console.ReadKey();
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            // 注意命令行参数,尤其是地址中不能出现空格
            Argument arg = new Argument(args);
            ToolApp.Initialize(false);

            Process(arg);
            Console.ReadKey();
        }
Esempio n. 4
0
 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;
 }
Esempio n. 5
0
        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;
            }
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
 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");
     }
 }
Esempio n. 8
0
        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, "菜单创建成功");
                }
            }
        }
Esempio n. 9
0
        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);
        }