Пример #1
0
 public MainForm(WeChatInterface weChatApi) : this()
 {
     this.weChatApi = weChatApi;
 }
Пример #2
0
        static int Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("Please enter valid argument.");
                return(1);
            }

            string backupPath = ParseArg(args, "--backup");
            string output     = ParseArg(args, "--output");;

            if (backupPath == null || output == null)
            {
                Console.WriteLine("Please enter valid argument.");
                Console.WriteLine("Argument: --backup [iPhone backup path] --output [output path]");
                return(1);
            }

            var backup = WeChatInterface.LoadManifest(backupPath);

            if (backup == null)
            {
                Console.WriteLine("未找到iTunes备份相关的文件。");
                return(1);
            }

            List <MBFileRecord> files92 = null;

            try
            {
                if (File.Exists(Path.Combine(backupPath, "Manifest.mbdb")))
                {
                    files92 = mbdbdump.mbdb.ReadMBDB(backupPath, "com.tencent.xin");
                }
                else if (File.Exists(Path.Combine(backupPath, "Manifest.db")))
                {
                    files92 = V10db.ReadMBDB(Path.Combine(backupPath, "Manifest.db"), "com.tencent.xin");
                }
            }
            catch (InvalidOperationException ex)
            {
                files92 = null;
                Console.Write(ex.InnerException.ToString());
            }
            catch (Exception ex)
            {
                files92 = null;
                Console.Write(ex.Message + "\n" + ex.StackTrace);
            }

            if (files92 == null || files92.Count <= 0)
            {
                Console.WriteLine("未找到iTunes备份相关的文件。");
                return(1);
            }

            var saveBase = output;

            WeChatInterface.ILogger logger = new Logger();
            bool   toHtml    = true;
            string indexPath = Path.Combine(saveBase, "index.html");

            WeChatInterface.Export(backup.path, saveBase, indexPath, toHtml, files92, logger);


            Console.WriteLine("处理完成");
            return(0);
        }