Просмотр исходного кода

修改demo方式

修改demo方式
changtuiqie 7 лет назад
Родитель
Сommit
0c5634f352
100 измененных файлов с 4 добавлено и 9110 удалено
  1. 0 10
      IPADDemo/App.config
  2. 0 16
      IPADDemo/AppData/App.cs
  3. 0 2232
      IPADDemo/FormDemo.Designer.cs
  4. 0 470
      IPADDemo/FormDemo.cs
  5. 0 290
      IPADDemo/FormDemo.resx
  6. 0 214
      IPADDemo/IPADDemo.csproj
  7. 0 13
      IPADDemo/IPADDemo.csproj.user
  8. 0 30
      IPADDemo/Model/AgreeDuty.cs
  9. 0 15
      IPADDemo/Model/AtomicFunc.cs
  10. 0 30
      IPADDemo/Model/BackWxMsg.cs
  11. 0 15
      IPADDemo/Model/BankerConfig.cs
  12. 0 16
      IPADDemo/Model/CS.cs
  13. 0 23
      IPADDemo/Model/ChMsg.cs
  14. 0 108
      IPADDemo/Model/Contact.cs
  15. 0 27
      IPADDemo/Model/EnterGroupJson.cs
  16. 0 30
      IPADDemo/Model/GroupMember.cs
  17. 0 31
      IPADDemo/Model/Member.cs
  18. 0 22
      IPADDemo/Model/MsgContent.cs
  19. 0 16
      IPADDemo/Model/OperationTail.cs
  20. 0 71
      IPADDemo/Model/PackMsg.cs
  21. 0 39
      IPADDemo/Model/PackTime.cs
  22. 0 34
      IPADDemo/Model/QrCodeJson.cs
  23. 0 95
      IPADDemo/Model/ReadPackItem.cs
  24. 0 22
      IPADDemo/Model/ReadPackJson.cs
  25. 0 51
      IPADDemo/Model/RedPacketJson.cs
  26. 0 23
      IPADDemo/Model/SnsUpload.cs
  27. 0 53
      IPADDemo/Model/TcpMsg.cs
  28. 0 48
      IPADDemo/Model/UserData.cs
  29. 0 24
      IPADDemo/Model/WXReceiveRedPacketjson.cs
  30. 0 49
      IPADDemo/Model/WXttsmsg.cs
  31. 0 22
      IPADDemo/Model/WxDat.cs
  32. 0 54
      IPADDemo/Model/WxDelegate.cs
  33. 0 38
      IPADDemo/Model/WxGroup.cs
  34. 0 19
      IPADDemo/Model/WxMember.cs
  35. 0 16
      IPADDemo/Model/WxQrCode.cs
  36. 0 46
      IPADDemo/Model/WxUser.cs
  37. 0 24
      IPADDemo/Program.cs
  38. 0 36
      IPADDemo/Properties/AssemblyInfo.cs
  39. 0 63
      IPADDemo/Properties/Resources.Designer.cs
  40. 0 117
      IPADDemo/Properties/Resources.resx
  41. 0 26
      IPADDemo/Properties/Settings.Designer.cs
  42. 0 7
      IPADDemo/Properties/Settings.settings
  43. 0 65
      IPADDemo/Util/Base64.cs
  44. 0 212
      IPADDemo/Util/BaseClass.cs
  45. 0 41
      IPADDemo/Util/Convert62.cs
  46. 0 32
      IPADDemo/Util/Cover.cs
  47. 0 650
      IPADDemo/Util/HttpUtil.cs
  48. 0 112
      IPADDemo/Util/MyUtils.cs
  49. 0 396
      IPADDemo/Util/Utilities.cs
  50. 0 294
      IPADDemo/Util/ffmpegUtils.cs
  51. 0 12
      IPADDemo/WeChat/XzyWeChatFunc.cs
  52. 0 2304
      IPADDemo/WeChat/XzyWeChatThread.cs
  53. 0 75
      IPADDemo/app.manifest
  54. 0 1
      IPADDemo/bin/Debug/使用文档.txt
  55. BIN
      IPADDemo/bitbug_favicon.ico
  56. BIN
      IPADDemo/ffmpeg/ffmpeg.exe
  57. BIN
      IPADDemo/ffmpeg/silk_v3_decoder.exe
  58. BIN
      IPADDemo/ffmpeg/silk_v3_encoder.exe
  59. BIN
      IPADDemo/obj/Debug/CustomIPAD.Properties.Resources.resources
  60. 0 0
      IPADDemo/obj/Debug/CustomIPAD.csproj.CopyComplete
  61. 0 1
      IPADDemo/obj/Debug/CustomIPAD.csproj.CoreCompileInputs.cache
  62. 0 93
      IPADDemo/obj/Debug/CustomIPAD.csproj.FileListAbsolute.txt
  63. BIN
      IPADDemo/obj/Debug/CustomIPAD.csproj.GenerateResource.cache
  64. BIN
      IPADDemo/obj/Debug/CustomIPAD.csprojAssemblyReference.cache
  65. BIN
      IPADDemo/obj/Debug/CustomIPAD.csprojResolveAssemblyReference.cache
  66. BIN
      IPADDemo/obj/Debug/CustomIPAD.exe
  67. BIN
      IPADDemo/obj/Debug/CustomIPAD.pdb
  68. BIN
      IPADDemo/obj/Debug/DesignTimeResolveAssemblyReferences.cache
  69. BIN
      IPADDemo/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
  70. BIN
      IPADDemo/obj/Debug/IPADDemo.FormDemo.resources
  71. BIN
      IPADDemo/obj/Debug/IPADDemo.Properties.Resources.resources
  72. 0 0
      IPADDemo/obj/Debug/IPADDemo.csproj.CopyComplete
  73. 0 1
      IPADDemo/obj/Debug/IPADDemo.csproj.CoreCompileInputs.cache
  74. 0 181
      IPADDemo/obj/Debug/IPADDemo.csproj.FileListAbsolute.txt
  75. BIN
      IPADDemo/obj/Debug/IPADDemo.csproj.GenerateResource.cache
  76. BIN
      IPADDemo/obj/Debug/IPADDemo.csprojAssemblyReference.cache
  77. BIN
      IPADDemo/obj/Debug/IPADDemo.exe
  78. BIN
      IPADDemo/obj/Debug/IPADDemo.pdb
  79. BIN
      IPADDemo/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll
  80. 0 0
      IPADDemo/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
  81. 0 0
      IPADDemo/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
  82. 0 0
      IPADDemo/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
  83. 0 1
      IPADDemo/obj/Release/CustomIPAD.csproj.CoreCompileInputs.cache
  84. BIN
      IPADDemo/obj/Release/CustomIPAD.csprojAssemblyReference.cache
  85. 0 0
      IPADDemo/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
  86. 0 0
      IPADDemo/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
  87. 0 0
      IPADDemo/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
  88. 0 22
      IPADDemo/packages.config
  89. 0 29
      Ipad.sln
  90. 4 2
      README.md
  91. BIN
      dll/EUtils.dll
  92. BIN
      dll/Xzy.IPAD.Core.dll
  93. BIN
      dll/Xzy.IPAD.Core.pdb
  94. BIN
      dll/commobj.fne
  95. BIN
      dll/eAPI.fne
  96. BIN
      dll/krnln.fnr
  97. BIN
      dll/spec.fne
  98. BIN
      dll/wxipadapi6.7.dll
  99. BIN
      dll/xzyapi.dll
  100. 0 1
      dll/使用文档.txt

+ 0 - 10
IPADDemo/App.config

@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<configuration>
-    <startup> 
-        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
-    </startup>
-  <appSettings>
-    <!--授权-->
-    <add key="AuthKey" value="mac1541128353672950" />
-  </appSettings>
-</configuration>

+ 0 - 16
IPADDemo/AppData/App.cs

@@ -1,16 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.AppData
-{
-    public class App
-    {
-        public static string PYQContent = "<TimelineObject><id>0</id><username>{0}</username><createTime>0</createTime><contentDescShowType>0</contentDescShowType><contentDescScene>0</contentDescScene><private>0</private><contentDesc>%s</contentDesc><contentattr>0</contentattr><sourceUserName></sourceUserName><sourceNickName></sourceNickName><statisticsData></statisticsData><ContentObject><contentStyle>1</contentStyle><title></title><description></description><contentUrl></contentUrl><mediaList>{1}</mediaList></ContentObject><actionInfo></actionInfo><appInfo><id></id></appInfo><location city=\"\" poiClassifyId=\"\" poiName=\"\" poiAddress=\"\" poiClassifyType=\"0\"></location><publicUserName></publicUserName></TimelineObject>";
-        public static string PYQContentImage = "<media><id>0</id><type>2</type><title></title><description></description><private>0</private><url type=\"1\">{0}</url><thumb type=\"1\">{1}</thumb><size totalSize=\"{2}\" height=\"{3}\" width=\"{4}\"></size></media>";
-
-        public static string AppMsgXml= "<appmsg appid=\"$appid$\" sdkver=\"sdkver\"><title>$title$</title><des>$des$</des><action>view</action><type>5</type><showtype>0</showtype><content></content><url>$url$</url><thumburl>$thumburl$</thumburl><lowurl></lowurl><appattach><totallen>0</totallen><attachid></attachid><fileext></fileext></appattach><extinfo></extinfo></appmsg>";
-    }
-}

+ 0 - 2232
IPADDemo/FormDemo.Designer.cs

@@ -1,2232 +0,0 @@
-namespace IPADDemo
-{
-    partial class FormDemo
-    {
-        /// <summary>
-        /// Required designer variable.
-        /// </summary>
-        private System.ComponentModel.IContainer components = null;
-
-        /// <summary>
-        /// Clean up any resources being used.
-        /// </summary>
-        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing && (components != null))
-            {
-                components.Dispose();
-            }
-            base.Dispose(disposing);
-        }
-
-        #region Windows Form Designer generated code
-
-        /// <summary>
-        /// Required method for Designer support - do not modify
-        /// the contents of this method with the code editor.
-        /// </summary>
-        private void InitializeComponent()
-        {
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormDemo));
-            this.pictureBox1 = new System.Windows.Forms.PictureBox();
-            this.textBox1 = new System.Windows.Forms.TextBox();
-            this.label1 = new System.Windows.Forms.Label();
-            this.tabControl1 = new System.Windows.Forms.TabControl();
-            this.tabPage1 = new System.Windows.Forms.TabPage();
-            this.button49 = new System.Windows.Forms.Button();
-            this.textBox2 = new System.Windows.Forms.TextBox();
-            this.textBox3 = new System.Windows.Forms.TextBox();
-            this.label57 = new System.Windows.Forms.Label();
-            this.button24 = new System.Windows.Forms.Button();
-            this.txt_linkImgUrl = new System.Windows.Forms.TextBox();
-            this.label28 = new System.Windows.Forms.Label();
-            this.txt_linkUrl = new System.Windows.Forms.TextBox();
-            this.label27 = new System.Windows.Forms.Label();
-            this.txt_linkDesc = new System.Windows.Forms.TextBox();
-            this.label26 = new System.Windows.Forms.Label();
-            this.txt_linkSdkVer = new System.Windows.Forms.TextBox();
-            this.label25 = new System.Windows.Forms.Label();
-            this.txt_linkAppId = new System.Windows.Forms.TextBox();
-            this.label24 = new System.Windows.Forms.Label();
-            this.txt_linkTitle = new System.Windows.Forms.TextBox();
-            this.label23 = new System.Windows.Forms.Label();
-            this.button23 = new System.Windows.Forms.Button();
-            this.button17 = new System.Windows.Forms.Button();
-            this.button2 = new System.Windows.Forms.Button();
-            this.button1 = new System.Windows.Forms.Button();
-            this.txt_msgText = new System.Windows.Forms.TextBox();
-            this.label3 = new System.Windows.Forms.Label();
-            this.txt_msgWxid = new System.Windows.Forms.TextBox();
-            this.label2 = new System.Windows.Forms.Label();
-            this.tabPage2 = new System.Windows.Forms.TabPage();
-            this.button48 = new System.Windows.Forms.Button();
-            this.txt_snsContext = new System.Windows.Forms.TextBox();
-            this.label40 = new System.Windows.Forms.Label();
-            this.button34 = new System.Windows.Forms.Button();
-            this.txt_snsPlId = new System.Windows.Forms.TextBox();
-            this.label39 = new System.Windows.Forms.Label();
-            this.button33 = new System.Windows.Forms.Button();
-            this.txt_snsId = new System.Windows.Forms.TextBox();
-            this.label38 = new System.Windows.Forms.Label();
-            this.button32 = new System.Windows.Forms.Button();
-            this.txt_snswxid = new System.Windows.Forms.TextBox();
-            this.label37 = new System.Windows.Forms.Label();
-            this.button5 = new System.Windows.Forms.Button();
-            this.listBox1 = new System.Windows.Forms.ListBox();
-            this.button4 = new System.Windows.Forms.Button();
-            this.button3 = new System.Windows.Forms.Button();
-            this.txt_snsText = new System.Windows.Forms.TextBox();
-            this.label4 = new System.Windows.Forms.Label();
-            this.tabPage3 = new System.Windows.Forms.TabPage();
-            this.button37 = new System.Windows.Forms.Button();
-            this.button36 = new System.Windows.Forms.Button();
-            this.txt_friendRemark = new System.Windows.Forms.TextBox();
-            this.label41 = new System.Windows.Forms.Label();
-            this.button35 = new System.Windows.Forms.Button();
-            this.txt_friendwxid = new System.Windows.Forms.TextBox();
-            this.label6 = new System.Windows.Forms.Label();
-            this.lb_friend = new System.Windows.Forms.ListBox();
-            this.label5 = new System.Windows.Forms.Label();
-            this.tabPage4 = new System.Windows.Forms.TabPage();
-            this.button39 = new System.Windows.Forms.Button();
-            this.button38 = new System.Windows.Forms.Button();
-            this.lb_group = new System.Windows.Forms.ListBox();
-            this.label29 = new System.Windows.Forms.Label();
-            this.button11 = new System.Windows.Forms.Button();
-            this.button10 = new System.Windows.Forms.Button();
-            this.txt_groupgg = new System.Windows.Forms.TextBox();
-            this.label10 = new System.Windows.Forms.Label();
-            this.button9 = new System.Windows.Forms.Button();
-            this.txt_groupname = new System.Windows.Forms.TextBox();
-            this.label11 = new System.Windows.Forms.Label();
-            this.button8 = new System.Windows.Forms.Button();
-            this.txt_groupwxid = new System.Windows.Forms.TextBox();
-            this.label9 = new System.Windows.Forms.Label();
-            this.button7 = new System.Windows.Forms.Button();
-            this.txt_groupuserwxid = new System.Windows.Forms.TextBox();
-            this.label8 = new System.Windows.Forms.Label();
-            this.button6 = new System.Windows.Forms.Button();
-            this.txt_GroupUsers = new System.Windows.Forms.TextBox();
-            this.label7 = new System.Windows.Forms.Label();
-            this.tabPage5 = new System.Windows.Forms.TabPage();
-            this.button20 = new System.Windows.Forms.Button();
-            this.button19 = new System.Windows.Forms.Button();
-            this.button18 = new System.Windows.Forms.Button();
-            this.button13 = new System.Windows.Forms.Button();
-            this.button12 = new System.Windows.Forms.Button();
-            this.txt_loginToken = new System.Windows.Forms.TextBox();
-            this.label15 = new System.Windows.Forms.Label();
-            this.txt_login62 = new System.Windows.Forms.TextBox();
-            this.label14 = new System.Windows.Forms.Label();
-            this.txt_loginPassword = new System.Windows.Forms.TextBox();
-            this.label13 = new System.Windows.Forms.Label();
-            this.txt_loginName = new System.Windows.Forms.TextBox();
-            this.label12 = new System.Windows.Forms.Label();
-            this.tabPage6 = new System.Windows.Forms.TabPage();
-            this.button47 = new System.Windows.Forms.Button();
-            this.txt_addUserInfo = new System.Windows.Forms.TextBox();
-            this.label55 = new System.Windows.Forms.Label();
-            this.button16 = new System.Windows.Forms.Button();
-            this.label21 = new System.Windows.Forms.Label();
-            this.cb_addtype = new System.Windows.Forms.ComboBox();
-            this.txt_hellotext = new System.Windows.Forms.TextBox();
-            this.label20 = new System.Windows.Forms.Label();
-            this.txt_v2 = new System.Windows.Forms.TextBox();
-            this.label19 = new System.Windows.Forms.Label();
-            this.txt_v1 = new System.Windows.Forms.TextBox();
-            this.label18 = new System.Windows.Forms.Label();
-            this.button15 = new System.Windows.Forms.Button();
-            this.txt_Lng = new System.Windows.Forms.TextBox();
-            this.label17 = new System.Windows.Forms.Label();
-            this.txt_Lat = new System.Windows.Forms.TextBox();
-            this.label16 = new System.Windows.Forms.Label();
-            this.tabPage8 = new System.Windows.Forms.TabPage();
-            this.button45 = new System.Windows.Forms.Button();
-            this.txt_gzhUrl = new System.Windows.Forms.TextBox();
-            this.label47 = new System.Windows.Forms.Label();
-            this.button40 = new System.Windows.Forms.Button();
-            this.txt_gzhKey = new System.Windows.Forms.TextBox();
-            this.label43 = new System.Windows.Forms.Label();
-            this.txt_gzhUin = new System.Windows.Forms.TextBox();
-            this.label42 = new System.Windows.Forms.Label();
-            this.lb_gzh = new System.Windows.Forms.ListBox();
-            this.button22 = new System.Windows.Forms.Button();
-            this.button21 = new System.Windows.Forms.Button();
-            this.txt_gzhid = new System.Windows.Forms.TextBox();
-            this.label22 = new System.Windows.Forms.Label();
-            this.tabPage7 = new System.Windows.Forms.TabPage();
-            this.txt_msgcallback = new System.Windows.Forms.TextBox();
-            this.tabPage9 = new System.Windows.Forms.TabPage();
-            this.button28 = new System.Windows.Forms.Button();
-            this.txt_labelId1 = new System.Windows.Forms.TextBox();
-            this.label33 = new System.Windows.Forms.Label();
-            this.button27 = new System.Windows.Forms.Button();
-            this.txt_labelName = new System.Windows.Forms.TextBox();
-            this.label32 = new System.Windows.Forms.Label();
-            this.button26 = new System.Windows.Forms.Button();
-            this.txt_labelId = new System.Windows.Forms.TextBox();
-            this.label31 = new System.Windows.Forms.Label();
-            this.txt_labelWxid = new System.Windows.Forms.TextBox();
-            this.label30 = new System.Windows.Forms.Label();
-            this.button25 = new System.Windows.Forms.Button();
-            this.tabPage10 = new System.Windows.Forms.TabPage();
-            this.txt_favId = new System.Windows.Forms.TextBox();
-            this.label36 = new System.Windows.Forms.Label();
-            this.button31 = new System.Windows.Forms.Button();
-            this.txt_favObject = new System.Windows.Forms.TextBox();
-            this.label35 = new System.Windows.Forms.Label();
-            this.button30 = new System.Windows.Forms.Button();
-            this.txt_favKey = new System.Windows.Forms.TextBox();
-            this.label34 = new System.Windows.Forms.Label();
-            this.button29 = new System.Windows.Forms.Button();
-            this.tabPage11 = new System.Windows.Forms.TabPage();
-            this.button46 = new System.Windows.Forms.Button();
-            this.label54 = new System.Windows.Forms.Label();
-            this.txt_setCity = new System.Windows.Forms.TextBox();
-            this.label53 = new System.Windows.Forms.Label();
-            this.txt_setProvincia = new System.Windows.Forms.TextBox();
-            this.label52 = new System.Windows.Forms.Label();
-            this.txt_setCountry = new System.Windows.Forms.TextBox();
-            this.label51 = new System.Windows.Forms.Label();
-            this.label50 = new System.Windows.Forms.Label();
-            this.txt_setSex = new System.Windows.Forms.TextBox();
-            this.label49 = new System.Windows.Forms.Label();
-            this.txt_setSign = new System.Windows.Forms.TextBox();
-            this.label48 = new System.Windows.Forms.Label();
-            this.txt_setNickName = new System.Windows.Forms.TextBox();
-            this.button41 = new System.Windows.Forms.Button();
-            this.label44 = new System.Windows.Forms.Label();
-            this.txt_setWxid = new System.Windows.Forms.TextBox();
-            this.tabPage12 = new System.Windows.Forms.TabPage();
-            this.button44 = new System.Windows.Forms.Button();
-            this.button43 = new System.Windows.Forms.Button();
-            this.txt_orderUrl = new System.Windows.Forms.TextBox();
-            this.label46 = new System.Windows.Forms.Label();
-            this.label45 = new System.Windows.Forms.Label();
-            this.button42 = new System.Windows.Forms.Button();
-            this.button14 = new System.Windows.Forms.Button();
-            this.txt_syslog = new System.Windows.Forms.TextBox();
-            this.label56 = new System.Windows.Forms.Label();
-            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
-            this.tabControl1.SuspendLayout();
-            this.tabPage1.SuspendLayout();
-            this.tabPage2.SuspendLayout();
-            this.tabPage3.SuspendLayout();
-            this.tabPage4.SuspendLayout();
-            this.tabPage5.SuspendLayout();
-            this.tabPage6.SuspendLayout();
-            this.tabPage8.SuspendLayout();
-            this.tabPage7.SuspendLayout();
-            this.tabPage9.SuspendLayout();
-            this.tabPage10.SuspendLayout();
-            this.tabPage11.SuspendLayout();
-            this.tabPage12.SuspendLayout();
-            this.SuspendLayout();
-            // 
-            // pictureBox1
-            // 
-            this.pictureBox1.Location = new System.Drawing.Point(13, 13);
-            this.pictureBox1.Name = "pictureBox1";
-            this.pictureBox1.Size = new System.Drawing.Size(191, 185);
-            this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
-            this.pictureBox1.TabIndex = 0;
-            this.pictureBox1.TabStop = false;
-            // 
-            // textBox1
-            // 
-            this.textBox1.Location = new System.Drawing.Point(12, 248);
-            this.textBox1.Multiline = true;
-            this.textBox1.Name = "textBox1";
-            this.textBox1.Size = new System.Drawing.Size(192, 126);
-            this.textBox1.TabIndex = 1;
-            // 
-            // label1
-            // 
-            this.label1.AutoSize = true;
-            this.label1.Location = new System.Drawing.Point(12, 216);
-            this.label1.Name = "label1";
-            this.label1.Size = new System.Drawing.Size(39, 15);
-            this.label1.TabIndex = 2;
-            this.label1.Text = "log:";
-            // 
-            // tabControl1
-            // 
-            this.tabControl1.Controls.Add(this.tabPage1);
-            this.tabControl1.Controls.Add(this.tabPage2);
-            this.tabControl1.Controls.Add(this.tabPage3);
-            this.tabControl1.Controls.Add(this.tabPage4);
-            this.tabControl1.Controls.Add(this.tabPage5);
-            this.tabControl1.Controls.Add(this.tabPage6);
-            this.tabControl1.Controls.Add(this.tabPage8);
-            this.tabControl1.Controls.Add(this.tabPage7);
-            this.tabControl1.Controls.Add(this.tabPage9);
-            this.tabControl1.Controls.Add(this.tabPage10);
-            this.tabControl1.Controls.Add(this.tabPage11);
-            this.tabControl1.Controls.Add(this.tabPage12);
-            this.tabControl1.Location = new System.Drawing.Point(224, 13);
-            this.tabControl1.Name = "tabControl1";
-            this.tabControl1.SelectedIndex = 0;
-            this.tabControl1.Size = new System.Drawing.Size(773, 425);
-            this.tabControl1.TabIndex = 3;
-            // 
-            // tabPage1
-            // 
-            this.tabPage1.Controls.Add(this.button49);
-            this.tabPage1.Controls.Add(this.textBox2);
-            this.tabPage1.Controls.Add(this.textBox3);
-            this.tabPage1.Controls.Add(this.label57);
-            this.tabPage1.Controls.Add(this.button24);
-            this.tabPage1.Controls.Add(this.txt_linkImgUrl);
-            this.tabPage1.Controls.Add(this.label28);
-            this.tabPage1.Controls.Add(this.txt_linkUrl);
-            this.tabPage1.Controls.Add(this.label27);
-            this.tabPage1.Controls.Add(this.txt_linkDesc);
-            this.tabPage1.Controls.Add(this.label26);
-            this.tabPage1.Controls.Add(this.txt_linkSdkVer);
-            this.tabPage1.Controls.Add(this.label25);
-            this.tabPage1.Controls.Add(this.txt_linkAppId);
-            this.tabPage1.Controls.Add(this.label24);
-            this.tabPage1.Controls.Add(this.txt_linkTitle);
-            this.tabPage1.Controls.Add(this.label23);
-            this.tabPage1.Controls.Add(this.button23);
-            this.tabPage1.Controls.Add(this.button17);
-            this.tabPage1.Controls.Add(this.button2);
-            this.tabPage1.Controls.Add(this.button1);
-            this.tabPage1.Controls.Add(this.txt_msgText);
-            this.tabPage1.Controls.Add(this.label3);
-            this.tabPage1.Controls.Add(this.txt_msgWxid);
-            this.tabPage1.Controls.Add(this.label2);
-            this.tabPage1.Location = new System.Drawing.Point(4, 25);
-            this.tabPage1.Name = "tabPage1";
-            this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage1.Size = new System.Drawing.Size(765, 396);
-            this.tabPage1.TabIndex = 0;
-            this.tabPage1.Text = "消息模块";
-            this.tabPage1.UseVisualStyleBackColor = true;
-            // 
-            // button49
-            // 
-            this.button49.Location = new System.Drawing.Point(654, 59);
-            this.button49.Name = "button49";
-            this.button49.Size = new System.Drawing.Size(86, 28);
-            this.button49.TabIndex = 25;
-            this.button49.Text = "群发";
-            this.button49.UseVisualStyleBackColor = true;
-            this.button49.Click += new System.EventHandler(this.button49_Click);
-            // 
-            // textBox2
-            // 
-            this.textBox2.Location = new System.Drawing.Point(442, 59);
-            this.textBox2.Name = "textBox2";
-            this.textBox2.Size = new System.Drawing.Size(206, 25);
-            this.textBox2.TabIndex = 24;
-            // 
-            // textBox3
-            // 
-            this.textBox3.Location = new System.Drawing.Point(442, 13);
-            this.textBox3.Name = "textBox3";
-            this.textBox3.Size = new System.Drawing.Size(206, 25);
-            this.textBox3.TabIndex = 22;
-            this.textBox3.Text = "[\"AB1\",\"AC2\",\"AD3\"]";
-            // 
-            // label57
-            // 
-            this.label57.AutoSize = true;
-            this.label57.Location = new System.Drawing.Point(338, 18);
-            this.label57.Name = "label57";
-            this.label57.Size = new System.Drawing.Size(54, 15);
-            this.label57.TabIndex = 21;
-            this.label57.Text = "wxid:";
-            // 
-            // button24
-            // 
-            this.button24.Location = new System.Drawing.Point(51, 341);
-            this.button24.Name = "button24";
-            this.button24.Size = new System.Drawing.Size(107, 35);
-            this.button24.TabIndex = 20;
-            this.button24.Text = "发送链接";
-            this.button24.UseVisualStyleBackColor = true;
-            this.button24.Click += new System.EventHandler(this.button24_Click);
-            // 
-            // txt_linkImgUrl
-            // 
-            this.txt_linkImgUrl.Location = new System.Drawing.Point(109, 291);
-            this.txt_linkImgUrl.Name = "txt_linkImgUrl";
-            this.txt_linkImgUrl.Size = new System.Drawing.Size(638, 25);
-            this.txt_linkImgUrl.TabIndex = 19;
-            this.txt_linkImgUrl.Text = "https://avatars2.githubusercontent.com/u/26290929?s=460&v=4";
-            // 
-            // label28
-            // 
-            this.label28.AutoSize = true;
-            this.label28.Location = new System.Drawing.Point(27, 294);
-            this.label28.Name = "label28";
-            this.label28.Size = new System.Drawing.Size(76, 15);
-            this.label28.TabIndex = 18;
-            this.label28.Text = "图片url:";
-            // 
-            // txt_linkUrl
-            // 
-            this.txt_linkUrl.Location = new System.Drawing.Point(109, 251);
-            this.txt_linkUrl.Name = "txt_linkUrl";
-            this.txt_linkUrl.Size = new System.Drawing.Size(638, 25);
-            this.txt_linkUrl.TabIndex = 17;
-            this.txt_linkUrl.Text = "https://github.com/changtuiqie/Mac.WeChat";
-            // 
-            // label27
-            // 
-            this.label27.AutoSize = true;
-            this.label27.Location = new System.Drawing.Point(57, 254);
-            this.label27.Name = "label27";
-            this.label27.Size = new System.Drawing.Size(46, 15);
-            this.label27.TabIndex = 16;
-            this.label27.Text = "url:";
-            // 
-            // txt_linkDesc
-            // 
-            this.txt_linkDesc.Location = new System.Drawing.Point(109, 210);
-            this.txt_linkDesc.Name = "txt_linkDesc";
-            this.txt_linkDesc.Size = new System.Drawing.Size(638, 25);
-            this.txt_linkDesc.TabIndex = 15;
-            this.txt_linkDesc.Text = "test";
-            // 
-            // label26
-            // 
-            this.label26.AutoSize = true;
-            this.label26.Location = new System.Drawing.Point(21, 213);
-            this.label26.Name = "label26";
-            this.label26.Size = new System.Drawing.Size(82, 15);
-            this.label26.TabIndex = 14;
-            this.label26.Text = "链接描述:";
-            // 
-            // txt_linkSdkVer
-            // 
-            this.txt_linkSdkVer.Location = new System.Drawing.Point(589, 175);
-            this.txt_linkSdkVer.Name = "txt_linkSdkVer";
-            this.txt_linkSdkVer.Size = new System.Drawing.Size(158, 25);
-            this.txt_linkSdkVer.TabIndex = 13;
-            this.txt_linkSdkVer.Text = "0";
-            // 
-            // label25
-            // 
-            this.label25.AutoSize = true;
-            this.label25.Location = new System.Drawing.Point(513, 181);
-            this.label25.Name = "label25";
-            this.label25.Size = new System.Drawing.Size(70, 15);
-            this.label25.TabIndex = 12;
-            this.label25.Text = "sdkVer:";
-            // 
-            // txt_linkAppId
-            // 
-            this.txt_linkAppId.Location = new System.Drawing.Point(331, 175);
-            this.txt_linkAppId.Name = "txt_linkAppId";
-            this.txt_linkAppId.Size = new System.Drawing.Size(158, 25);
-            this.txt_linkAppId.TabIndex = 11;
-            this.txt_linkAppId.Text = "wx0f76313b15c62c93";
-            // 
-            // label24
-            // 
-            this.label24.AutoSize = true;
-            this.label24.Location = new System.Drawing.Point(279, 178);
-            this.label24.Name = "label24";
-            this.label24.Size = new System.Drawing.Size(62, 15);
-            this.label24.TabIndex = 10;
-            this.label24.Text = "appid:";
-            // 
-            // txt_linkTitle
-            // 
-            this.txt_linkTitle.Location = new System.Drawing.Point(109, 175);
-            this.txt_linkTitle.Name = "txt_linkTitle";
-            this.txt_linkTitle.Size = new System.Drawing.Size(158, 25);
-            this.txt_linkTitle.TabIndex = 9;
-            this.txt_linkTitle.Text = "协议链接demo";
-            // 
-            // label23
-            // 
-            this.label23.AutoSize = true;
-            this.label23.Location = new System.Drawing.Point(21, 178);
-            this.label23.Name = "label23";
-            this.label23.Size = new System.Drawing.Size(82, 15);
-            this.label23.TabIndex = 8;
-            this.label23.Text = "链接标题:";
-            // 
-            // button23
-            // 
-            this.button23.Location = new System.Drawing.Point(331, 117);
-            this.button23.Name = "button23";
-            this.button23.Size = new System.Drawing.Size(135, 31);
-            this.button23.TabIndex = 7;
-            this.button23.Text = "发送语音MP3";
-            this.button23.UseVisualStyleBackColor = true;
-            this.button23.Click += new System.EventHandler(this.button23_Click);
-            // 
-            // button17
-            // 
-            this.button17.Location = new System.Drawing.Point(189, 117);
-            this.button17.Name = "button17";
-            this.button17.Size = new System.Drawing.Size(116, 31);
-            this.button17.TabIndex = 6;
-            this.button17.Text = "发送语音silk";
-            this.button17.UseVisualStyleBackColor = true;
-            this.button17.Click += new System.EventHandler(this.button17_Click);
-            // 
-            // button2
-            // 
-            this.button2.Location = new System.Drawing.Point(51, 117);
-            this.button2.Name = "button2";
-            this.button2.Size = new System.Drawing.Size(107, 31);
-            this.button2.TabIndex = 5;
-            this.button2.Text = "发送图片";
-            this.button2.UseVisualStyleBackColor = true;
-            this.button2.Click += new System.EventHandler(this.button2_Click);
-            // 
-            // button1
-            // 
-            this.button1.Location = new System.Drawing.Point(334, 59);
-            this.button1.Name = "button1";
-            this.button1.Size = new System.Drawing.Size(86, 28);
-            this.button1.TabIndex = 4;
-            this.button1.Text = "发送";
-            this.button1.UseVisualStyleBackColor = true;
-            this.button1.Click += new System.EventHandler(this.button1_Click);
-            // 
-            // txt_msgText
-            // 
-            this.txt_msgText.Location = new System.Drawing.Point(122, 59);
-            this.txt_msgText.Name = "txt_msgText";
-            this.txt_msgText.Size = new System.Drawing.Size(206, 25);
-            this.txt_msgText.TabIndex = 3;
-            // 
-            // label3
-            // 
-            this.label3.AutoSize = true;
-            this.label3.Location = new System.Drawing.Point(34, 62);
-            this.label3.Name = "label3";
-            this.label3.Size = new System.Drawing.Size(82, 15);
-            this.label3.TabIndex = 2;
-            this.label3.Text = "文字消息:";
-            // 
-            // txt_msgWxid
-            // 
-            this.txt_msgWxid.Location = new System.Drawing.Point(122, 13);
-            this.txt_msgWxid.Name = "txt_msgWxid";
-            this.txt_msgWxid.Size = new System.Drawing.Size(206, 25);
-            this.txt_msgWxid.TabIndex = 1;
-            // 
-            // label2
-            // 
-            this.label2.AutoSize = true;
-            this.label2.Location = new System.Drawing.Point(18, 18);
-            this.label2.Name = "label2";
-            this.label2.Size = new System.Drawing.Size(98, 15);
-            this.label2.TabIndex = 0;
-            this.label2.Text = "好友微信id:";
-            // 
-            // tabPage2
-            // 
-            this.tabPage2.Controls.Add(this.button48);
-            this.tabPage2.Controls.Add(this.txt_snsContext);
-            this.tabPage2.Controls.Add(this.label40);
-            this.tabPage2.Controls.Add(this.button34);
-            this.tabPage2.Controls.Add(this.txt_snsPlId);
-            this.tabPage2.Controls.Add(this.label39);
-            this.tabPage2.Controls.Add(this.button33);
-            this.tabPage2.Controls.Add(this.txt_snsId);
-            this.tabPage2.Controls.Add(this.label38);
-            this.tabPage2.Controls.Add(this.button32);
-            this.tabPage2.Controls.Add(this.txt_snswxid);
-            this.tabPage2.Controls.Add(this.label37);
-            this.tabPage2.Controls.Add(this.button5);
-            this.tabPage2.Controls.Add(this.listBox1);
-            this.tabPage2.Controls.Add(this.button4);
-            this.tabPage2.Controls.Add(this.button3);
-            this.tabPage2.Controls.Add(this.txt_snsText);
-            this.tabPage2.Controls.Add(this.label4);
-            this.tabPage2.Location = new System.Drawing.Point(4, 25);
-            this.tabPage2.Name = "tabPage2";
-            this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage2.Size = new System.Drawing.Size(765, 396);
-            this.tabPage2.TabIndex = 1;
-            this.tabPage2.Text = "朋友圈模块";
-            this.tabPage2.UseVisualStyleBackColor = true;
-            // 
-            // button48
-            // 
-            this.button48.Location = new System.Drawing.Point(275, 154);
-            this.button48.Name = "button48";
-            this.button48.Size = new System.Drawing.Size(129, 39);
-            this.button48.TabIndex = 18;
-            this.button48.Text = "查看所有朋友圈";
-            this.button48.UseVisualStyleBackColor = true;
-            this.button48.Click += new System.EventHandler(this.button48_Click);
-            // 
-            // txt_snsContext
-            // 
-            this.txt_snsContext.Location = new System.Drawing.Point(489, 151);
-            this.txt_snsContext.Name = "txt_snsContext";
-            this.txt_snsContext.Size = new System.Drawing.Size(151, 25);
-            this.txt_snsContext.TabIndex = 16;
-            // 
-            // label40
-            // 
-            this.label40.AutoSize = true;
-            this.label40.Location = new System.Drawing.Point(410, 154);
-            this.label40.Name = "label40";
-            this.label40.Size = new System.Drawing.Size(82, 15);
-            this.label40.TabIndex = 15;
-            this.label40.Text = "评论内容:";
-            // 
-            // button34
-            // 
-            this.button34.Location = new System.Drawing.Point(646, 125);
-            this.button34.Name = "button34";
-            this.button34.Size = new System.Drawing.Size(113, 25);
-            this.button34.TabIndex = 14;
-            this.button34.Text = "朋友圈评论";
-            this.button34.UseVisualStyleBackColor = true;
-            this.button34.Click += new System.EventHandler(this.button34_Click);
-            // 
-            // txt_snsPlId
-            // 
-            this.txt_snsPlId.Location = new System.Drawing.Point(489, 108);
-            this.txt_snsPlId.Name = "txt_snsPlId";
-            this.txt_snsPlId.Size = new System.Drawing.Size(151, 25);
-            this.txt_snsPlId.TabIndex = 13;
-            // 
-            // label39
-            // 
-            this.label39.AutoSize = true;
-            this.label39.Location = new System.Drawing.Point(430, 111);
-            this.label39.Name = "label39";
-            this.label39.Size = new System.Drawing.Size(68, 15);
-            this.label39.TabIndex = 12;
-            this.label39.Text = "评论id:";
-            // 
-            // button33
-            // 
-            this.button33.Location = new System.Drawing.Point(647, 60);
-            this.button33.Name = "button33";
-            this.button33.Size = new System.Drawing.Size(112, 25);
-            this.button33.TabIndex = 11;
-            this.button33.Text = "获取朋友圈";
-            this.button33.UseVisualStyleBackColor = true;
-            this.button33.Click += new System.EventHandler(this.button33_Click);
-            // 
-            // txt_snsId
-            // 
-            this.txt_snsId.Location = new System.Drawing.Point(489, 60);
-            this.txt_snsId.Name = "txt_snsId";
-            this.txt_snsId.Size = new System.Drawing.Size(151, 25);
-            this.txt_snsId.TabIndex = 10;
-            // 
-            // label38
-            // 
-            this.label38.AutoSize = true;
-            this.label38.Location = new System.Drawing.Point(430, 63);
-            this.label38.Name = "label38";
-            this.label38.Size = new System.Drawing.Size(62, 15);
-            this.label38.TabIndex = 9;
-            this.label38.Text = "snsid:";
-            // 
-            // button32
-            // 
-            this.button32.Location = new System.Drawing.Point(646, 16);
-            this.button32.Name = "button32";
-            this.button32.Size = new System.Drawing.Size(113, 26);
-            this.button32.TabIndex = 8;
-            this.button32.Text = "查看朋友圈";
-            this.button32.UseVisualStyleBackColor = true;
-            this.button32.Click += new System.EventHandler(this.button32_Click);
-            // 
-            // txt_snswxid
-            // 
-            this.txt_snswxid.Location = new System.Drawing.Point(489, 16);
-            this.txt_snswxid.Name = "txt_snswxid";
-            this.txt_snswxid.Size = new System.Drawing.Size(151, 25);
-            this.txt_snswxid.TabIndex = 7;
-            // 
-            // label37
-            // 
-            this.label37.AutoSize = true;
-            this.label37.Location = new System.Drawing.Point(438, 19);
-            this.label37.Name = "label37";
-            this.label37.Size = new System.Drawing.Size(54, 15);
-            this.label37.TabIndex = 6;
-            this.label37.Text = "wxid:";
-            // 
-            // button5
-            // 
-            this.button5.Location = new System.Drawing.Point(275, 71);
-            this.button5.Name = "button5";
-            this.button5.Size = new System.Drawing.Size(129, 31);
-            this.button5.TabIndex = 5;
-            this.button5.Text = "添加图片";
-            this.button5.UseVisualStyleBackColor = true;
-            this.button5.Click += new System.EventHandler(this.button5_Click);
-            // 
-            // listBox1
-            // 
-            this.listBox1.FormattingEnabled = true;
-            this.listBox1.ItemHeight = 15;
-            this.listBox1.Location = new System.Drawing.Point(23, 71);
-            this.listBox1.Name = "listBox1";
-            this.listBox1.Size = new System.Drawing.Size(227, 274);
-            this.listBox1.TabIndex = 4;
-            // 
-            // button4
-            // 
-            this.button4.Location = new System.Drawing.Point(275, 108);
-            this.button4.Name = "button4";
-            this.button4.Size = new System.Drawing.Size(129, 31);
-            this.button4.TabIndex = 3;
-            this.button4.Text = "图文朋友圈";
-            this.button4.UseVisualStyleBackColor = true;
-            this.button4.Click += new System.EventHandler(this.button4_Click);
-            // 
-            // button3
-            // 
-            this.button3.Location = new System.Drawing.Point(275, 11);
-            this.button3.Name = "button3";
-            this.button3.Size = new System.Drawing.Size(129, 31);
-            this.button3.TabIndex = 2;
-            this.button3.Text = "文字朋友圈";
-            this.button3.UseVisualStyleBackColor = true;
-            this.button3.Click += new System.EventHandler(this.button3_Click);
-            // 
-            // txt_snsText
-            // 
-            this.txt_snsText.Location = new System.Drawing.Point(78, 16);
-            this.txt_snsText.Name = "txt_snsText";
-            this.txt_snsText.Size = new System.Drawing.Size(160, 25);
-            this.txt_snsText.TabIndex = 1;
-            this.txt_snsText.Text = "发送一次朋友圈子,你们平时看不到我的芳容骚貌";
-            // 
-            // label4
-            // 
-            this.label4.AutoSize = true;
-            this.label4.Location = new System.Drawing.Point(20, 19);
-            this.label4.Name = "label4";
-            this.label4.Size = new System.Drawing.Size(52, 15);
-            this.label4.TabIndex = 0;
-            this.label4.Text = "文字:";
-            // 
-            // tabPage3
-            // 
-            this.tabPage3.Controls.Add(this.button37);
-            this.tabPage3.Controls.Add(this.button36);
-            this.tabPage3.Controls.Add(this.txt_friendRemark);
-            this.tabPage3.Controls.Add(this.label41);
-            this.tabPage3.Controls.Add(this.button35);
-            this.tabPage3.Controls.Add(this.txt_friendwxid);
-            this.tabPage3.Controls.Add(this.label6);
-            this.tabPage3.Controls.Add(this.lb_friend);
-            this.tabPage3.Controls.Add(this.label5);
-            this.tabPage3.Location = new System.Drawing.Point(4, 25);
-            this.tabPage3.Name = "tabPage3";
-            this.tabPage3.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage3.Size = new System.Drawing.Size(765, 396);
-            this.tabPage3.TabIndex = 2;
-            this.tabPage3.Text = "好友模块";
-            this.tabPage3.UseVisualStyleBackColor = true;
-            // 
-            // button37
-            // 
-            this.button37.Location = new System.Drawing.Point(621, 113);
-            this.button37.Name = "button37";
-            this.button37.Size = new System.Drawing.Size(94, 30);
-            this.button37.TabIndex = 9;
-            this.button37.Text = "删除好友";
-            this.button37.UseVisualStyleBackColor = true;
-            this.button37.Click += new System.EventHandler(this.button37_Click);
-            // 
-            // button36
-            // 
-            this.button36.Location = new System.Drawing.Point(621, 68);
-            this.button36.Name = "button36";
-            this.button36.Size = new System.Drawing.Size(94, 25);
-            this.button36.TabIndex = 8;
-            this.button36.Text = "修改备注";
-            this.button36.UseVisualStyleBackColor = true;
-            this.button36.Click += new System.EventHandler(this.button36_Click);
-            // 
-            // txt_friendRemark
-            // 
-            this.txt_friendRemark.Location = new System.Drawing.Point(439, 68);
-            this.txt_friendRemark.Name = "txt_friendRemark";
-            this.txt_friendRemark.Size = new System.Drawing.Size(166, 25);
-            this.txt_friendRemark.TabIndex = 7;
-            // 
-            // label41
-            // 
-            this.label41.AutoSize = true;
-            this.label41.Location = new System.Drawing.Point(388, 78);
-            this.label41.Name = "label41";
-            this.label41.Size = new System.Drawing.Size(52, 15);
-            this.label41.TabIndex = 6;
-            this.label41.Text = "备注:";
-            // 
-            // button35
-            // 
-            this.button35.Location = new System.Drawing.Point(621, 19);
-            this.button35.Name = "button35";
-            this.button35.Size = new System.Drawing.Size(94, 29);
-            this.button35.TabIndex = 5;
-            this.button35.Text = "获取详情";
-            this.button35.UseVisualStyleBackColor = true;
-            this.button35.Click += new System.EventHandler(this.button35_Click);
-            // 
-            // txt_friendwxid
-            // 
-            this.txt_friendwxid.Location = new System.Drawing.Point(439, 19);
-            this.txt_friendwxid.Name = "txt_friendwxid";
-            this.txt_friendwxid.Size = new System.Drawing.Size(166, 25);
-            this.txt_friendwxid.TabIndex = 4;
-            // 
-            // label6
-            // 
-            this.label6.AutoSize = true;
-            this.label6.Location = new System.Drawing.Point(385, 19);
-            this.label6.Name = "label6";
-            this.label6.Size = new System.Drawing.Size(47, 15);
-            this.label6.TabIndex = 3;
-            this.label6.Text = "wxid:";
-            // 
-            // lb_friend
-            // 
-            this.lb_friend.FormattingEnabled = true;
-            this.lb_friend.ItemHeight = 15;
-            this.lb_friend.Location = new System.Drawing.Point(26, 58);
-            this.lb_friend.Name = "lb_friend";
-            this.lb_friend.Size = new System.Drawing.Size(325, 319);
-            this.lb_friend.TabIndex = 2;
-            // 
-            // label5
-            // 
-            this.label5.AutoSize = true;
-            this.label5.Location = new System.Drawing.Point(23, 19);
-            this.label5.Name = "label5";
-            this.label5.Size = new System.Drawing.Size(52, 15);
-            this.label5.TabIndex = 0;
-            this.label5.Text = "好友:";
-            // 
-            // tabPage4
-            // 
-            this.tabPage4.Controls.Add(this.button39);
-            this.tabPage4.Controls.Add(this.button38);
-            this.tabPage4.Controls.Add(this.lb_group);
-            this.tabPage4.Controls.Add(this.label29);
-            this.tabPage4.Controls.Add(this.button11);
-            this.tabPage4.Controls.Add(this.button10);
-            this.tabPage4.Controls.Add(this.txt_groupgg);
-            this.tabPage4.Controls.Add(this.label10);
-            this.tabPage4.Controls.Add(this.button9);
-            this.tabPage4.Controls.Add(this.txt_groupname);
-            this.tabPage4.Controls.Add(this.label11);
-            this.tabPage4.Controls.Add(this.button8);
-            this.tabPage4.Controls.Add(this.txt_groupwxid);
-            this.tabPage4.Controls.Add(this.label9);
-            this.tabPage4.Controls.Add(this.button7);
-            this.tabPage4.Controls.Add(this.txt_groupuserwxid);
-            this.tabPage4.Controls.Add(this.label8);
-            this.tabPage4.Controls.Add(this.button6);
-            this.tabPage4.Controls.Add(this.txt_GroupUsers);
-            this.tabPage4.Controls.Add(this.label7);
-            this.tabPage4.Location = new System.Drawing.Point(4, 25);
-            this.tabPage4.Name = "tabPage4";
-            this.tabPage4.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage4.Size = new System.Drawing.Size(765, 396);
-            this.tabPage4.TabIndex = 3;
-            this.tabPage4.Text = "群模块";
-            this.tabPage4.UseVisualStyleBackColor = true;
-            // 
-            // button39
-            // 
-            this.button39.Location = new System.Drawing.Point(445, 67);
-            this.button39.Name = "button39";
-            this.button39.Size = new System.Drawing.Size(148, 25);
-            this.button39.TabIndex = 20;
-            this.button39.Text = "获取群成员资料";
-            this.button39.UseVisualStyleBackColor = true;
-            this.button39.Click += new System.EventHandler(this.button39_Click);
-            // 
-            // button38
-            // 
-            this.button38.Location = new System.Drawing.Point(393, 108);
-            this.button38.Name = "button38";
-            this.button38.Size = new System.Drawing.Size(124, 25);
-            this.button38.TabIndex = 19;
-            this.button38.Text = "邀请群成员";
-            this.button38.UseVisualStyleBackColor = true;
-            this.button38.Click += new System.EventHandler(this.button38_Click);
-            // 
-            // lb_group
-            // 
-            this.lb_group.FormattingEnabled = true;
-            this.lb_group.ItemHeight = 15;
-            this.lb_group.Location = new System.Drawing.Point(6, 247);
-            this.lb_group.Name = "lb_group";
-            this.lb_group.Size = new System.Drawing.Size(753, 139);
-            this.lb_group.TabIndex = 18;
-            // 
-            // label29
-            // 
-            this.label29.AutoSize = true;
-            this.label29.Location = new System.Drawing.Point(442, 18);
-            this.label29.Name = "label29";
-            this.label29.Size = new System.Drawing.Size(272, 15);
-            this.label29.TabIndex = 16;
-            this.label29.Text = "需要传自己和好友的wxid,且不少于3人";
-            // 
-            // button11
-            // 
-            this.button11.Location = new System.Drawing.Point(341, 67);
-            this.button11.Name = "button11";
-            this.button11.Size = new System.Drawing.Size(89, 25);
-            this.button11.TabIndex = 15;
-            this.button11.Text = "退出群";
-            this.button11.UseVisualStyleBackColor = true;
-            this.button11.Click += new System.EventHandler(this.button11_Click);
-            // 
-            // button10
-            // 
-            this.button10.Location = new System.Drawing.Point(270, 200);
-            this.button10.Name = "button10";
-            this.button10.Size = new System.Drawing.Size(104, 25);
-            this.button10.TabIndex = 14;
-            this.button10.Text = "修改群公告";
-            this.button10.UseVisualStyleBackColor = true;
-            this.button10.Click += new System.EventHandler(this.button10_Click);
-            // 
-            // txt_groupgg
-            // 
-            this.txt_groupgg.Location = new System.Drawing.Point(109, 200);
-            this.txt_groupgg.Name = "txt_groupgg";
-            this.txt_groupgg.Size = new System.Drawing.Size(146, 25);
-            this.txt_groupgg.TabIndex = 13;
-            // 
-            // label10
-            // 
-            this.label10.AutoSize = true;
-            this.label10.Location = new System.Drawing.Point(36, 210);
-            this.label10.Name = "label10";
-            this.label10.Size = new System.Drawing.Size(67, 15);
-            this.label10.TabIndex = 12;
-            this.label10.Text = "群公告:";
-            // 
-            // button9
-            // 
-            this.button9.Location = new System.Drawing.Point(270, 157);
-            this.button9.Name = "button9";
-            this.button9.Size = new System.Drawing.Size(104, 25);
-            this.button9.TabIndex = 11;
-            this.button9.Text = "修改群名称";
-            this.button9.UseVisualStyleBackColor = true;
-            this.button9.Click += new System.EventHandler(this.button9_Click);
-            // 
-            // txt_groupname
-            // 
-            this.txt_groupname.Location = new System.Drawing.Point(109, 157);
-            this.txt_groupname.Name = "txt_groupname";
-            this.txt_groupname.Size = new System.Drawing.Size(146, 25);
-            this.txt_groupname.TabIndex = 10;
-            // 
-            // label11
-            // 
-            this.label11.AutoSize = true;
-            this.label11.Location = new System.Drawing.Point(36, 167);
-            this.label11.Name = "label11";
-            this.label11.Size = new System.Drawing.Size(67, 15);
-            this.label11.TabIndex = 9;
-            this.label11.Text = "群名称:";
-            // 
-            // button8
-            // 
-            this.button8.Location = new System.Drawing.Point(539, 106);
-            this.button8.Name = "button8";
-            this.button8.Size = new System.Drawing.Size(114, 25);
-            this.button8.TabIndex = 8;
-            this.button8.Text = "踢出群成员";
-            this.button8.UseVisualStyleBackColor = true;
-            this.button8.Click += new System.EventHandler(this.button8_Click);
-            // 
-            // txt_groupwxid
-            // 
-            this.txt_groupwxid.Location = new System.Drawing.Point(109, 67);
-            this.txt_groupwxid.Name = "txt_groupwxid";
-            this.txt_groupwxid.Size = new System.Drawing.Size(205, 25);
-            this.txt_groupwxid.TabIndex = 7;
-            this.txt_groupwxid.Text = "222@chatroom";
-            // 
-            // label9
-            // 
-            this.label9.AutoSize = true;
-            this.label9.Location = new System.Drawing.Point(26, 77);
-            this.label9.Name = "label9";
-            this.label9.Size = new System.Drawing.Size(46, 15);
-            this.label9.TabIndex = 6;
-            this.label9.Text = "群id:";
-            // 
-            // button7
-            // 
-            this.button7.Location = new System.Drawing.Point(270, 108);
-            this.button7.Name = "button7";
-            this.button7.Size = new System.Drawing.Size(104, 25);
-            this.button7.TabIndex = 5;
-            this.button7.Text = "添加群成员";
-            this.button7.UseVisualStyleBackColor = true;
-            this.button7.Click += new System.EventHandler(this.button7_Click);
-            // 
-            // txt_groupuserwxid
-            // 
-            this.txt_groupuserwxid.Location = new System.Drawing.Point(109, 108);
-            this.txt_groupuserwxid.Name = "txt_groupuserwxid";
-            this.txt_groupuserwxid.Size = new System.Drawing.Size(146, 25);
-            this.txt_groupuserwxid.TabIndex = 4;
-            this.txt_groupuserwxid.Text = "wxid_111";
-            // 
-            // label8
-            // 
-            this.label8.AutoSize = true;
-            this.label8.Location = new System.Drawing.Point(26, 118);
-            this.label8.Name = "label8";
-            this.label8.Size = new System.Drawing.Size(77, 15);
-            this.label8.TabIndex = 3;
-            this.label8.Text = "好友wxid:";
-            // 
-            // button6
-            // 
-            this.button6.Location = new System.Drawing.Point(341, 14);
-            this.button6.Name = "button6";
-            this.button6.Size = new System.Drawing.Size(84, 29);
-            this.button6.TabIndex = 2;
-            this.button6.Text = "创建群";
-            this.button6.UseVisualStyleBackColor = true;
-            this.button6.Click += new System.EventHandler(this.button6_Click);
-            // 
-            // txt_GroupUsers
-            // 
-            this.txt_GroupUsers.Location = new System.Drawing.Point(109, 18);
-            this.txt_GroupUsers.Name = "txt_GroupUsers";
-            this.txt_GroupUsers.Size = new System.Drawing.Size(205, 25);
-            this.txt_GroupUsers.TabIndex = 1;
-            this.txt_GroupUsers.Text = "[\"wxid_aaa\",\"wxid_bbb\"]";
-            // 
-            // label7
-            // 
-            this.label7.AutoSize = true;
-            this.label7.Location = new System.Drawing.Point(26, 21);
-            this.label7.Name = "label7";
-            this.label7.Size = new System.Drawing.Size(77, 15);
-            this.label7.TabIndex = 0;
-            this.label7.Text = "好友wxid:";
-            // 
-            // tabPage5
-            // 
-            this.tabPage5.Controls.Add(this.button20);
-            this.tabPage5.Controls.Add(this.button19);
-            this.tabPage5.Controls.Add(this.button18);
-            this.tabPage5.Controls.Add(this.button13);
-            this.tabPage5.Controls.Add(this.button12);
-            this.tabPage5.Controls.Add(this.txt_loginToken);
-            this.tabPage5.Controls.Add(this.label15);
-            this.tabPage5.Controls.Add(this.txt_login62);
-            this.tabPage5.Controls.Add(this.label14);
-            this.tabPage5.Controls.Add(this.txt_loginPassword);
-            this.tabPage5.Controls.Add(this.label13);
-            this.tabPage5.Controls.Add(this.txt_loginName);
-            this.tabPage5.Controls.Add(this.label12);
-            this.tabPage5.Location = new System.Drawing.Point(4, 25);
-            this.tabPage5.Name = "tabPage5";
-            this.tabPage5.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage5.Size = new System.Drawing.Size(765, 396);
-            this.tabPage5.TabIndex = 4;
-            this.tabPage5.Text = "二次登陆";
-            this.tabPage5.UseVisualStyleBackColor = true;
-            // 
-            // button20
-            // 
-            this.button20.Location = new System.Drawing.Point(359, 271);
-            this.button20.Name = "button20";
-            this.button20.Size = new System.Drawing.Size(124, 35);
-            this.button20.TabIndex = 12;
-            this.button20.Text = "断线重连";
-            this.button20.UseVisualStyleBackColor = true;
-            this.button20.Click += new System.EventHandler(this.button20_Click);
-            // 
-            // button19
-            // 
-            this.button19.Location = new System.Drawing.Point(359, 210);
-            this.button19.Name = "button19";
-            this.button19.Size = new System.Drawing.Size(167, 37);
-            this.button19.TabIndex = 11;
-            this.button19.Text = "扫码62token二次登录";
-            this.button19.UseVisualStyleBackColor = true;
-            this.button19.Click += new System.EventHandler(this.button19_Click);
-            // 
-            // button18
-            // 
-            this.button18.Location = new System.Drawing.Point(359, 149);
-            this.button18.Name = "button18";
-            this.button18.Size = new System.Drawing.Size(124, 37);
-            this.button18.TabIndex = 10;
-            this.button18.Text = "获取token";
-            this.button18.UseVisualStyleBackColor = true;
-            this.button18.Click += new System.EventHandler(this.button18_Click);
-            // 
-            // button13
-            // 
-            this.button13.Location = new System.Drawing.Point(359, 87);
-            this.button13.Name = "button13";
-            this.button13.Size = new System.Drawing.Size(124, 38);
-            this.button13.TabIndex = 9;
-            this.button13.Text = "账号密码62登陆";
-            this.button13.UseVisualStyleBackColor = true;
-            this.button13.Click += new System.EventHandler(this.button13_Click);
-            // 
-            // button12
-            // 
-            this.button12.Location = new System.Drawing.Point(359, 24);
-            this.button12.Name = "button12";
-            this.button12.Size = new System.Drawing.Size(124, 39);
-            this.button12.TabIndex = 8;
-            this.button12.Text = "获取62数据";
-            this.button12.UseVisualStyleBackColor = true;
-            this.button12.Click += new System.EventHandler(this.button12_Click);
-            // 
-            // txt_loginToken
-            // 
-            this.txt_loginToken.Location = new System.Drawing.Point(93, 194);
-            this.txt_loginToken.Name = "txt_loginToken";
-            this.txt_loginToken.Size = new System.Drawing.Size(179, 25);
-            this.txt_loginToken.TabIndex = 7;
-            // 
-            // label15
-            // 
-            this.label15.AutoSize = true;
-            this.label15.Location = new System.Drawing.Point(19, 197);
-            this.label15.Name = "label15";
-            this.label15.Size = new System.Drawing.Size(62, 15);
-            this.label15.TabIndex = 6;
-            this.label15.Text = "Token:";
-            // 
-            // txt_login62
-            // 
-            this.txt_login62.Location = new System.Drawing.Point(93, 135);
-            this.txt_login62.Name = "txt_login62";
-            this.txt_login62.Size = new System.Drawing.Size(179, 25);
-            this.txt_login62.TabIndex = 5;
-            // 
-            // label14
-            // 
-            this.label14.AutoSize = true;
-            this.label14.Location = new System.Drawing.Point(19, 138);
-            this.label14.Name = "label14";
-            this.label14.Size = new System.Drawing.Size(68, 15);
-            this.label14.TabIndex = 4;
-            this.label14.Text = "62数据:";
-            // 
-            // txt_loginPassword
-            // 
-            this.txt_loginPassword.Location = new System.Drawing.Point(93, 78);
-            this.txt_loginPassword.Name = "txt_loginPassword";
-            this.txt_loginPassword.Size = new System.Drawing.Size(179, 25);
-            this.txt_loginPassword.TabIndex = 3;
-            // 
-            // label13
-            // 
-            this.label13.AutoSize = true;
-            this.label13.Location = new System.Drawing.Point(35, 81);
-            this.label13.Name = "label13";
-            this.label13.Size = new System.Drawing.Size(52, 15);
-            this.label13.TabIndex = 2;
-            this.label13.Text = "密码:";
-            // 
-            // txt_loginName
-            // 
-            this.txt_loginName.Location = new System.Drawing.Point(93, 24);
-            this.txt_loginName.Name = "txt_loginName";
-            this.txt_loginName.Size = new System.Drawing.Size(179, 25);
-            this.txt_loginName.TabIndex = 1;
-            // 
-            // label12
-            // 
-            this.label12.AutoSize = true;
-            this.label12.Location = new System.Drawing.Point(35, 27);
-            this.label12.Name = "label12";
-            this.label12.Size = new System.Drawing.Size(52, 15);
-            this.label12.TabIndex = 0;
-            this.label12.Text = "账号:";
-            // 
-            // tabPage6
-            // 
-            this.tabPage6.Controls.Add(this.button47);
-            this.tabPage6.Controls.Add(this.txt_addUserInfo);
-            this.tabPage6.Controls.Add(this.label55);
-            this.tabPage6.Controls.Add(this.button16);
-            this.tabPage6.Controls.Add(this.label21);
-            this.tabPage6.Controls.Add(this.cb_addtype);
-            this.tabPage6.Controls.Add(this.txt_hellotext);
-            this.tabPage6.Controls.Add(this.label20);
-            this.tabPage6.Controls.Add(this.txt_v2);
-            this.tabPage6.Controls.Add(this.label19);
-            this.tabPage6.Controls.Add(this.txt_v1);
-            this.tabPage6.Controls.Add(this.label18);
-            this.tabPage6.Controls.Add(this.button15);
-            this.tabPage6.Controls.Add(this.txt_Lng);
-            this.tabPage6.Controls.Add(this.label17);
-            this.tabPage6.Controls.Add(this.txt_Lat);
-            this.tabPage6.Controls.Add(this.label16);
-            this.tabPage6.Location = new System.Drawing.Point(4, 25);
-            this.tabPage6.Name = "tabPage6";
-            this.tabPage6.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage6.Size = new System.Drawing.Size(765, 396);
-            this.tabPage6.TabIndex = 5;
-            this.tabPage6.Text = "加粉引流";
-            this.tabPage6.UseVisualStyleBackColor = true;
-            // 
-            // button47
-            // 
-            this.button47.Location = new System.Drawing.Point(371, 228);
-            this.button47.Name = "button47";
-            this.button47.Size = new System.Drawing.Size(106, 27);
-            this.button47.TabIndex = 17;
-            this.button47.Text = "搜索";
-            this.button47.UseVisualStyleBackColor = true;
-            this.button47.Click += new System.EventHandler(this.button47_Click);
-            // 
-            // txt_addUserInfo
-            // 
-            this.txt_addUserInfo.Location = new System.Drawing.Point(167, 230);
-            this.txt_addUserInfo.Name = "txt_addUserInfo";
-            this.txt_addUserInfo.Size = new System.Drawing.Size(179, 25);
-            this.txt_addUserInfo.TabIndex = 16;
-            // 
-            // label55
-            // 
-            this.label55.AutoSize = true;
-            this.label55.Location = new System.Drawing.Point(33, 233);
-            this.label55.Name = "label55";
-            this.label55.Size = new System.Drawing.Size(136, 15);
-            this.label55.TabIndex = 15;
-            this.label55.Text = "微信号手机号QQ号:";
-            // 
-            // button16
-            // 
-            this.button16.Location = new System.Drawing.Point(643, 222);
-            this.button16.Name = "button16";
-            this.button16.Size = new System.Drawing.Size(90, 41);
-            this.button16.TabIndex = 14;
-            this.button16.Text = "添加";
-            this.button16.UseVisualStyleBackColor = true;
-            this.button16.Click += new System.EventHandler(this.button16_Click);
-            // 
-            // label21
-            // 
-            this.label21.AutoSize = true;
-            this.label21.Location = new System.Drawing.Point(353, 180);
-            this.label21.Name = "label21";
-            this.label21.Size = new System.Drawing.Size(82, 15);
-            this.label21.TabIndex = 13;
-            this.label21.Text = "添加方式:";
-            // 
-            // cb_addtype
-            // 
-            this.cb_addtype.FormattingEnabled = true;
-            this.cb_addtype.Items.AddRange(new object[] {
-            "1-通过QQ好友添加--可以",
-            "2-通过搜索邮箱--可加但无提示",
-            "3-通过微信号搜索--可以",
-            "5-通过朋友验证消息-可加但无提示",
-            "7-通过朋友验证消息(可回复)-可加但无提示",
-            "12-来自QQ好友--可以",
-            "13-通过手机通讯录添加--可以",
-            "14-通过群来源--no",
-            "15-通过搜索手机号--可以",
-            "16-通过朋友验证消息-可加但无提示",
-            "17-通过名片分享--no",
-            "18-通过附近的人--可以(貌似只需要v1就够了)",
-            "22-通过摇一摇打招呼方式--可以",
-            "25-通过漂流瓶---no",
-            "30-通过二维码方式--可以"});
-            this.cb_addtype.Location = new System.Drawing.Point(441, 179);
-            this.cb_addtype.Name = "cb_addtype";
-            this.cb_addtype.Size = new System.Drawing.Size(274, 23);
-            this.cb_addtype.TabIndex = 12;
-            // 
-            // txt_hellotext
-            // 
-            this.txt_hellotext.Location = new System.Drawing.Point(92, 177);
-            this.txt_hellotext.Name = "txt_hellotext";
-            this.txt_hellotext.Size = new System.Drawing.Size(219, 25);
-            this.txt_hellotext.TabIndex = 11;
-            // 
-            // label20
-            // 
-            this.label20.AutoSize = true;
-            this.label20.Location = new System.Drawing.Point(33, 180);
-            this.label20.Name = "label20";
-            this.label20.Size = new System.Drawing.Size(67, 15);
-            this.label20.TabIndex = 10;
-            this.label20.Text = "打招呼:";
-            // 
-            // txt_v2
-            // 
-            this.txt_v2.Location = new System.Drawing.Point(92, 137);
-            this.txt_v2.Name = "txt_v2";
-            this.txt_v2.Size = new System.Drawing.Size(653, 25);
-            this.txt_v2.TabIndex = 9;
-            // 
-            // label19
-            // 
-            this.label19.AutoSize = true;
-            this.label19.Location = new System.Drawing.Point(33, 140);
-            this.label19.Name = "label19";
-            this.label19.Size = new System.Drawing.Size(38, 15);
-            this.label19.TabIndex = 8;
-            this.label19.Text = "v2:";
-            // 
-            // txt_v1
-            // 
-            this.txt_v1.Location = new System.Drawing.Point(92, 102);
-            this.txt_v1.Name = "txt_v1";
-            this.txt_v1.Size = new System.Drawing.Size(653, 25);
-            this.txt_v1.TabIndex = 7;
-            // 
-            // label18
-            // 
-            this.label18.AutoSize = true;
-            this.label18.Location = new System.Drawing.Point(33, 105);
-            this.label18.Name = "label18";
-            this.label18.Size = new System.Drawing.Size(38, 15);
-            this.label18.TabIndex = 6;
-            this.label18.Text = "v1:";
-            // 
-            // button15
-            // 
-            this.button15.Location = new System.Drawing.Point(441, 18);
-            this.button15.Name = "button15";
-            this.button15.Size = new System.Drawing.Size(142, 26);
-            this.button15.TabIndex = 4;
-            this.button15.Text = "查看附近的人";
-            this.button15.UseVisualStyleBackColor = true;
-            this.button15.Click += new System.EventHandler(this.button15_Click);
-            // 
-            // txt_Lng
-            // 
-            this.txt_Lng.Location = new System.Drawing.Point(283, 18);
-            this.txt_Lng.Name = "txt_Lng";
-            this.txt_Lng.Size = new System.Drawing.Size(100, 25);
-            this.txt_Lng.TabIndex = 3;
-            this.txt_Lng.Text = "118.538361";
-            // 
-            // label17
-            // 
-            this.label17.AutoSize = true;
-            this.label17.Location = new System.Drawing.Point(227, 19);
-            this.label17.Name = "label17";
-            this.label17.Size = new System.Drawing.Size(39, 15);
-            this.label17.TabIndex = 2;
-            this.label17.Text = "Lng:";
-            // 
-            // txt_Lat
-            // 
-            this.txt_Lat.Location = new System.Drawing.Point(92, 19);
-            this.txt_Lat.Name = "txt_Lat";
-            this.txt_Lat.Size = new System.Drawing.Size(100, 25);
-            this.txt_Lat.TabIndex = 1;
-            this.txt_Lat.Text = "24.911349";
-            // 
-            // label16
-            // 
-            this.label16.AutoSize = true;
-            this.label16.Location = new System.Drawing.Point(30, 19);
-            this.label16.Name = "label16";
-            this.label16.Size = new System.Drawing.Size(39, 15);
-            this.label16.TabIndex = 0;
-            this.label16.Text = "Lat:";
-            // 
-            // tabPage8
-            // 
-            this.tabPage8.Controls.Add(this.button45);
-            this.tabPage8.Controls.Add(this.txt_gzhUrl);
-            this.tabPage8.Controls.Add(this.label47);
-            this.tabPage8.Controls.Add(this.button40);
-            this.tabPage8.Controls.Add(this.txt_gzhKey);
-            this.tabPage8.Controls.Add(this.label43);
-            this.tabPage8.Controls.Add(this.txt_gzhUin);
-            this.tabPage8.Controls.Add(this.label42);
-            this.tabPage8.Controls.Add(this.lb_gzh);
-            this.tabPage8.Controls.Add(this.button22);
-            this.tabPage8.Controls.Add(this.button21);
-            this.tabPage8.Controls.Add(this.txt_gzhid);
-            this.tabPage8.Controls.Add(this.label22);
-            this.tabPage8.Location = new System.Drawing.Point(4, 25);
-            this.tabPage8.Name = "tabPage8";
-            this.tabPage8.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage8.Size = new System.Drawing.Size(765, 396);
-            this.tabPage8.TabIndex = 7;
-            this.tabPage8.Text = "公众号";
-            this.tabPage8.UseVisualStyleBackColor = true;
-            // 
-            // button45
-            // 
-            this.button45.Location = new System.Drawing.Point(594, 168);
-            this.button45.Name = "button45";
-            this.button45.Size = new System.Drawing.Size(121, 25);
-            this.button45.TabIndex = 13;
-            this.button45.Text = "阅读";
-            this.button45.UseVisualStyleBackColor = true;
-            this.button45.Click += new System.EventHandler(this.button45_Click);
-            // 
-            // txt_gzhUrl
-            // 
-            this.txt_gzhUrl.Location = new System.Drawing.Point(375, 168);
-            this.txt_gzhUrl.Name = "txt_gzhUrl";
-            this.txt_gzhUrl.Size = new System.Drawing.Size(198, 25);
-            this.txt_gzhUrl.TabIndex = 12;
-            // 
-            // label47
-            // 
-            this.label47.AutoSize = true;
-            this.label47.Location = new System.Drawing.Point(322, 171);
-            this.label47.Name = "label47";
-            this.label47.Size = new System.Drawing.Size(47, 15);
-            this.label47.TabIndex = 11;
-            this.label47.Text = "url: ";
-            // 
-            // button40
-            // 
-            this.button40.Location = new System.Drawing.Point(594, 77);
-            this.button40.Name = "button40";
-            this.button40.Size = new System.Drawing.Size(138, 39);
-            this.button40.TabIndex = 10;
-            this.button40.Text = "执行公众号菜单";
-            this.button40.UseVisualStyleBackColor = true;
-            this.button40.Click += new System.EventHandler(this.button40_Click);
-            // 
-            // txt_gzhKey
-            // 
-            this.txt_gzhKey.Location = new System.Drawing.Point(375, 110);
-            this.txt_gzhKey.Name = "txt_gzhKey";
-            this.txt_gzhKey.Size = new System.Drawing.Size(198, 25);
-            this.txt_gzhKey.TabIndex = 9;
-            // 
-            // label43
-            // 
-            this.label43.AutoSize = true;
-            this.label43.Location = new System.Drawing.Point(322, 113);
-            this.label43.Name = "label43";
-            this.label43.Size = new System.Drawing.Size(47, 15);
-            this.label43.TabIndex = 8;
-            this.label43.Text = "key: ";
-            // 
-            // txt_gzhUin
-            // 
-            this.txt_gzhUin.Location = new System.Drawing.Point(375, 62);
-            this.txt_gzhUin.Name = "txt_gzhUin";
-            this.txt_gzhUin.Size = new System.Drawing.Size(198, 25);
-            this.txt_gzhUin.TabIndex = 7;
-            // 
-            // label42
-            // 
-            this.label42.AutoSize = true;
-            this.label42.Location = new System.Drawing.Point(322, 65);
-            this.label42.Name = "label42";
-            this.label42.Size = new System.Drawing.Size(47, 15);
-            this.label42.TabIndex = 6;
-            this.label42.Text = "uin: ";
-            // 
-            // lb_gzh
-            // 
-            this.lb_gzh.FormattingEnabled = true;
-            this.lb_gzh.ItemHeight = 15;
-            this.lb_gzh.Location = new System.Drawing.Point(26, 46);
-            this.lb_gzh.Name = "lb_gzh";
-            this.lb_gzh.Size = new System.Drawing.Size(229, 199);
-            this.lb_gzh.TabIndex = 5;
-            // 
-            // button22
-            // 
-            this.button22.Location = new System.Drawing.Point(541, 15);
-            this.button22.Name = "button22";
-            this.button22.Size = new System.Drawing.Size(121, 23);
-            this.button22.TabIndex = 4;
-            this.button22.Text = "获取公众号内容";
-            this.button22.UseVisualStyleBackColor = true;
-            this.button22.Click += new System.EventHandler(this.button22_Click);
-            // 
-            // button21
-            // 
-            this.button21.Location = new System.Drawing.Point(422, 15);
-            this.button21.Name = "button21";
-            this.button21.Size = new System.Drawing.Size(112, 24);
-            this.button21.TabIndex = 2;
-            this.button21.Text = "关注公众号";
-            this.button21.UseVisualStyleBackColor = true;
-            this.button21.Click += new System.EventHandler(this.button21_Click);
-            // 
-            // txt_gzhid
-            // 
-            this.txt_gzhid.Location = new System.Drawing.Point(197, 14);
-            this.txt_gzhid.Name = "txt_gzhid";
-            this.txt_gzhid.Size = new System.Drawing.Size(198, 25);
-            this.txt_gzhid.TabIndex = 1;
-            // 
-            // label22
-            // 
-            this.label22.AutoSize = true;
-            this.label22.Location = new System.Drawing.Point(23, 17);
-            this.label22.Name = "label22";
-            this.label22.Size = new System.Drawing.Size(156, 15);
-            this.label22.TabIndex = 0;
-            this.label22.Text = "公众号id: gh_xxxxxx";
-            // 
-            // tabPage7
-            // 
-            this.tabPage7.Controls.Add(this.txt_msgcallback);
-            this.tabPage7.Location = new System.Drawing.Point(4, 25);
-            this.tabPage7.Name = "tabPage7";
-            this.tabPage7.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage7.Size = new System.Drawing.Size(765, 396);
-            this.tabPage7.TabIndex = 8;
-            this.tabPage7.Text = "收消息回调";
-            this.tabPage7.UseVisualStyleBackColor = true;
-            // 
-            // txt_msgcallback
-            // 
-            this.txt_msgcallback.Location = new System.Drawing.Point(6, 6);
-            this.txt_msgcallback.Multiline = true;
-            this.txt_msgcallback.Name = "txt_msgcallback";
-            this.txt_msgcallback.Size = new System.Drawing.Size(753, 384);
-            this.txt_msgcallback.TabIndex = 0;
-            // 
-            // tabPage9
-            // 
-            this.tabPage9.Controls.Add(this.button28);
-            this.tabPage9.Controls.Add(this.txt_labelId1);
-            this.tabPage9.Controls.Add(this.label33);
-            this.tabPage9.Controls.Add(this.button27);
-            this.tabPage9.Controls.Add(this.txt_labelName);
-            this.tabPage9.Controls.Add(this.label32);
-            this.tabPage9.Controls.Add(this.button26);
-            this.tabPage9.Controls.Add(this.txt_labelId);
-            this.tabPage9.Controls.Add(this.label31);
-            this.tabPage9.Controls.Add(this.txt_labelWxid);
-            this.tabPage9.Controls.Add(this.label30);
-            this.tabPage9.Controls.Add(this.button25);
-            this.tabPage9.Location = new System.Drawing.Point(4, 25);
-            this.tabPage9.Name = "tabPage9";
-            this.tabPage9.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage9.Size = new System.Drawing.Size(765, 396);
-            this.tabPage9.TabIndex = 9;
-            this.tabPage9.Text = "用户标签";
-            this.tabPage9.UseVisualStyleBackColor = true;
-            // 
-            // button28
-            // 
-            this.button28.Location = new System.Drawing.Point(479, 112);
-            this.button28.Name = "button28";
-            this.button28.Size = new System.Drawing.Size(95, 25);
-            this.button28.TabIndex = 12;
-            this.button28.Text = "删除标签";
-            this.button28.UseVisualStyleBackColor = true;
-            this.button28.Click += new System.EventHandler(this.button28_Click);
-            // 
-            // txt_labelId1
-            // 
-            this.txt_labelId1.Location = new System.Drawing.Point(322, 112);
-            this.txt_labelId1.Name = "txt_labelId1";
-            this.txt_labelId1.Size = new System.Drawing.Size(136, 25);
-            this.txt_labelId1.TabIndex = 11;
-            // 
-            // label33
-            // 
-            this.label33.AutoSize = true;
-            this.label33.Location = new System.Drawing.Point(255, 119);
-            this.label33.Name = "label33";
-            this.label33.Size = new System.Drawing.Size(61, 15);
-            this.label33.TabIndex = 10;
-            this.label33.Text = "标签id:";
-            // 
-            // button27
-            // 
-            this.button27.Location = new System.Drawing.Point(542, 63);
-            this.button27.Name = "button27";
-            this.button27.Size = new System.Drawing.Size(94, 27);
-            this.button27.TabIndex = 9;
-            this.button27.Text = "创建标签";
-            this.button27.UseVisualStyleBackColor = true;
-            this.button27.Click += new System.EventHandler(this.button27_Click);
-            // 
-            // txt_labelName
-            // 
-            this.txt_labelName.Location = new System.Drawing.Point(322, 65);
-            this.txt_labelName.Name = "txt_labelName";
-            this.txt_labelName.Size = new System.Drawing.Size(194, 25);
-            this.txt_labelName.TabIndex = 8;
-            // 
-            // label32
-            // 
-            this.label32.AutoSize = true;
-            this.label32.Location = new System.Drawing.Point(249, 68);
-            this.label32.Name = "label32";
-            this.label32.Size = new System.Drawing.Size(67, 15);
-            this.label32.TabIndex = 7;
-            this.label32.Text = "标签名:";
-            // 
-            // button26
-            // 
-            this.button26.Location = new System.Drawing.Point(664, 19);
-            this.button26.Name = "button26";
-            this.button26.Size = new System.Drawing.Size(75, 27);
-            this.button26.TabIndex = 6;
-            this.button26.Text = "设置标签";
-            this.button26.UseVisualStyleBackColor = true;
-            this.button26.Click += new System.EventHandler(this.button26_Click);
-            // 
-            // txt_labelId
-            // 
-            this.txt_labelId.Location = new System.Drawing.Point(521, 21);
-            this.txt_labelId.Name = "txt_labelId";
-            this.txt_labelId.Size = new System.Drawing.Size(136, 25);
-            this.txt_labelId.TabIndex = 5;
-            // 
-            // label31
-            // 
-            this.label31.AutoSize = true;
-            this.label31.Location = new System.Drawing.Point(454, 28);
-            this.label31.Name = "label31";
-            this.label31.Size = new System.Drawing.Size(61, 15);
-            this.label31.TabIndex = 4;
-            this.label31.Text = "标签id:";
-            // 
-            // txt_labelWxid
-            // 
-            this.txt_labelWxid.Location = new System.Drawing.Point(300, 21);
-            this.txt_labelWxid.Name = "txt_labelWxid";
-            this.txt_labelWxid.Size = new System.Drawing.Size(136, 25);
-            this.txt_labelWxid.TabIndex = 3;
-            // 
-            // label30
-            // 
-            this.label30.AutoSize = true;
-            this.label30.Location = new System.Drawing.Point(246, 28);
-            this.label30.Name = "label30";
-            this.label30.Size = new System.Drawing.Size(47, 15);
-            this.label30.TabIndex = 2;
-            this.label30.Text = "wxid:";
-            // 
-            // button25
-            // 
-            this.button25.Location = new System.Drawing.Point(24, 21);
-            this.button25.Name = "button25";
-            this.button25.Size = new System.Drawing.Size(127, 29);
-            this.button25.TabIndex = 0;
-            this.button25.Text = "获取标签列表";
-            this.button25.UseVisualStyleBackColor = true;
-            this.button25.Click += new System.EventHandler(this.button25_Click);
-            // 
-            // tabPage10
-            // 
-            this.tabPage10.Controls.Add(this.txt_favId);
-            this.tabPage10.Controls.Add(this.label36);
-            this.tabPage10.Controls.Add(this.button31);
-            this.tabPage10.Controls.Add(this.txt_favObject);
-            this.tabPage10.Controls.Add(this.label35);
-            this.tabPage10.Controls.Add(this.button30);
-            this.tabPage10.Controls.Add(this.txt_favKey);
-            this.tabPage10.Controls.Add(this.label34);
-            this.tabPage10.Controls.Add(this.button29);
-            this.tabPage10.Location = new System.Drawing.Point(4, 25);
-            this.tabPage10.Name = "tabPage10";
-            this.tabPage10.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage10.Size = new System.Drawing.Size(765, 396);
-            this.tabPage10.TabIndex = 10;
-            this.tabPage10.Text = "收藏";
-            this.tabPage10.UseVisualStyleBackColor = true;
-            // 
-            // txt_favId
-            // 
-            this.txt_favId.Location = new System.Drawing.Point(233, 121);
-            this.txt_favId.Name = "txt_favId";
-            this.txt_favId.Size = new System.Drawing.Size(138, 25);
-            this.txt_favId.TabIndex = 8;
-            // 
-            // label36
-            // 
-            this.label36.AutoSize = true;
-            this.label36.Location = new System.Drawing.Point(140, 124);
-            this.label36.Name = "label36";
-            this.label36.Size = new System.Drawing.Size(68, 15);
-            this.label36.TabIndex = 7;
-            this.label36.Text = "收藏id:";
-            // 
-            // button31
-            // 
-            this.button31.Location = new System.Drawing.Point(19, 114);
-            this.button31.Name = "button31";
-            this.button31.Size = new System.Drawing.Size(87, 34);
-            this.button31.TabIndex = 6;
-            this.button31.Text = "查看收藏";
-            this.button31.UseVisualStyleBackColor = true;
-            this.button31.Click += new System.EventHandler(this.button31_Click);
-            // 
-            // txt_favObject
-            // 
-            this.txt_favObject.Location = new System.Drawing.Point(233, 65);
-            this.txt_favObject.Name = "txt_favObject";
-            this.txt_favObject.Size = new System.Drawing.Size(512, 25);
-            this.txt_favObject.TabIndex = 5;
-            this.txt_favObject.Text = resources.GetString("txt_favObject.Text");
-            // 
-            // label35
-            // 
-            this.label35.AutoSize = true;
-            this.label35.Location = new System.Drawing.Point(140, 70);
-            this.label35.Name = "label35";
-            this.label35.Size = new System.Drawing.Size(76, 15);
-            this.label35.TabIndex = 4;
-            this.label35.Text = "收藏key:";
-            // 
-            // button30
-            // 
-            this.button30.Location = new System.Drawing.Point(19, 65);
-            this.button30.Name = "button30";
-            this.button30.Size = new System.Drawing.Size(87, 31);
-            this.button30.TabIndex = 3;
-            this.button30.Text = "添加收藏";
-            this.button30.UseVisualStyleBackColor = true;
-            this.button30.Click += new System.EventHandler(this.button30_Click);
-            // 
-            // txt_favKey
-            // 
-            this.txt_favKey.Location = new System.Drawing.Point(233, 19);
-            this.txt_favKey.Name = "txt_favKey";
-            this.txt_favKey.Size = new System.Drawing.Size(138, 25);
-            this.txt_favKey.TabIndex = 2;
-            // 
-            // label34
-            // 
-            this.label34.AutoSize = true;
-            this.label34.Location = new System.Drawing.Point(140, 24);
-            this.label34.Name = "label34";
-            this.label34.Size = new System.Drawing.Size(76, 15);
-            this.label34.TabIndex = 1;
-            this.label34.Text = "收藏key:";
-            // 
-            // button29
-            // 
-            this.button29.Location = new System.Drawing.Point(19, 17);
-            this.button29.Name = "button29";
-            this.button29.Size = new System.Drawing.Size(87, 28);
-            this.button29.TabIndex = 0;
-            this.button29.Text = "同步收藏";
-            this.button29.UseVisualStyleBackColor = true;
-            this.button29.Click += new System.EventHandler(this.button29_Click);
-            // 
-            // tabPage11
-            // 
-            this.tabPage11.Controls.Add(this.button46);
-            this.tabPage11.Controls.Add(this.label54);
-            this.tabPage11.Controls.Add(this.txt_setCity);
-            this.tabPage11.Controls.Add(this.label53);
-            this.tabPage11.Controls.Add(this.txt_setProvincia);
-            this.tabPage11.Controls.Add(this.label52);
-            this.tabPage11.Controls.Add(this.txt_setCountry);
-            this.tabPage11.Controls.Add(this.label51);
-            this.tabPage11.Controls.Add(this.label50);
-            this.tabPage11.Controls.Add(this.txt_setSex);
-            this.tabPage11.Controls.Add(this.label49);
-            this.tabPage11.Controls.Add(this.txt_setSign);
-            this.tabPage11.Controls.Add(this.label48);
-            this.tabPage11.Controls.Add(this.txt_setNickName);
-            this.tabPage11.Controls.Add(this.button41);
-            this.tabPage11.Controls.Add(this.label44);
-            this.tabPage11.Controls.Add(this.txt_setWxid);
-            this.tabPage11.Location = new System.Drawing.Point(4, 25);
-            this.tabPage11.Name = "tabPage11";
-            this.tabPage11.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage11.Size = new System.Drawing.Size(765, 396);
-            this.tabPage11.TabIndex = 11;
-            this.tabPage11.Text = "个人信息";
-            this.tabPage11.UseVisualStyleBackColor = true;
-            // 
-            // button46
-            // 
-            this.button46.Location = new System.Drawing.Point(370, 311);
-            this.button46.Name = "button46";
-            this.button46.Size = new System.Drawing.Size(98, 25);
-            this.button46.TabIndex = 16;
-            this.button46.Text = "设置资料";
-            this.button46.UseVisualStyleBackColor = true;
-            this.button46.Click += new System.EventHandler(this.button46_Click);
-            // 
-            // label54
-            // 
-            this.label54.AutoSize = true;
-            this.label54.Location = new System.Drawing.Point(65, 314);
-            this.label54.Name = "label54";
-            this.label54.Size = new System.Drawing.Size(52, 15);
-            this.label54.TabIndex = 15;
-            this.label54.Text = "城市:";
-            // 
-            // txt_setCity
-            // 
-            this.txt_setCity.Location = new System.Drawing.Point(123, 311);
-            this.txt_setCity.Name = "txt_setCity";
-            this.txt_setCity.Size = new System.Drawing.Size(220, 25);
-            this.txt_setCity.TabIndex = 14;
-            this.txt_setCity.Text = "guangzhou";
-            // 
-            // label53
-            // 
-            this.label53.AutoSize = true;
-            this.label53.Location = new System.Drawing.Point(65, 267);
-            this.label53.Name = "label53";
-            this.label53.Size = new System.Drawing.Size(52, 15);
-            this.label53.TabIndex = 13;
-            this.label53.Text = "省份:";
-            // 
-            // txt_setProvincia
-            // 
-            this.txt_setProvincia.Location = new System.Drawing.Point(123, 264);
-            this.txt_setProvincia.Name = "txt_setProvincia";
-            this.txt_setProvincia.Size = new System.Drawing.Size(220, 25);
-            this.txt_setProvincia.TabIndex = 12;
-            this.txt_setProvincia.Text = "guangdong";
-            // 
-            // label52
-            // 
-            this.label52.AutoSize = true;
-            this.label52.Location = new System.Drawing.Point(65, 223);
-            this.label52.Name = "label52";
-            this.label52.Size = new System.Drawing.Size(52, 15);
-            this.label52.TabIndex = 11;
-            this.label52.Text = "国籍:";
-            // 
-            // txt_setCountry
-            // 
-            this.txt_setCountry.Location = new System.Drawing.Point(123, 220);
-            this.txt_setCountry.Name = "txt_setCountry";
-            this.txt_setCountry.Size = new System.Drawing.Size(220, 25);
-            this.txt_setCountry.TabIndex = 10;
-            this.txt_setCountry.Text = "CN";
-            // 
-            // label51
-            // 
-            this.label51.AutoSize = true;
-            this.label51.Location = new System.Drawing.Point(367, 178);
-            this.label51.Name = "label51";
-            this.label51.Size = new System.Drawing.Size(38, 15);
-            this.label51.TabIndex = 9;
-            this.label51.Text = "0或1";
-            // 
-            // label50
-            // 
-            this.label50.AutoSize = true;
-            this.label50.Location = new System.Drawing.Point(65, 178);
-            this.label50.Name = "label50";
-            this.label50.Size = new System.Drawing.Size(52, 15);
-            this.label50.TabIndex = 8;
-            this.label50.Text = "性别:";
-            // 
-            // txt_setSex
-            // 
-            this.txt_setSex.Location = new System.Drawing.Point(123, 175);
-            this.txt_setSex.Name = "txt_setSex";
-            this.txt_setSex.Size = new System.Drawing.Size(220, 25);
-            this.txt_setSex.TabIndex = 7;
-            this.txt_setSex.Text = "1";
-            // 
-            // label49
-            // 
-            this.label49.AutoSize = true;
-            this.label49.Location = new System.Drawing.Point(65, 127);
-            this.label49.Name = "label49";
-            this.label49.Size = new System.Drawing.Size(52, 15);
-            this.label49.TabIndex = 6;
-            this.label49.Text = "签名:";
-            // 
-            // txt_setSign
-            // 
-            this.txt_setSign.Location = new System.Drawing.Point(123, 124);
-            this.txt_setSign.Name = "txt_setSign";
-            this.txt_setSign.Size = new System.Drawing.Size(220, 25);
-            this.txt_setSign.TabIndex = 5;
-            this.txt_setSign.Text = "微信协议看:https://github.com/changtuiqie/Mac.WeChat";
-            // 
-            // label48
-            // 
-            this.label48.AutoSize = true;
-            this.label48.Location = new System.Drawing.Point(65, 74);
-            this.label48.Name = "label48";
-            this.label48.Size = new System.Drawing.Size(52, 15);
-            this.label48.TabIndex = 4;
-            this.label48.Text = "昵称:";
-            // 
-            // txt_setNickName
-            // 
-            this.txt_setNickName.Location = new System.Drawing.Point(123, 71);
-            this.txt_setNickName.Name = "txt_setNickName";
-            this.txt_setNickName.Size = new System.Drawing.Size(220, 25);
-            this.txt_setNickName.TabIndex = 3;
-            this.txt_setNickName.Text = "MacWeChat";
-            // 
-            // button41
-            // 
-            this.button41.Location = new System.Drawing.Point(358, 24);
-            this.button41.Name = "button41";
-            this.button41.Size = new System.Drawing.Size(95, 26);
-            this.button41.TabIndex = 2;
-            this.button41.Text = "设置";
-            this.button41.UseVisualStyleBackColor = true;
-            this.button41.Click += new System.EventHandler(this.button41_Click);
-            // 
-            // label44
-            // 
-            this.label44.AutoSize = true;
-            this.label44.Location = new System.Drawing.Point(22, 28);
-            this.label44.Name = "label44";
-            this.label44.Size = new System.Drawing.Size(98, 15);
-            this.label44.TabIndex = 1;
-            this.label44.Text = "设置微信id:";
-            // 
-            // txt_setWxid
-            // 
-            this.txt_setWxid.Location = new System.Drawing.Point(123, 25);
-            this.txt_setWxid.Name = "txt_setWxid";
-            this.txt_setWxid.Size = new System.Drawing.Size(220, 25);
-            this.txt_setWxid.TabIndex = 0;
-            // 
-            // tabPage12
-            // 
-            this.tabPage12.Controls.Add(this.button44);
-            this.tabPage12.Controls.Add(this.button43);
-            this.tabPage12.Controls.Add(this.txt_orderUrl);
-            this.tabPage12.Controls.Add(this.label46);
-            this.tabPage12.Controls.Add(this.label45);
-            this.tabPage12.Controls.Add(this.button42);
-            this.tabPage12.Location = new System.Drawing.Point(4, 25);
-            this.tabPage12.Name = "tabPage12";
-            this.tabPage12.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage12.Size = new System.Drawing.Size(765, 396);
-            this.tabPage12.TabIndex = 12;
-            this.tabPage12.Text = "其他设备登录";
-            this.tabPage12.UseVisualStyleBackColor = true;
-            // 
-            // button44
-            // 
-            this.button44.Location = new System.Drawing.Point(404, 124);
-            this.button44.Name = "button44";
-            this.button44.Size = new System.Drawing.Size(113, 36);
-            this.button44.TabIndex = 6;
-            this.button44.Text = "确认登录";
-            this.button44.UseVisualStyleBackColor = true;
-            this.button44.Click += new System.EventHandler(this.button44_Click);
-            // 
-            // button43
-            // 
-            this.button43.Location = new System.Drawing.Point(404, 70);
-            this.button43.Name = "button43";
-            this.button43.Size = new System.Drawing.Size(113, 35);
-            this.button43.TabIndex = 5;
-            this.button43.Text = "登录";
-            this.button43.UseVisualStyleBackColor = true;
-            this.button43.Click += new System.EventHandler(this.button43_Click);
-            // 
-            // txt_orderUrl
-            // 
-            this.txt_orderUrl.Location = new System.Drawing.Point(66, 71);
-            this.txt_orderUrl.Name = "txt_orderUrl";
-            this.txt_orderUrl.Size = new System.Drawing.Size(319, 25);
-            this.txt_orderUrl.TabIndex = 4;
-            // 
-            // label46
-            // 
-            this.label46.AutoSize = true;
-            this.label46.Location = new System.Drawing.Point(21, 74);
-            this.label46.Name = "label46";
-            this.label46.Size = new System.Drawing.Size(39, 15);
-            this.label46.TabIndex = 3;
-            this.label46.Text = "url:";
-            // 
-            // label45
-            // 
-            this.label45.AutoSize = true;
-            this.label45.Location = new System.Drawing.Point(183, 27);
-            this.label45.Name = "label45";
-            this.label45.Size = new System.Drawing.Size(523, 15);
-            this.label45.TabIndex = 2;
-            this.label45.Text = "使用账号密码+62登录后 可以打开pc或web端的二维码获取URL后登录其他终端";
-            // 
-            // button42
-            // 
-            this.button42.Location = new System.Drawing.Point(21, 16);
-            this.button42.Name = "button42";
-            this.button42.Size = new System.Drawing.Size(145, 36);
-            this.button42.TabIndex = 0;
-            this.button42.Text = "获取二维码信息";
-            this.button42.UseVisualStyleBackColor = true;
-            this.button42.Click += new System.EventHandler(this.button42_Click);
-            // 
-            // button14
-            // 
-            this.button14.Location = new System.Drawing.Point(12, 390);
-            this.button14.Name = "button14";
-            this.button14.Size = new System.Drawing.Size(106, 44);
-            this.button14.TabIndex = 4;
-            this.button14.Text = "扫码登录";
-            this.button14.UseVisualStyleBackColor = true;
-            this.button14.Click += new System.EventHandler(this.button14_Click);
-            // 
-            // txt_syslog
-            // 
-            this.txt_syslog.Location = new System.Drawing.Point(15, 479);
-            this.txt_syslog.Multiline = true;
-            this.txt_syslog.Name = "txt_syslog";
-            this.txt_syslog.Size = new System.Drawing.Size(978, 143);
-            this.txt_syslog.TabIndex = 5;
-            // 
-            // label56
-            // 
-            this.label56.AutoSize = true;
-            this.label56.Location = new System.Drawing.Point(12, 450);
-            this.label56.Name = "label56";
-            this.label56.Size = new System.Drawing.Size(67, 15);
-            this.label56.TabIndex = 6;
-            this.label56.Text = "返回值:";
-            // 
-            // FormDemo
-            // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(1009, 634);
-            this.Controls.Add(this.label56);
-            this.Controls.Add(this.txt_syslog);
-            this.Controls.Add(this.button14);
-            this.Controls.Add(this.tabControl1);
-            this.Controls.Add(this.label1);
-            this.Controls.Add(this.textBox1);
-            this.Controls.Add(this.pictureBox1);
-            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
-            this.MaximizeBox = false;
-            this.MinimizeBox = false;
-            this.Name = "FormDemo";
-            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
-            this.Text = "Mac微信Demo";
-            this.Load += new System.EventHandler(this.FormDemo_Load);
-            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
-            this.tabControl1.ResumeLayout(false);
-            this.tabPage1.ResumeLayout(false);
-            this.tabPage1.PerformLayout();
-            this.tabPage2.ResumeLayout(false);
-            this.tabPage2.PerformLayout();
-            this.tabPage3.ResumeLayout(false);
-            this.tabPage3.PerformLayout();
-            this.tabPage4.ResumeLayout(false);
-            this.tabPage4.PerformLayout();
-            this.tabPage5.ResumeLayout(false);
-            this.tabPage5.PerformLayout();
-            this.tabPage6.ResumeLayout(false);
-            this.tabPage6.PerformLayout();
-            this.tabPage8.ResumeLayout(false);
-            this.tabPage8.PerformLayout();
-            this.tabPage7.ResumeLayout(false);
-            this.tabPage7.PerformLayout();
-            this.tabPage9.ResumeLayout(false);
-            this.tabPage9.PerformLayout();
-            this.tabPage10.ResumeLayout(false);
-            this.tabPage10.PerformLayout();
-            this.tabPage11.ResumeLayout(false);
-            this.tabPage11.PerformLayout();
-            this.tabPage12.ResumeLayout(false);
-            this.tabPage12.PerformLayout();
-            this.ResumeLayout(false);
-            this.PerformLayout();
-
-        }
-
-        #endregion
-
-        private System.Windows.Forms.PictureBox pictureBox1;
-        private System.Windows.Forms.TextBox textBox1;
-        private System.Windows.Forms.Label label1;
-        private System.Windows.Forms.TabControl tabControl1;
-        private System.Windows.Forms.TabPage tabPage1;
-        private System.Windows.Forms.TabPage tabPage2;
-        private System.Windows.Forms.TextBox txt_msgWxid;
-        private System.Windows.Forms.Label label2;
-        private System.Windows.Forms.TextBox txt_msgText;
-        private System.Windows.Forms.Label label3;
-        private System.Windows.Forms.Button button1;
-        private System.Windows.Forms.Button button2;
-        private System.Windows.Forms.Label label4;
-        private System.Windows.Forms.Button button3;
-        private System.Windows.Forms.TextBox txt_snsText;
-        private System.Windows.Forms.Button button4;
-        private System.Windows.Forms.Button button5;
-        private System.Windows.Forms.ListBox listBox1;
-        private System.Windows.Forms.TabPage tabPage3;
-        private System.Windows.Forms.Label label5;
-        private System.Windows.Forms.ListBox lb_friend;
-        private System.Windows.Forms.TabPage tabPage4;
-        private System.Windows.Forms.Label label7;
-        private System.Windows.Forms.TextBox txt_GroupUsers;
-        private System.Windows.Forms.Button button6;
-        private System.Windows.Forms.TextBox txt_groupuserwxid;
-        private System.Windows.Forms.Label label8;
-        private System.Windows.Forms.Button button7;
-        private System.Windows.Forms.TextBox txt_groupwxid;
-        private System.Windows.Forms.Label label9;
-        private System.Windows.Forms.Button button8;
-        private System.Windows.Forms.TextBox txt_groupname;
-        private System.Windows.Forms.Label label11;
-        private System.Windows.Forms.Button button9;
-        private System.Windows.Forms.TextBox txt_groupgg;
-        private System.Windows.Forms.Label label10;
-        private System.Windows.Forms.Button button10;
-        private System.Windows.Forms.Button button11;
-        private System.Windows.Forms.TabPage tabPage5;
-        private System.Windows.Forms.Button button12;
-        private System.Windows.Forms.TextBox txt_loginToken;
-        private System.Windows.Forms.Label label15;
-        private System.Windows.Forms.TextBox txt_login62;
-        private System.Windows.Forms.Label label14;
-        private System.Windows.Forms.TextBox txt_loginPassword;
-        private System.Windows.Forms.Label label13;
-        private System.Windows.Forms.TextBox txt_loginName;
-        private System.Windows.Forms.Label label12;
-        private System.Windows.Forms.Button button13;
-        private System.Windows.Forms.Button button14;
-        private System.Windows.Forms.TabPage tabPage6;
-        private System.Windows.Forms.Label label17;
-        private System.Windows.Forms.TextBox txt_Lat;
-        private System.Windows.Forms.Label label16;
-        private System.Windows.Forms.Button button15;
-        private System.Windows.Forms.TextBox txt_Lng;
-        private System.Windows.Forms.TextBox txt_v2;
-        private System.Windows.Forms.Label label19;
-        private System.Windows.Forms.TextBox txt_v1;
-        private System.Windows.Forms.Label label18;
-        private System.Windows.Forms.TextBox txt_hellotext;
-        private System.Windows.Forms.Label label20;
-        private System.Windows.Forms.Label label21;
-        private System.Windows.Forms.ComboBox cb_addtype;
-        private System.Windows.Forms.Button button16;
-        private System.Windows.Forms.Button button17;
-        private System.Windows.Forms.Button button18;
-        private System.Windows.Forms.Button button19;
-        private System.Windows.Forms.Button button20;
-        private System.Windows.Forms.TabPage tabPage8;
-        private System.Windows.Forms.Label label22;
-        private System.Windows.Forms.Button button21;
-        private System.Windows.Forms.TextBox txt_gzhid;
-        private System.Windows.Forms.Button button22;
-        private System.Windows.Forms.ListBox lb_gzh;
-        private System.Windows.Forms.Button button23;
-        private System.Windows.Forms.TextBox txt_linkImgUrl;
-        private System.Windows.Forms.Label label28;
-        private System.Windows.Forms.TextBox txt_linkUrl;
-        private System.Windows.Forms.Label label27;
-        private System.Windows.Forms.TextBox txt_linkDesc;
-        private System.Windows.Forms.Label label26;
-        private System.Windows.Forms.TextBox txt_linkSdkVer;
-        private System.Windows.Forms.Label label25;
-        private System.Windows.Forms.TextBox txt_linkAppId;
-        private System.Windows.Forms.Label label24;
-        private System.Windows.Forms.TextBox txt_linkTitle;
-        private System.Windows.Forms.Label label23;
-        private System.Windows.Forms.Button button24;
-        private System.Windows.Forms.TabPage tabPage7;
-        private System.Windows.Forms.TextBox txt_msgcallback;
-        private System.Windows.Forms.Label label29;
-        private System.Windows.Forms.TabPage tabPage9;
-        private System.Windows.Forms.Button button25;
-        private System.Windows.Forms.Button button26;
-        private System.Windows.Forms.TextBox txt_labelId;
-        private System.Windows.Forms.Label label31;
-        private System.Windows.Forms.TextBox txt_labelWxid;
-        private System.Windows.Forms.Label label30;
-        private System.Windows.Forms.Button button27;
-        private System.Windows.Forms.TextBox txt_labelName;
-        private System.Windows.Forms.Label label32;
-        private System.Windows.Forms.Button button28;
-        private System.Windows.Forms.TextBox txt_labelId1;
-        private System.Windows.Forms.Label label33;
-        private System.Windows.Forms.TabPage tabPage10;
-        private System.Windows.Forms.Button button29;
-        private System.Windows.Forms.TextBox txt_favKey;
-        private System.Windows.Forms.Label label34;
-        private System.Windows.Forms.TextBox txt_favObject;
-        private System.Windows.Forms.Label label35;
-        private System.Windows.Forms.Button button30;
-        private System.Windows.Forms.Button button31;
-        private System.Windows.Forms.TextBox txt_favId;
-        private System.Windows.Forms.Label label36;
-        private System.Windows.Forms.TextBox txt_snswxid;
-        private System.Windows.Forms.Label label37;
-        private System.Windows.Forms.Button button32;
-        private System.Windows.Forms.Button button33;
-        private System.Windows.Forms.TextBox txt_snsId;
-        private System.Windows.Forms.Label label38;
-        private System.Windows.Forms.Button button34;
-        private System.Windows.Forms.TextBox txt_snsPlId;
-        private System.Windows.Forms.Label label39;
-        private System.Windows.Forms.TextBox txt_snsContext;
-        private System.Windows.Forms.Label label40;
-        private System.Windows.Forms.ListBox lb_group;
-        private System.Windows.Forms.TextBox txt_friendwxid;
-        private System.Windows.Forms.Label label6;
-        private System.Windows.Forms.Button button35;
-        private System.Windows.Forms.Button button36;
-        private System.Windows.Forms.TextBox txt_friendRemark;
-        private System.Windows.Forms.Label label41;
-        private System.Windows.Forms.Button button37;
-        private System.Windows.Forms.Button button38;
-        private System.Windows.Forms.Button button39;
-        private System.Windows.Forms.TextBox txt_gzhKey;
-        private System.Windows.Forms.Label label43;
-        private System.Windows.Forms.TextBox txt_gzhUin;
-        private System.Windows.Forms.Label label42;
-        private System.Windows.Forms.Button button40;
-        private System.Windows.Forms.TabPage tabPage11;
-        private System.Windows.Forms.Button button41;
-        private System.Windows.Forms.Label label44;
-        private System.Windows.Forms.TextBox txt_setWxid;
-        private System.Windows.Forms.TabPage tabPage12;
-        private System.Windows.Forms.Button button42;
-        private System.Windows.Forms.Button button43;
-        private System.Windows.Forms.TextBox txt_orderUrl;
-        private System.Windows.Forms.Label label46;
-        private System.Windows.Forms.Label label45;
-        private System.Windows.Forms.Button button44;
-        private System.Windows.Forms.TextBox txt_gzhUrl;
-        private System.Windows.Forms.Label label47;
-        private System.Windows.Forms.Button button45;
-        private System.Windows.Forms.Label label51;
-        private System.Windows.Forms.Label label50;
-        private System.Windows.Forms.TextBox txt_setSex;
-        private System.Windows.Forms.Label label49;
-        private System.Windows.Forms.TextBox txt_setSign;
-        private System.Windows.Forms.Label label48;
-        private System.Windows.Forms.TextBox txt_setNickName;
-        private System.Windows.Forms.Label label54;
-        private System.Windows.Forms.TextBox txt_setCity;
-        private System.Windows.Forms.Label label53;
-        private System.Windows.Forms.TextBox txt_setProvincia;
-        private System.Windows.Forms.Label label52;
-        private System.Windows.Forms.TextBox txt_setCountry;
-        private System.Windows.Forms.Button button46;
-        private System.Windows.Forms.Button button47;
-        private System.Windows.Forms.TextBox txt_addUserInfo;
-        private System.Windows.Forms.Label label55;
-        private System.Windows.Forms.Button button48;
-        private System.Windows.Forms.Button button49;
-        private System.Windows.Forms.TextBox textBox2;
-        private System.Windows.Forms.TextBox textBox3;
-        private System.Windows.Forms.Label label57;
-        private System.Windows.Forms.TextBox txt_syslog;
-        private System.Windows.Forms.Label label56;
-    }
-}

+ 0 - 470
IPADDemo/FormDemo.cs

@@ -1,470 +0,0 @@
-using IPADDemo.AppData;
-using IPADDemo.Model;
-using IPADDemo.Util;
-using IPADDemo.WeChat;
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-using Xzy.IPAD.Core;
-
-namespace IPADDemo
-{
-    public partial class FormDemo : Form
-    {
-        public static FormDemo _formDemo;
-        private XzyWeChatThread weChatThread;
-
-        public FormDemo()
-        {
-            InitializeComponent();
-            WxDelegate.qrCode += new QrCode(this.calback_qrcode);
-            WxDelegate.show += new Show(this.calback_show);
-            WxDelegate.getContact += new GetContact(this.calback_getContact);
-            WxDelegate.getGroup += new GetGroup(this.calback_getGroup);
-            WxDelegate.getGZH += new GetGZH(this.calback_getGZH);
-            WxDelegate.msgCallBack += new MsgCallBack(this.calback_msgCallBack);
-            CheckForIllegalCrossThreadCalls = false;
-            _formDemo = this;
-        }
-
-        private void FormDemo_Load(object sender, EventArgs e)
-        {
-        }
-
-        private void calback_qrcode(string qrcode)
-        {
-            byte[] arr2 = Convert.FromBase64String(qrcode);
-            using (MemoryStream ms2 = new MemoryStream(arr2))
-            {
-                System.Drawing.Bitmap bmp2 = new System.Drawing.Bitmap(ms2);
-                pictureBox1.Image = bmp2;
-            }
-        }
-
-        private void calback_show(string str)
-        {
-            textBox1.Text = str;
-        }
-
-        private void calback_getContact(Contact contact)
-        {
-            string str = $"{contact.UserName}-{contact.NickName}-{contact.Country}-{contact.Provincia}-{contact.Remark}";
-            lb_friend.Items.Add(str);
-        }
-
-        private void calback_getGroup(Contact contact)
-        {
-            string str = $"{contact.UserName}-{contact.NickName}-{contact.Country}-{contact.Provincia}-{contact.Remark}";
-            lb_group.Items.Add(str);
-        }
-
-        private void calback_getGZH(Contact contact)
-        {
-            string str = $"{contact.UserName}-{contact.NickName}-{contact.Country}-{contact.Provincia}-{contact.Remark}";
-            lb_gzh.Items.Add(str);
-        }
-
-        private void calback_msgCallBack(WxTtsMsg wxTtsMsg) {
-            txt_msgcallback.Text += JsonConvert.SerializeObject(wxTtsMsg) + "\r\n";
-        }
-
-        private void button1_Click(object sender, EventArgs e)
-        {
-            var res=weChatThread.Wx_SendMsg(txt_msgWxid.Text, txt_msgText.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button49_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_MassMessage(txt_msgWxid.Text, txt_msgText.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button2_Click(object sender, EventArgs e)
-        {
-            OpenFileDialog ofd = new OpenFileDialog();
-
-            ofd.Filter = "图片文件 |*.jpg;*.png";
-            ofd.ValidateNames = true;
-            ofd.CheckPathExists = true;
-            ofd.CheckFileExists = true;
-            if (ofd.ShowDialog() == DialogResult.OK)
-            {
-                string FileName = ofd.FileName;
-                var res = weChatThread.Wx_SendImg(txt_msgWxid.Text, FileName);
-                txt_syslog.Text = res.ConvertToString();
-            }
-        }
-
-        private void button17_Click(object sender, EventArgs e)
-        {
-            string res = weChatThread.Wx_SendVoice(txt_msgWxid.Text, "测试音频1.silk", 1);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button23_Click(object sender, EventArgs e)
-        {
-            Task.Factory.StartNew(() => {
-                string mp3Str = "1.mp3";
-                string silkStr= "1.silk";
-                bool isCovert = ffmpegUtils.GetInstance().ConvertMp3ToAmr(mp3Str, silkStr);
-                if (isCovert)
-                {
-                    while (MyUtils.IsFileInUse(silkStr))
-                    {
-                        Thread.Sleep(100);
-                    }
-                }
-                else
-                {
-                    return;
-                }
-                string res = weChatThread.Wx_SendVoice(txt_msgWxid.Text, silkStr, 1);
-                txt_syslog.Text = res.ConvertToString();
-            });          
-        }
-
-        private void button24_Click(object sender, EventArgs e)
-        {
-            string xml = App.AppMsgXml.
-                Replace("$appid$", txt_linkAppId.Text).
-                 Replace("$sdkver$", txt_linkSdkVer.Text).
-                  Replace("$title$", txt_linkTitle.Text).
-                   Replace("$des$", txt_linkDesc.Text).
-                    Replace("$url$", txt_linkUrl.Text).
-                     Replace("$thumburl$", txt_linkImgUrl.Text);
-            var res = weChatThread.Wx_SendAppMsg(txt_msgWxid.Text, xml);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button3_Click(object sender, EventArgs e)
-        {
-            var res=weChatThread.Wx_SendMoment(txt_snsText.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button4_Click(object sender, EventArgs e)
-        {
-            List<string> imgPath = new List<string>();
-            foreach (var a in listBox1.Items) {
-                imgPath.Add(ImgToBase64String(a.ToString()));
-                //imgPath.Add(FileToBase64String(a.ToString()));
-            }
-            var res=weChatThread.Wx_SendMoment(txt_snsText.Text, imgPath);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private string FileToBase64String(string path) {
-            try
-            {
-                System.Text.Encoding encode = System.Text.Encoding.ASCII;
-                FileStream fileStreamObj;
-                FileInfo fileInfoObj = new FileInfo(path);
-                fileStreamObj = fileInfoObj.OpenRead();//.OpenWrite();
-                byte[] bytedata = new byte[fileInfoObj.Length];
-                fileStreamObj.Read(bytedata, 0, bytedata.Length);
-                fileStreamObj.Flush();
-                fileStreamObj.Close();
-
-                string audioBase64Result = Convert.ToBase64String(bytedata, 0, bytedata.Length);
-                return audioBase64Result;
-            }
-            catch (Exception e) {
-                return "";
-            }
-        }
-
-        private string ImgToBase64String(string Imagefilename)
-        {
-            try
-            {
-                Bitmap bmp = new Bitmap(Imagefilename);
-
-                MemoryStream ms = new MemoryStream();
-                bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
-                byte[] arr = new byte[ms.Length];
-                ms.Position = 0;
-                ms.Read(arr, 0, (int)ms.Length);
-                ms.Close();
-                return Convert.ToBase64String(arr);
-            }
-            catch (Exception ex)
-            {
-                return null;
-            }
-        }
-
-        private void button5_Click(object sender, EventArgs e)
-        {
-            OpenFileDialog ofd = new OpenFileDialog();
-            if (ofd.ShowDialog() == DialogResult.OK)
-            {
-                listBox1.Items.Add(ofd.FileName);
-            }
-        }
-
-        private void button6_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_CreateChatRoom(txt_GroupUsers.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button39_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_GetChatRoomMember(txt_groupwxid.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button7_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_AddChatRoomMember(txt_groupwxid.Text,txt_groupuserwxid.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button38_Click(object sender, EventArgs e)
-        {
-           var res=weChatThread.Wx_InviteChatRoomMember(txt_groupwxid.Text, txt_groupuserwxid.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button8_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_DeleteChatRoomMember(txt_groupwxid.Text, txt_groupuserwxid.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button9_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_SetChatroomName(txt_groupwxid.Text, txt_groupname.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button10_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_SetChatroomAnnouncement(txt_groupwxid.Text, txt_groupgg.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button11_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_QuitChatRoom(txt_groupwxid.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button12_Click(object sender, EventArgs e)
-        {
-            string str= weChatThread.Wx_GenerateWxDat();
-            WxDat wxDat = JsonConvert.DeserializeObject<WxDat>(str);
-            txt_login62.Text = Convert62.eStrToHex( wxDat.data);
-        }
-
-        private void button18_Click(object sender, EventArgs e)
-        {
-            string str = weChatThread.Wx_GetLoginToken();
-            WxToken wxToken = JsonConvert.DeserializeObject<WxToken>(str);
-            txt_loginToken.Text= wxToken.token;
-        }
-
-        private void button19_Click(object sender, EventArgs e)
-        {
-            string str=weChatThread.Wx_LoginRequest(txt_loginToken.Text,txt_login62.Text);
-        }
-
-        private void button20_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_AutoLogin(txt_loginToken.Text);
-        }
-
-        private void button14_Click(object sender, EventArgs e)
-        {
-            weChatThread = new XzyWeChatThread();
-        }
-
-        private void button13_Click(object sender, EventArgs e)
-        {
-            weChatThread = new XzyWeChatThread(Convert62.eHexToStr(txt_login62.Text),txt_loginName.Text,txt_loginPassword.Text);
-        }
-
-        private void button15_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_GetPeopleNearby(float.Parse(txt_Lat.Text), float.Parse(txt_Lng.Text));
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button16_Click(object sender, EventArgs e)
-        {
-            string [] types= cb_addtype.Text.Split('-');
-            int type = int.Parse(types[0]);
-            string res = weChatThread.Wx_AddUser(txt_v1.Text, txt_v2.Text, type, txt_hellotext.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button21_Click(object sender, EventArgs e)
-        {
-            string res = weChatThread.Wx_AddUser(txt_gzhid.Text, "", 0, "");
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button22_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.GetSubscriptionInfo(txt_gzhid.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button40_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_SubscriptionCommand(txt_gzhid.Text, uint.Parse(txt_gzhUin.Text), txt_gzhKey.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button45_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_RequestUrl(txt_gzhUrl.Text, txt_gzhUin.Text, txt_gzhKey.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button25_Click(object sender, EventArgs e)
-        {
-            string res = weChatThread.Wx_GetContactLabelList();
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button26_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_SetContactLabel(txt_labelWxid.Text, txt_labelId.Text);
-            txt_syslog.Text = res.ConvertToString();
-
-        }
-
-        private void button27_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_AddContactLabel(txt_labelName.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button28_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_DeleteContactLabel(txt_labelId1.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button29_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_FavSync(txt_favKey.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button30_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_FavAddItem(Encoding.Default.GetString(Encoding.UTF8.GetBytes(txt_favObject.Text)));
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button31_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_FavGetItem(txt_favId.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button32_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_SnsUserPage(txt_snswxid.Text,"");
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button33_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_SnsObjectDetail(txt_snsId.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button34_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_SnsComment(txt_snsId.Text,txt_snsContext.Text, txt_snsPlId.Text.ConvertToInt32());
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-
-        private void button48_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_SnsTimeline("");
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-
-        private void button35_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_GetContact(txt_friendwxid.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button36_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_SetUserRemark(txt_friendwxid.Text, txt_friendRemark.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button37_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_DeleteUser(txt_friendwxid.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button41_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_SetWeChatID(txt_setWxid.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button42_Click(object sender, EventArgs e)
-        {
-            OpenFileDialog ofd = new OpenFileDialog();
-
-            ofd.Filter = "二维码文件 |*.jpg;*.png";
-            ofd.ValidateNames = true;
-            ofd.CheckPathExists = true;
-            ofd.CheckFileExists = true;
-            if (ofd.ShowDialog() == DialogResult.OK)
-            {
-                string FileName = ofd.FileName;
-                var res = weChatThread.Wx_QRCodeDecode(FileName);
-                txt_syslog.Text = res.ConvertToString();
-            }
-        }
-
-        private void button43_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_ExtDeviceLoginGet(txt_orderUrl.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button44_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_ExtDeviceLoginOK(txt_orderUrl.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button46_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_SetUserInfo(txt_setNickName.Text,txt_setSign.Text,txt_setSex.Text.ConvertToInt32(),txt_setCountry.Text,txt_setProvincia.Text,txt_setCity.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-        private void button47_Click(object sender, EventArgs e)
-        {
-            var res = weChatThread.Wx_SearchContact(txt_addUserInfo.Text);
-            txt_syslog.Text = res.ConvertToString();
-        }
-
-       
-    }
-}

+ 0 - 290
IPADDemo/FormDemo.resx

@@ -1,290 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="txt_favObject.Text" xml:space="preserve">
-    <value>&lt;favitem type=\"1\"&gt;&lt;desc&gt;我这辈子最佩服的只有两个人一个是群主,还有一个,就是免死[抱拳][抱拳][抱拳]&lt;/desc&gt;&lt;ctrlflag&gt;127&lt;/ctrlflag&gt;&lt;source sourcetype=\"1\" sourceid=\"5247349643135372738\"&gt;&lt;fromusr&gt;wxid_j7rwo75glpzw22&lt;/fromusr&gt;&lt;tousr&gt;7459655793@chatroom&lt;/tousr&gt;&lt;createtime&gt;1474781339&lt;/createtime&gt;&lt;msgid&gt;5247349643135372738&lt;/msgid&gt;&lt;/source&gt;&lt;/favitem&gt;</value>
-  </data>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAACQAABILAAASCwAAAAAAAAAA
-        AADz8/P//f39//j4+P/4+Pj//f39//T09P//////9fX1//r6+v/7+/v/9fX1///////09PT//f39//j4
-        +P/4+Pj//f39//T09P//////9fX1//v7+//6+vr/9PT0//39/f/y8vL//Pz8//f39//39/f//f39//T0
-        9P//////9fX1//r6+v/7+/v/9fX1///////09PT//f39//j4+P/4+Pj//f39//T09P/+/v7/9fX1//v7
-        +//7+/v/9fX1///////9/f3/9/f3//v7+//6+vr/9/f3//z8/P/29vb//Pz8//j4+P/5+fn/+/v7//b2
-        9v/9/f3/9/f3//r6+v/6+vr/9/f3//v7+//z8/P/+Pj4//b29v/5+fn/////////////////+/v7//v7
-        +//4+Pj/9PT0//n5+f/19fX//Pz8//j4+P/5+fn/+/v7//b29v/9/f3/9/f3//r6+v/6+vr/9/f3//39
-        /f/29vb//Pz8//j4+P/5+fn//Pz8//b29v/4+Pj/+/v7//r6+v/5+fn/+/v7//j4+P/7+/v/+fn5//r6
-        +v/6+vr/+fn5//v7+//5+fn/+vr6//n5+f/29vb/+fn5//7+/v/////////////////4+Pj/4uLi/8/P
-        z//R0dH/5OTk//n5+f//////////////////////9vb2//f39//6+vr/+fn5//v7+//5+fn/+/v7//n5
-        +f/5+fn/+/v7//n5+f/7+/v/+fn5//r6+v/6+vr/+fn5//v7+//4+Pj/+vr6//n5+f/4+Pj/+vr6//j4
-        +P/6+vr/+fn5//n5+f/6+vr/+Pj4//r6+v/4+Pj/9vb2//n5+f///////f39/93d3f+hoaH/XV1d/z4+
-        Pv8nJyf/DQ0N/wICAv8BAQH/EBAQ/ygoKP9AQED/ZWVl/6SkpP/l5eX////////////5+fn/9fX1//r6
-        +v/4+Pj/+fn5//n5+f/5+fn/+vr6//j4+P/6+vr/+fn5//n5+f/6+vr/+Pj4//r6+v/+/v7/9/f3//r6
-        +v/6+vr/9/f3//39/f/29vb//Pz8//n5+f/5+fn//Pz8//T09P/7+/v///////v7+/+srKz/SkpK/wsL
-        C/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8PDw//VFRU/7Cw
-        sP/7+/v///////T09P/7+/v/9/f3//v7+//6+vr/9/f3//39/f/29vb//Pz8//j4+P/5+fn//Pz8//X1
-        9f/09PT//f39//j4+P/4+Pj//f39//T09P/+/v7/9vb2//v7+//7+/v/8/Pz///////9/f3/ra2t/zAw
-        MP8AAAD/AAAA/wAAAP8DAwP/BAQE/wMDA/8CAgL/AQEB/wEBAf8BAQH/AQEB/wICAv8DAwP/BAQE/wIC
-        Av8AAAD/AAAA/wEBAf84ODj/t7e3///////29vb/+vr6//j4+P/4+Pj//f39//T09P/+/v7/9vb2//r6
-        +v/7+/v/9vb2///////+/v7/9vb2//v7+//7+/v/9vb2//7+/v/19fX//f39//j4+P/19fX//////+Dg
-        4P9SUlL/AAAA/wAAAP8DAwP/AwMD/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8BAQH/BAQE/wMDA/8AAAD/AAAA/19fX//u7u7//f39//f39//6+vr/9vb2//7+
-        /v/19fX//f39//j4+P/5+fn//f39//X19f/29vb//Pz8//n5+f/5+fn//Pz8//b29v/9/f3/+Pj4//b2
-        9v//////vb29/xgYGP8AAAD/BAQE/wICAv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DAwP/AwMD/wAAAP8jIyP/zc3N////
-        ///29vb//Pz8//b29v/9/f3/9/f3//v7+//7+/v/9/f3//39/f/7+/v/+Pj4//r6+v/5+fn/+Pj4//v7
-        +//4+Pj/9vb2//////+goKD/AwMD/wAAAP8DAwP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wQE
-        BP8AAAD/DQ0N/7S0tP//////9fX1//v7+//39/f/+/v7//n5+f/5+fn/+vr6//f39//7+/v/+fn5//r6
-        +v/6+vr/+fn5//v7+//19fX//////6CgoP8AAAD/AgIC/wICAv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8DAwP/AAAA/wYGBv+zs7P///////f39//4+Pj/+vr6//n5+f/5+fn/+vr6//j4
-        +P/19fX//Pz8//j4+P/4+Pj//Pz8//Ly8v//////t7e3/wICAv8BAQH/AgIC/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8AAAD/AQEB/wAAAP8AAAD/AwMD/wAAAP8ODg7/zc3N///////6+vr/9/f3//r6
-        +v/6+vr/9vb2//7+/v/+/v7/9vb2//v7+//7+/v/9fX1///////e3t7/HBwc/wAAAP8CAgL/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEB
-        Af8CAgL/AwMD/wQEBP8DAwP/AQEB/wEBAf8DAwP/AAAA/wAAAP8AAAD/AAAA/wMDA/8AAAD/Kysr/+/v
-        7//4+Pj//Pz8//j4+P/5+fn//f39//X19f/19fX//f39//n5+f/4+Pj/+/v7//7+/v9PT0//AAAA/wQE
-        BP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8BAQH/BAQE/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf8AAAD/GRkZ/w4ODv8AAAD/AQEB/wAA
-        AP8EBAT/AAAA/2ZmZv//////9PT0//v7+//7+/v/9vb2//7+/v/+/v7/9vb2//r6+v/39/f//////6mp
-        qf8AAAD/AwMD/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wICAv8BAQH/AAAA/wUFBf8hISH/UFBQ/2dnZ/9FRUX/FhYW/wUFBf9ubm7/ycnJ/w8P
-        D/8AAAD/AQEB/wAAAP8AAAD/AQEB/wAAAP+8vLz///////X19f/5+fn//Pz8//X19f/4+Pj/+vr6//n5
-        +f/5+fn/+Pj4/zAwMP8AAAD/AgIC/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8AAAD/AgIC/wAAAP8ODg7/d3d3/9HR0f/y8vL/////////////////6Ojo/9nZ
-        2f//////jIyM/wAAAP8FBQX/AAAA/wAAAP8AAAD/AwMD/wAAAP9AQED//v7+//n5+f/6+vr/+fn5//v7
-        +//39/f/+vr6//b29v//////paWl/wAAAP8DAwP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AwMD/wEB
-        Af8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DAwP/AAAA/zc3N//b29v///////39/f/7+/v/+Pj4//T0
-        9P/4+Pj//f39//39/f//////vLy8/xQUFP8AAAD/AgIC/wAAAP8AAAD/AAAA/wICAv8AAAD/t7e3////
-        ///39/f/+Pj4//v7+//9/f3/9/f3//n5+f//////RERE/wAAAP8DAwP/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wEBAf8DAwP/AQEB/wICAv8DAwP/BAQE/wUFBf8AAAD/Ojo6//Ly8v//////8/Pz//n5
-        +f/6+vr/9/f3//39/f/29vb/+/v7//f39//29vb//////8vLy/8WFhb/AAAA/wEBAf8AAAD/AAAA/wMD
-        A/8AAAD/X19f///////29vb//Pz8//b29v/19fX/+/v7///////W1tb/CAgI/wAAAP8BAQH/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8JCQn/UVFR/w4ODv8AAAD/AQEB/wAAAP8AAAD/AQEB/wAAAP8QEBD/19fX////
-        ///x8fH//f39//j4+P/4+Pj//f39//X19f/+/v7/9vb2//r6+v/7+/v/8fHx//////+urq7/AAAA/wEB
-        Af8AAAD/AAAA/wEBAf8AAAD/EhIS/+fn5///////9fX1//7+/v//////8vLy//////+ZmZn/AAAA/wMD
-        A/8AAAD/AAAA/wAAAP8AAAD/AAAA/wMDA/8AAAD/oqKi/+Xl5f9gYGD/ERER/ykpKf9BQUH/bGxs/z4+
-        Pv9ra2v///////Dw8P//////9vb2//v7+//6+vr/9vb2//7+/v/09PT//f39//j4+P/4+Pj//f39//Hx
-        8f//////UFBQ/wAAAP8DAwP/AAAA/wAAAP8CAgL/AAAA/6+vr///////+vr6//T09P/19fX/+fn5////
-        //9YWFj/AAAA/wMDA/8AAAD/AAAA/wAAAP8AAAD/AAAA/wMDA/8AAAD/Q0ND///////+/v7/7e3t//Pz
-        8//9/f3//////5iYmP+lpaX///////r6+v/29vb//Pz8//j4+P/4+Pj//Pz8//b29v/9/f3/9/f3//r6
-        +v/7+/v/9/f3//n5+f//////n5+f/wAAAP8DAwP/AAAA/wAAAP8EBAT/AAAA/25ubv//////8/Pz//7+
-        /v/6+vr/9/f3//////83Nzf/AAAA/wMDA/8AAAD/AAAA/wAAAP8AAAD/AAAA/wMDA/8AAAD/VlZW//X1
-        9f/39/f//Pz8//v7+//z8/P//////4mJif+zs7P///////b29v/6+vr/9/f3//z8/P/5+fn/+Pj4//r6
-        +v/4+Pj/+vr6//v7+//4+Pj/+vr6//b29v//////zMzM/wAAAP8AAAD/AQEB/wAAAP8DAwP/AAAA/0ZG
-        Rv//////+Pj4//j4+P/6+vr//Pz8/+/v7/8cHBz/AAAA/wICAv8AAAD/AAAA/wAAAP8AAAD/AwMD/wAA
-        AP90dHT///////r6+v/5+fn/+Pj4//r6+v/19fX//////46Ojv+zs7P///////b29v/6+vr//Pz8//Ly
-        8v/39/f/+vr6//r6+v/5+fn/+vr6//Ly8v/9/f3/+vr6//b29v//////wcHB/wAAAP8BAQH/AAAA/wAA
-        AP8CAgL/AAAA/zExMf/+/v7/+vr6//j4+P/09PT//////9XV1f8EBAT/AAAA/wEBAf8AAAD/AAAA/wAA
-        AP8DAwP/AAAA/11dXf//////+fn5//j4+P/4+Pj//Pz8//b29v/5+fn//////6Ojo/+Wlpb///////f3
-        9//7+/v/6Ojo/yEhIf9FRUX/+fn5//X19f//////cnJy/wgICP/Dw8P///////b29v//////jo6O/wAA
-        AP8EBAT/AAAA/wAAAP8BAQH/AAAA/xoaGv/t7e3/+vr6//z8/P/8/Pz//////8bGxv8AAAD/AQEB/wAA
-        AP8AAAD/AAAA/wEBAf8AAAD/HBwc/+jo6P//////9PT0//v7+//7+/v/9vb2//7+/v/09PT//////+Xl
-        5f9eXl7/+vr6//Pz8///////4eHh/yMjI/9AQED/9fX1//39/f//////cXFx/wgICP+/v7////////Dw
-        8P/+/v7/OTk5/wAAAP8DAwP/AAAA/wAAAP8BAQH/AAAA/wkJCf/d3d3///////Ly8v/x8fH//////8fH
-        x/8AAAD/AQEB/wAAAP8AAAD/AAAA/wQEBP8AAAD/fHx8///////w8PD//f39//j4+P/4+Pj//f39//X1
-        9f/+/v7/8/Pz//////+FhYX/jo6O///////v7+///f39//Pz8//39/f//v7+//T09P//////+Pj4//T0
-        9P/6+vr/8PDw//////+NjY3/AAAA/wICAv8AAAD/AAAA/wAAAP8BAQH/AAAA/wwMDP/c3Nz//f39//39
-        /f/7+/v//////9XV1f8FBQX/AAAA/wEBAf8AAAD/AAAA/wEBAf8AAAD/vLy8///////6+vr/9/f3//r6
-        +v/6+vr/9/f3//z8/P/29vb/+/v7//n5+f/39/f/WFhY/6Ghof//////9/f3//n5+f/39/f/9fX1//v7
-        +//09PT/+fn5//b29v/39/f//////6Ojo/8GBgb/AAAA/wEBAf8AAAD/AAAA/wAAAP8BAQH/AAAA/xgY
-        GP/s7Oz///////X19f/39/f//f39/+/v7/8bGxv/AAAA/wEBAf8AAAD/AQEB/wAAAP8QEBD/5ubm////
-        ///39/f/+vr6//r6+v/5+fn/9/f3//f39//7+/v/+fn5//n5+f/+/v7/7e3t/1lZWf92dnb/6+vr////
-        ///+/v7//////////////////v7+///////s7Oz/b29v/wEBAf8CAgL/AQEB/wAAAP8AAAD/AAAA/wAA
-        AP8CAgL/AAAA/zMzM///////+Pj4//v7+//4+Pj/+fn5//////82Njb/AAAA/wMDA/8AAAD/AQEB/wAA
-        AP8PDw//5OTk///////39/f/+vr6//n5+f/5+fn///////z8/P/5+fn/+fn5//r6+v/4+Pj/+Pj4////
-        //+ampr/UFBQ/3Nzc/+rq6v/xMTE/9TU1P/W1tb/s7Oz/2dnZ/8bGxv/AAAA/wMDA/8BAQH/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8DAwP/AAAA/0ZGRv//////9vb2//r6+v/+/v7/9PT0//////9aWlr/AAAA/wQE
-        BP8AAAD/AAAA/wEBAf8AAAD/uLi4///////6+vr/9vb2//z8/P/09PT/oqKi/93d3f/8/Pz/+/v7//j4
-        +P/8/Pz/6+vr/52dnf/v7+//9vb2/7m5uf+MjIz/mZmZ/35+fv8AAAD/AAAA/wAAAP8AAAD/AwMD/wEB
-        Af8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAT/AAAA/2tra///////+Pj4//X19f/09PT/+fn5////
-        //+VlZX/AAAA/wMDA/8AAAD/AAAA/wQEBP8AAAD/eHh4///////w8PD/+vr6//////9YWFj/AAAA/zs7
-        O///////9PT0//r6+v/+/v7/Pz8//wAAAP9CQkL///////7+/v/7+/v//////4CAgP8AAAD/BgYG/wQE
-        BP8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8CAgL/AAAA/7W1tf//////8/Pz////
-        ///+/v7/9PT0///////Z2dn/BgYG/wAAAP8BAQH/AAAA/wEBAf8AAAD/Gxsb/+np6f//////8vLy////
-        //9zc3P/AAAA/09PT//7+/v/+/v7//f39//9/f3/Xl5e/wAAAP9hYWH///////T09P/8/Pz/5OTk/xYW
-        Fv8AAAD/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf8AAAD/FBQU/+Li
-        4v/+/v7/+/v7//X19f/29vb//Pz8//j4+P/+/v7/RkZG/wAAAP8DAwP/AAAA/wAAAP8DAwP/AAAA/15e
-        Xv//////+fn5//f39//7+/v/4eHh/+3t7f/+/v7/9/f3//r6+v/9/f3/9vb2/+Dg4P/z8/P/+vr6//n5
-        +f//////WFhY/wAAAP8DAwP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wMD
-        A/8AAAD/XFxc///////4+Pj/9/f3//39/f/7+/v/+Pj4//b29v//////o6Oj/wAAAP8DAwP/AAAA/wAA
-        AP8AAAD/AgIC/wAAAP92dnb///////39/f/19fX//Pz8//z8/P/39/f/+/v7//n5+f/4+Pj/+fn5//v7
-        +//4+Pj//v7+//z8/P9kZGT/AAAA/wICAv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wICAv8AAAD/ubm5///////29vb/+vr6//f39//7+/v/+fn5//n5+f/6+vr/9/f3/y8v
-        L/8AAAD/AgIC/wAAAP8AAAD/AAAA/wMDA/8AAAD/UVFR/+Hh4f///////v7+//z8/P/39/f/+fn5//f3
-        9//4+Pj//f39//7+/v//////0tLS/0BAQP8AAAD/AwMD/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8AAAD/AwMD/wAAAP8/Pz////////j4+P/5+fn/+vr6//j4+P/19fX//Pz8//n5
-        +f/19fX//////6enp/8AAAD/AwMD/wAAAP8AAAD/AAAA/wAAAP8DAwP/AAAA/w8PD/9ubm7/xsbG//Dw
-        8P///////v7+///////9/f3/7Ozs/729vf9dXV3/CAgI/wAAAP8CAgL/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgIC/wAAAP+9vb3///////f39//6+vr/9vb2//7+
-        /v/+/v7/9vb2//v7+//6+vr/9fX1//////9OTk7/AAAA/wQEBP8AAAD/AAAA/wAAAP8AAAD/AwMD/wEB
-        Af8AAAD/AwMD/yEhIf82Njb/QUFB/z09Pf80NDT/GRkZ/wEBAf8AAAD/AQEB/wMDA/8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EBAT/AAAA/2hoaP//////+vr6//j4
-        +P/5+fn//f39//X19f/19fX//f39//n5+f/4+Pj/+/v7//v7+//i4uL/HBwc/wAAAP8CAgL/AAAA/wAA
-        AP8AAAD/AAAA/wEBAf8EBAT/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv8EBAT/AQEB/wAA
-        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wMDA/8AAAD/KCgo/+zs
-        7P//////9fX1//v7+//7+/v/9vb2//7+/v/+/v7/9vb2//r6+v/6+vr/9/f3//r6+v//////vLy8/wMD
-        A/8BAQH/AgIC/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv8DAwP/AwMD/wMDA/8DAwP/AQEB/wAA
-        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgIC/wAA
-        AP8NDQ3/ysrK///////z8/P//Pz8//j4+P/4+Pj//Pz8//X19f/4+Pj/+vr6//n5+f/5+fn/+/v7//j4
-        +P/39/f//////5+fn/8AAAD/AgIC/wICAv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8DAwP/AQEB/wUFBf+xsbH///////X19f/7+/v/+fn5//r6+v/6+vr/+fn5//v7+//39/f/+vr6//n5
-        +f/5+fn/+/v7//f39//6+vr/9fX1//////+fn5//AwMD/wAAAP8DAwP/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wQEBP8AAAD/DAwM/7Kysv//////9vb2//j4+P/7+/v/+Pj4//n5+f/6+vr/+Pj4//v7
-        +//9/f3/9/f3//v7+//7+/v/9/f3//39/f/29vb//Pz8//b29v//////vb29/xgYGP8AAAD/BAQE/wIC
-        Av8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8DAwP/BAQE/wAAAP8jIyP/ycnJ///////29vb/+Pj4//39/f/29vb//Pz8//n5
-        +f/5+fn//Pz8//b29v/19fX//f39//n5+f/4+Pj//f39//X19f/+/v7/9vb2//r6+v/4+Pj//////+Tk
-        5P9OTk7/AAAA/wAAAP8DAwP/AwMD/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8BAQH/BAQE/wMDA/8AAAD/AAAA/15eXv/p6en///////X19f/4+Pj//f39//X1
-        9f/+/v7/9vb2//v7+//7+/v/9vb2//7+/v//////9vb2//v7+//6+vr/9vb2//7+/v/09PT//f39//j4
-        +P/4+Pj/+vr6//j4+P//////q6ur/y8vL/8AAAD/AAAA/wAAAP8DAwP/BAQE/wMDA/8CAgL/AQEB/wEB
-        Af8BAQH/AQEB/wICAv8DAwP/BAQE/wMDA/8AAAD/AAAA/wAAAP84ODj/u7u7///////+/v7/8/Pz//v7
-        +//6+vr/9vb2//7+/v/09PT//f39//j4+P/4+Pj//f39//T09P/19fX//Pz8//n5+f/4+Pj//Pz8//b2
-        9v/9/f3/9/f3//r6+v/6+vr/9/f3//v7+//09PT///////f39/+pqan/TU1N/wkJCf8AAAD/AAAA/wAA
-        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8QEBD/UFBQ/7Kysv///////v7+//r6
-        +v/19fX//Pz8//n5+f/5+fn//Pz8//b29v/9/f3/9/f3//r6+v/6+vr/9/f3//7+/v/6+vr/+Pj4//r6
-        +v/5+fn/+fn5//r6+v/4+Pj/+vr6//n5+f/5+fn/+fn5//j4+P/6+vr/9fX1//r6+v///////f39/+Hh
-        4f+cnJz/X19f/zw8PP8mJib/Dg4O/wICAv8BAQH/DQ0N/yoqKv8/Pz//YGBg/6ioqP/h4eH//v7+////
-        ///5+fn/9vb2//j4+P/6+vr/+Pj4//r6+v/5+fn/+fn5//r6+v/4+Pj/+vr6//j4+P/5+fn/+vr6//j4
-        +P/7+/v/+fn5//r6+v/6+vr/+fn5//v7+//5+fn/+/v7//n5+f/5+fn/+/v7//n5+f/7+/v/+fn5//r6
-        +v/39/f/9/f3///////////////////////39/f/4ODg/8/Pz//Pz8//4uLi//n5+f//////////////
-        ///9/f3/+Pj4//b29v/5+fn/+vr6//n5+f/7+/v/+fn5//r6+v/6+vr/+fn5//v7+//4+Pj/+/v7//n5
-        +f/6+vr/+/v7//j4+P/29vb//Pz8//n5+f/4+Pj//Pz8//b29v/9/f3/9/f3//r6+v/6+vr/9/f3//39
-        /f/29vb/+/v7//n5+f/4+Pj//Pz8//X19f/5+fn/9PT0//j4+P/8/Pz//Pz8//////////////////n5
-        +f/29vb/+Pj4//Pz8//7+/v/9/f3//r6+v/6+vr/9/f3//39/f/29vb/+/v7//n5+f/4+Pj//Pz8//b2
-        9v/8/Pz/9/f3//r6+v/7+/v/9/f3//39/f//////9fX1//v7+//7+/v/9fX1//7+/v/09PT//f39//j4
-        +P/4+Pj//f39//T09P//////9fX1//v7+//6+vr/9fX1///////09PT//f39//f39//39/f//Pz8//Ly
-        8v/9/f3/9PT0//r6+v/7+/v/9fX1///////09PT//f39//j4+P/4+Pj//f39//T09P//////9fX1//v7
-        +//6+vr/9fX1///////09PT//f39//j4+P/4+Pj//f39//Pz8/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAA=
-</value>
-  </data>
-</root>

+ 0 - 214
IPADDemo/IPADDemo.csproj

@@ -1,214 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{C9D8413D-03E4-4A01-901E-92C7DF42CC2A}</ProjectGuid>
-    <OutputType>WinExe</OutputType>
-    <RootNamespace>IPADDemo</RootNamespace>
-    <AssemblyName>IPADDemo</AssemblyName>
-    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
-    <PublishUrl>publish\</PublishUrl>
-    <Install>true</Install>
-    <InstallFrom>Disk</InstallFrom>
-    <UpdateEnabled>false</UpdateEnabled>
-    <UpdateMode>Foreground</UpdateMode>
-    <UpdateInterval>7</UpdateInterval>
-    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
-    <UpdatePeriodically>false</UpdatePeriodically>
-    <UpdateRequired>false</UpdateRequired>
-    <MapFileExtensions>true</MapFileExtensions>
-    <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
-    <UseApplicationTrust>false</UseApplicationTrust>
-    <BootstrapperEnabled>true</BootstrapperEnabled>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup>
-    <ApplicationManifest>app.manifest</ApplicationManifest>
-  </PropertyGroup>
-  <PropertyGroup>
-    <ApplicationIcon>bitbug_favicon.ico</ApplicationIcon>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="log4net, Version=1.2.13.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
-      <HintPath>..\packages\log4net.2.0.3\lib\net40-full\log4net.dll</HintPath>
-    </Reference>
-    <Reference Include="Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
-      <HintPath>..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
-    </Reference>
-    <Reference Include="SuperSocket.ClientEngine, Version=0.10.0.0, Culture=neutral, PublicKeyToken=ee9af13f57f00acc, processorArchitecture=MSIL">
-      <HintPath>..\packages\SuperSocket.ClientEngine.0.10.0\lib\net45\SuperSocket.ClientEngine.dll</HintPath>
-    </Reference>
-    <Reference Include="SuperSocket.ProtoBase, Version=1.7.0.17, Culture=neutral, PublicKeyToken=6c80000676988ebb, processorArchitecture=MSIL">
-      <HintPath>..\packages\SuperSocket.ProtoBase.1.7.0.17\lib\net45\SuperSocket.ProtoBase.dll</HintPath>
-    </Reference>
-    <Reference Include="System" />
-    <Reference Include="System.Collections.Specialized, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Collections.Specialized.4.3.0\lib\net46\System.Collections.Specialized.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Configuration" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Net.NameResolution, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Net.NameResolution.4.3.0\lib\net46\System.Net.NameResolution.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Net.Security, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Net.Security.4.3.0\lib\net46\System.Net.Security.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Security.Cryptography.Algorithms, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
-    </Reference>
-    <Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Web" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Deployment" />
-    <Reference Include="System.Drawing" />
-    <Reference Include="System.Net.Http" />
-    <Reference Include="System.Windows.Forms" />
-    <Reference Include="System.Xml" />
-    <Reference Include="Xzy.IPAD.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\dll\Xzy.IPAD.Core.dll</HintPath>
-    </Reference>
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AppData\App.cs" />
-    <Compile Include="FormDemo.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="FormDemo.Designer.cs">
-      <DependentUpon>FormDemo.cs</DependentUpon>
-    </Compile>
-    <Compile Include="Model\AgreeDuty.cs" />
-    <Compile Include="Model\AtomicFunc.cs" />
-    <Compile Include="Model\BackWxMsg.cs" />
-    <Compile Include="Model\BankerConfig.cs" />
-    <Compile Include="Model\ChMsg.cs" />
-    <Compile Include="Model\Contact.cs" />
-    <Compile Include="Model\CS.cs" />
-    <Compile Include="Model\EnterGroupJson.cs" />
-    <Compile Include="Model\GroupMember.cs" />
-    <Compile Include="Model\Member.cs" />
-    <Compile Include="Model\MsgContent.cs" />
-    <Compile Include="Model\OperationTail.cs" />
-    <Compile Include="Model\PackMsg.cs" />
-    <Compile Include="Model\PackTime.cs" />
-    <Compile Include="Model\QrCodeJson.cs" />
-    <Compile Include="Model\ReadPackItem.cs" />
-    <Compile Include="Model\ReadPackJson.cs" />
-    <Compile Include="Model\RedPacketJson.cs" />
-    <Compile Include="Model\SnsUpload.cs" />
-    <Compile Include="Model\TcpMsg.cs" />
-    <Compile Include="Model\UserData.cs" />
-    <Compile Include="Model\WxDat.cs" />
-    <Compile Include="Model\WxDelegate.cs" />
-    <Compile Include="Model\WxGroup.cs" />
-    <Compile Include="Model\WxMember.cs" />
-    <Compile Include="Model\WxQrCode.cs" />
-    <Compile Include="Model\WXReceiveRedPacketjson.cs" />
-    <Compile Include="Model\WXttsmsg.cs" />
-    <Compile Include="Model\WxUser.cs" />
-    <Compile Include="Program.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Util\Base64.cs" />
-    <Compile Include="Util\BaseClass.cs" />
-    <Compile Include="Util\Convert62.cs" />
-    <Compile Include="Util\Cover.cs" />
-    <Compile Include="Util\HttpUtil.cs" />
-    <Compile Include="Util\MyUtils.cs" />
-    <Compile Include="Util\ffmpegUtils.cs" />
-    <Compile Include="Util\Utilities.cs" />
-    <Compile Include="WeChat\XzyWeChatFunc.cs" />
-    <Compile Include="WeChat\XzyWeChatThread.cs" />
-    <EmbeddedResource Include="FormDemo.resx">
-      <DependentUpon>FormDemo.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="Properties\Resources.resx">
-      <Generator>ResXFileCodeGenerator</Generator>
-      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <Compile Include="Properties\Resources.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DependentUpon>Resources.resx</DependentUpon>
-      <DesignTime>True</DesignTime>
-    </Compile>
-    <None Include="app.manifest">
-      <SubType>Designer</SubType>
-    </None>
-    <None Include="packages.config" />
-    <None Include="Properties\Settings.settings">
-      <Generator>SettingsSingleFileGenerator</Generator>
-      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
-    </None>
-    <Compile Include="Properties\Settings.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DependentUpon>Settings.settings</DependentUpon>
-      <DesignTimeSharedInput>True</DesignTimeSharedInput>
-    </Compile>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="App.config">
-      <SubType>Designer</SubType>
-    </None>
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="bitbug_favicon.ico" />
-    <Content Include="ffmpeg\ffmpeg.exe" />
-    <Content Include="ffmpeg\silk_v3_decoder.exe" />
-    <Content Include="ffmpeg\silk_v3_encoder.exe" />
-  </ItemGroup>
-  <ItemGroup>
-    <BootstrapperPackage Include=".NETFramework,Version=v4.6.1">
-      <Visible>False</Visible>
-      <ProductName>Microsoft .NET Framework 4.6.1 %28x86 和 x64%29</ProductName>
-      <Install>true</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-</Project>

+ 0 - 13
IPADDemo/IPADDemo.csproj.user

@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <PublishUrlHistory />
-    <InstallUrlHistory />
-    <SupportUrlHistory />
-    <UpdateUrlHistory />
-    <BootstrapperUrlHistory />
-    <ErrorReportUrlHistory />
-    <FallbackCulture>zh-CN</FallbackCulture>
-    <VerifyUploadedFiles>false</VerifyUploadedFiles>
-  </PropertyGroup>
-</Project>

+ 0 - 30
IPADDemo/Model/AgreeDuty.cs

@@ -1,30 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class AgreeDuty
-    {
-        [JsonProperty("title")]
-        public string Title { get; set; }
-
-        [JsonProperty("service_protocol_wording")]
-        public string ServiceProtocolWording { get; set; }
-
-        [JsonProperty("service_protocol_url")]
-        public string ServiceProtocolUrl { get; set; }
-
-        [JsonProperty("button_wording")]
-        public string ButtonWording { get; set; }
-
-        [JsonProperty("delay_expired_time")]
-        public int DelayExpiredTime { get; set; }
-
-        [JsonProperty("agreed_flag")]
-        public int AgreedFlag { get; set; }
-    }
-}

+ 0 - 15
IPADDemo/Model/AtomicFunc.cs

@@ -1,15 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class AtomicFunc
-    {
-        [JsonProperty("enable")]
-        public int Enable { get; set; }
-    }
-}

+ 0 - 30
IPADDemo/Model/BackWxMsg.cs

@@ -1,30 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    /// <summary>
-    /// 微信消息
-    /// </summary>
-    public class BackWxMsg
-    {
-        public string content { get; set; }
-
-        public string wxid { get; set; }
-
-        public string wxname { get; set; }
-
-        public string groupid { get; set; }
-
-        public string groupname { get; set; }
-
-        public string msgid { get; set; }
-
-        public int inputtime { get; set; }
-
-        public string chmsgid { get; set; }
-    }
-}

+ 0 - 15
IPADDemo/Model/BankerConfig.cs

@@ -1,15 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class BankerConfig
-    {
-        public int code { get; set; }
-
-        public string wxid { get; set; }
-    }
-}

+ 0 - 16
IPADDemo/Model/CS.cs

@@ -1,16 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class CS
-    {
-        public static string api = "";
-
-        public static string IP = "192.168.4.76";
-    }
-
-}

+ 0 - 23
IPADDemo/Model/ChMsg.cs

@@ -1,23 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-
-    /// <summary>
-    /// 撤回消息
-    /// </summary>
-    public class ChMsg
-    {
-        public string wxid { get; set; }
-
-        public string groupid { get; set; }
-
-        public string msgid { get; set; }
-
-        public string chmsgid { get; set; }
-    }
-}

+ 0 - 108
IPADDemo/Model/Contact.cs

@@ -1,108 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class Contact
-    {
-        [JsonProperty("big_head")]
-        public string BigHead { get; set; }
-
-        [JsonProperty("bit_mask")]
-        public object BitMask { get; set; }
-
-        [JsonProperty("bit_value")]
-        public int BitValue { get; set; }
-
-        [JsonProperty("chatroom_id")]
-        public int ChatroomId { get; set; }
-
-        [JsonProperty("chatroom_owner")]
-        public string ChatroomOwner { get; set; }
-
-        [JsonProperty("city")]
-        public string City { get; set; }
-
-        [JsonProperty("continue")]
-        public int Continue { get; set; }
-
-        [JsonProperty("country")]
-        public string Country { get; set; }
-
-        [JsonProperty("id")]
-        public int Id { get; set; }
-
-        [JsonProperty("img_flag")]
-        public int ImgFlag { get; set; }
-
-        [JsonProperty("intro")]
-        public string Intro { get; set; }
-
-        [JsonProperty("label")]
-        public string Label { get; set; }
-
-        [JsonProperty("level")]
-        public int Level { get; set; }
-
-        [JsonProperty("max_member_count")]
-        public int MaxMemberCount { get; set; }
-
-        [JsonProperty("member_count")]
-        public int MemberCount { get; set; }
-
-        [JsonProperty("msg_type")]
-        public int MsgType { get; set; }
-
-        [JsonProperty("nick_name")]
-        public string NickName { get; set; }
-
-        [JsonProperty("provincia")]
-        public string Provincia { get; set; }
-
-        [JsonProperty("py_initial")]
-        public string PyInitial { get; set; }
-
-        [JsonProperty("quan_pin")]
-        public string QuanPin { get; set; }
-
-        [JsonProperty("remark")]
-        public string Remark { get; set; }
-
-        [JsonProperty("remark_py_initial")]
-        public string RemarkPyInitial { get; set; }
-
-        [JsonProperty("remark_quan_pin")]
-        public string RemarkQuanPin { get; set; }
-
-        [JsonProperty("sex")]
-        public int Sex { get; set; }
-
-        [JsonProperty("signature")]
-        public string Signature { get; set; }
-
-        [JsonProperty("small_head")]
-        public string SmallHead { get; set; }
-
-        [JsonProperty("source")]
-        public int Source { get; set; }
-
-        [JsonProperty("status")]
-        public int Status { get; set; }
-
-        [JsonProperty("stranger")]
-        public string Stranger { get; set; }
-
-        [JsonProperty("uin")]
-        public Int64 Uin { get; set; }
-
-        [JsonProperty("user_name")]
-        public string UserName { get; set; }
-
-        [JsonProperty("member")]
-        public string Member { get; set; }
-    }
-}

+ 0 - 27
IPADDemo/Model/EnterGroupJson.cs

@@ -1,27 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class EnterGroupJson
-    {
-        [JsonProperty("full_url")]
-        public string FullUrl { get; set; }
-
-        [JsonProperty("info")]
-        public string Info { get; set; }
-
-        [JsonProperty("message")]
-        public string Message { get; set; }
-
-        [JsonProperty("share_url")]
-        public string ShareUrl { get; set; }
-
-        [JsonProperty("status")]
-        public int Status { get; set; }
-    }
-}

+ 0 - 30
IPADDemo/Model/GroupMember.cs

@@ -1,30 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class GroupMember
-    {
-        [JsonProperty("chatroom_id")]
-        public int ChatroomId { get; set; }
-
-        [JsonProperty("count")]
-        public int Count { get; set; }
-
-        [JsonProperty("member")]
-        public string Member { get; set; }
-
-        [JsonProperty("message")]
-        public string Message { get; set; }
-
-        [JsonProperty("status")]
-        public int Status { get; set; }
-
-        [JsonProperty("user_name")]
-        public string UserName { get; set; }
-    }
-}

+ 0 - 31
IPADDemo/Model/Member.cs

@@ -1,31 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class Member
-    {
-
-        [JsonProperty("big_head")]
-        public string BigHead { get; set; }
-
-        [JsonProperty("chatroom_nick_name")]
-        public string ChatroomNickName { get; set; }
-
-        [JsonProperty("invited_by")]
-        public string InvitedBy { get; set; }
-
-        [JsonProperty("nick_name")]
-        public string NickName { get; set; }
-
-        [JsonProperty("small_head")]
-        public string SmallHead { get; set; }
-
-        [JsonProperty("user_name")]
-        public string UserName { get; set; }
-    }
-}

+ 0 - 22
IPADDemo/Model/MsgContent.cs

@@ -1,22 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    /// <summary>
-    /// Tcp消息
-    /// </summary>
-    public class MsgContent
-    {
-        public string content { get; set; }
-
-        public bool Img { get; set; }
-
-        public string ImgPath { get; set; }
-
-        public string towxid { get; set; }
-    }
-}

+ 0 - 16
IPADDemo/Model/OperationTail.cs

@@ -1,16 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class OperationTail
-    {
-
-        [JsonProperty("enable")]
-        public int Enable { get; set; }
-    }
-}

+ 0 - 71
IPADDemo/Model/PackMsg.cs

@@ -1,71 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class PackMsg
-    {
-        public string fromuser { get; set; }
-        /// <summary>
-        /// 红包key
-        /// </summary>
-        public string key { get; set; }
-
-        /// <summary>
-        /// 消息内容
-        /// </summary>
-        public string msg { get; set; }
-
-        /// <summary>
-        /// 第几页
-        /// </summary>
-        public int page { get; set; }
-
-        /// <summary>
-        /// 是否读完
-        /// </summary>
-        public bool ok { get; set; }
-
-        /// <summary>
-        /// 红包数据
-        /// </summary>
-        public Dictionary<string, packitme> packitme { get; set; }
-
-        public int Timestamp { get; set; }
-    }
-
-    public class packitme
-    {
-
-        [JsonProperty("receiveAmount")]
-        public int ReceiveAmount { get; set; }
-
-        [JsonProperty("receiveTime")]
-        public string ReceiveTime { get; set; }
-
-        [JsonProperty("answer")]
-        public string Answer { get; set; }
-
-        [JsonProperty("receiveId")]
-        public string ReceiveId { get; set; }
-
-        [JsonProperty("state")]
-        public int State { get; set; }
-
-        [JsonProperty("gameTips")]
-        public string GameTips { get; set; }
-
-        [JsonProperty("receiveOpenId")]
-        public string ReceiveOpenId { get; set; }
-
-        [JsonProperty("userName")]
-        public string UserName { get; set; }
-
-        public int xh { get; set; }
-    }
-
-}

+ 0 - 39
IPADDemo/Model/PackTime.cs

@@ -1,39 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class PackTime
-    {
-
-        [JsonProperty("receiveAmount")]
-        public int ReceiveAmount { get; set; }
-
-        [JsonProperty("receiveTime")]
-        public string ReceiveTime { get; set; }
-
-        [JsonProperty("answer")]
-        public string Answer { get; set; }
-
-        [JsonProperty("receiveId")]
-        public string ReceiveId { get; set; }
-
-        [JsonProperty("state")]
-        public int State { get; set; }
-
-        [JsonProperty("gameTips")]
-        public string GameTips { get; set; }
-
-        [JsonProperty("receiveOpenId")]
-        public string ReceiveOpenId { get; set; }
-
-        [JsonProperty("userName")]
-        public string UserName { get; set; }
-
-        public int xh { get; set; }
-    }
-}

+ 0 - 34
IPADDemo/Model/QrCodeJson.cs

@@ -1,34 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class QrCodeJson
-    {
-
-        [JsonProperty("device_type")]
-        public string DeviceType { get; set; }
-
-        [JsonProperty("expired_time")]
-        public int ExpiredTime { get; set; }
-
-        [JsonProperty("head_url")]
-        public string HeadUrl { get; set; }
-
-        [JsonProperty("nick_name")]
-        public string NickName { get; set; }
-
-        [JsonProperty("password")]
-        public string Password { get; set; }
-
-        [JsonProperty("status")]
-        public int Status { get; set; }
-
-        [JsonProperty("user_name")]
-        public string UserName { get; set; }
-    }
-}

+ 0 - 95
IPADDemo/Model/ReadPackItem.cs

@@ -1,95 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-
-    public class ReadPackItem
-    {
-
-        [JsonProperty("retcode")]
-        public int Retcode { get; set; }
-
-        [JsonProperty("retmsg")]
-        public string Retmsg { get; set; }
-
-        [JsonProperty("recNum")]
-        public int RecNum { get; set; }
-
-        [JsonProperty("totalNum")]
-        public int TotalNum { get; set; }
-
-        [JsonProperty("totalAmount")]
-        public int TotalAmount { get; set; }
-
-        [JsonProperty("sendId")]
-        public string SendId { get; set; }
-
-        [JsonProperty("amount")]
-        public int Amount { get; set; }
-
-        [JsonProperty("wishing")]
-        public string Wishing { get; set; }
-
-        [JsonProperty("isSender")]
-        public int IsSender { get; set; }
-
-        [JsonProperty("receiveId")]
-        public string ReceiveId { get; set; }
-
-        [JsonProperty("hasWriteAnswer")]
-        public int HasWriteAnswer { get; set; }
-
-        [JsonProperty("operationHeader")]
-        public object[] OperationHeader { get; set; }
-
-        [JsonProperty("hbType")]
-        public int HbType { get; set; }
-
-        [JsonProperty("isContinue")]
-        public int IsContinue { get; set; }
-
-        [JsonProperty("hbStatus")]
-        public int HbStatus { get; set; }
-
-        [JsonProperty("receiveStatus")]
-        public int ReceiveStatus { get; set; }
-
-        [JsonProperty("statusMess")]
-        public string StatusMess { get; set; }
-
-        [JsonProperty("headTitle")]
-        public string HeadTitle { get; set; }
-
-        [JsonProperty("canShare")]
-        public int CanShare { get; set; }
-
-        [JsonProperty("hbKind")]
-        public int HbKind { get; set; }
-
-        [JsonProperty("recAmount")]
-        public int RecAmount { get; set; }
-
-        [JsonProperty("record")]
-        public object[] Record { get; set; }
-
-        [JsonProperty("operationTail")]
-        public OperationTail OperationTail { get; set; }
-
-        [JsonProperty("atomicFunc")]
-        public AtomicFunc AtomicFunc { get; set; }
-
-        [JsonProperty("jumpChange")]
-        public int JumpChange { get; set; }
-
-        [JsonProperty("changeWording")]
-        public string ChangeWording { get; set; }
-
-        [JsonProperty("sendUserName")]
-        public string SendUserName { get; set; }
-    }
-}

+ 0 - 22
IPADDemo/Model/ReadPackJson.cs

@@ -1,22 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class ReadPackJson
-    {
-
-        [JsonProperty("external")]
-        public string External { get; set; }
-
-        [JsonProperty("message")]
-        public string Message { get; set; }
-
-        [JsonProperty("status")]
-        public int Status { get; set; }
-    }
-}

+ 0 - 51
IPADDemo/Model/RedPacketJson.cs

@@ -1,51 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class RedPacketJson
-    {
-        [JsonProperty("retcode")]
-        public int Retcode { get; set; }
-
-        [JsonProperty("retmsg")]
-        public string Retmsg { get; set; }
-
-        [JsonProperty("sendId")]
-        public string SendId { get; set; }
-
-        [JsonProperty("wishing")]
-        public string Wishing { get; set; }
-
-        [JsonProperty("isSender")]
-        public int IsSender { get; set; }
-
-        [JsonProperty("receiveStatus")]
-        public int ReceiveStatus { get; set; }
-
-        [JsonProperty("hbStatus")]
-        public int HbStatus { get; set; }
-
-        [JsonProperty("statusMess")]
-        public string StatusMess { get; set; }
-
-        [JsonProperty("hbType")]
-        public int HbType { get; set; }
-
-        [JsonProperty("watermark")]
-        public string Watermark { get; set; }
-
-        [JsonProperty("agree_duty")]
-        public AgreeDuty AgreeDuty { get; set; }
-
-        [JsonProperty("sendUserName")]
-        public string SendUserName { get; set; }
-
-        [JsonProperty("timingIdentifier")]
-        public string TimingIdentifier { get; set; }
-    }
-}

+ 0 - 23
IPADDemo/Model/SnsUpload.cs

@@ -1,23 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class SnsUpload
-    {
-        public string big_url { get; set; }
-
-        public string data { get; set; }
-
-        public string message { get; set; }
-
-        public int size { get; set; }
-
-        public string small_url { get; set; }
-
-        public int status { get; set; }
-    }
-}

+ 0 - 53
IPADDemo/Model/TcpMsg.cs

@@ -1,53 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public static class TcpMsg
-    {
-        /// <summary>
-        /// 小号上线消息
-        /// </summary>
-        public const string OL = "user_login";
-
-        /// <summary>
-        /// 小号下线
-        /// </summary>
-        public const string Out = "user_out";
-
-        /// <summary>
-        /// 接收群组
-        /// </summary>
-        public const string Group = "Groupitem";
-
-        /// <summary>
-        /// 接收群成员
-        /// </summary>
-        public const string GroupMember = "GroupMember";
-
-        /// <summary>
-        /// 接收微信消息
-        /// </summary>
-        public const string content = "content";
-
-        /// <summary>
-        /// 接收红包数据
-        /// </summary>
-        public const string redpack = "redpack";
-
-        /// <summary>
-        /// 接收图片消息
-        /// </summary>
-        public const string img = "img";
-
-        /// <summary>
-        /// 撤回消息
-        /// </summary>
-        public const string chmsg = "chmsg";
-
-        public const string BankerConfig = "BankerConfig";
-    }
-}

+ 0 - 48
IPADDemo/Model/UserData.cs

@@ -1,48 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class UserData
-    {
-
-        [JsonProperty("email")]
-        public string Email { get; set; }
-
-        [JsonProperty("external")]
-        public string External { get; set; }
-
-        [JsonProperty("long_link_server")]
-        public string LongLinkServer { get; set; }
-
-        [JsonProperty("message")]
-        public string Message { get; set; }
-
-        [JsonProperty("nick_name")]
-        public string NickName { get; set; }
-
-        [JsonProperty("phone_number")]
-        public string PhoneNumber { get; set; }
-
-        [JsonProperty("qq")]
-        public Int64 Qq { get; set; }
-
-        [JsonProperty("short_link_server")]
-        public string ShortLinkServer { get; set; }
-
-        [JsonProperty("status")]
-        public int Status { get; set; }
-
-        [JsonProperty("user_name")]
-        public string UserName { get; set; }
-
-
-        [JsonProperty("uin")]
-        public Int64 Uin { get; set; }
-
-    }
-}

+ 0 - 24
IPADDemo/Model/WXReceiveRedPacketjson.cs

@@ -1,24 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class WXReceiveRedPacketJson
-    {
-        [JsonProperty("external")]
-        public string External { get; set; }
-
-        [JsonProperty("key")]
-        public string Key { get; set; }
-
-        [JsonProperty("message")]
-        public string Message { get; set; }
-
-        [JsonProperty("status")]
-        public int Status { get; set; }
-    }
-}

+ 0 - 49
IPADDemo/Model/WXttsmsg.cs

@@ -1,49 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class WxTtsMsg
-    {
-
-        [JsonProperty("content")]
-        public string Content { get; set; }
-
-        [JsonProperty("continue")]
-        public int Continue { get; set; }
-
-        [JsonProperty("description")]
-        public string Description { get; set; }
-
-        [JsonProperty("from_user")]
-        public string FromUser { get; set; }
-
-        [JsonProperty("msg_id")]
-        public string MsgId { get; set; }
-
-        [JsonProperty("msg_source")]
-        public string MsgSource { get; set; }
-
-        [JsonProperty("msg_type")]
-        public int MsgType { get; set; }
-
-        [JsonProperty("status")]
-        public int Status { get; set; }
-
-        [JsonProperty("sub_type")]
-        public int SubType { get; set; }
-
-        [JsonProperty("timestamp")]
-        public int Timestamp { get; set; }
-
-        [JsonProperty("to_user")]
-        public string ToUser { get; set; }
-
-        [JsonProperty("uin")]
-        public Int64 Uin { get; set; }
-    }
-}

+ 0 - 22
IPADDemo/Model/WxDat.cs

@@ -1,22 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class WxDat
-    {
-        public string data { get; set; }
-        public string message { get; set; }
-        public int status { get; set; }
-    }
-
-    public class WxToken {
-        public string token { get; set; }
-        public string message { get; set; }
-        public int status { get; set; }
-        public long uin { get; set; }
-    }
-}

+ 0 - 54
IPADDemo/Model/WxDelegate.cs

@@ -1,54 +0,0 @@
-using IPADDemo.Model;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    /// <summary>
-    /// 委托存放
-    /// </summary>
-    public static class WxDelegate
-    {
-        public static QrCode qrCode { get; set; }
-
-        public static Show show { get; set; }
-
-        public static GetContact getContact { get; set; }
-
-        public static GetGroup getGroup { get; set; }
-
-        public static GetGZH getGZH { get; set; }
-
-        public static MsgCallBack msgCallBack { get; set; }
-    }
-
-    /// <summary>
-    /// 二维码
-    /// </summary>
-    /// <param name="qrcode"></param>
-    public delegate void QrCode(string qrcode);
-    /// <summary>
-    /// 系统通知
-    /// </summary>
-    public delegate void Show(string str);
-
-    /// <summary>
-    /// 获取联系人
-    /// </summary>
-    public delegate void GetContact(Contact contact);
-
-    /// <summary>
-    /// 获取群组
-    /// </summary>
-    public delegate void GetGroup(Contact group);
-
-    /// <summary>
-    /// 获取公众号
-    /// </summary>
-    public delegate void GetGZH(Contact group);
-
-    public delegate void MsgCallBack(WxTtsMsg wxTtsMsg);
-}

+ 0 - 38
IPADDemo/Model/WxGroup.cs

@@ -1,38 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class WxGroup
-    {
-
-        /// <summary>
-        /// 群id
-        /// </summary>
-        public string groupid { get; set; }
-
-
-        /// <summary>
-        /// 群名称
-        /// </summary>
-        public string groupname { get; set; }
-
-        /// <summary>
-        /// 微信ID
-        /// </summary>
-        public string WxUser { get; set; }
-
-        /// <summary>
-        /// 归属句柄
-        /// </summary>
-        public string hander { get; set; }
-
-
-        public int membercount { get; set; }
-
-        public List<WxMember> member { get; set; }
-    }
-}

+ 0 - 19
IPADDemo/Model/WxMember.cs

@@ -1,19 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class WxMember
-    {
-        public string wxid { get; set; }
-
-        public string nickname { get; set; }
-
-        public string groupid { get; set; }
-
-        public string userid { get; set; }
-    }
-}

+ 0 - 16
IPADDemo/Model/WxQrCode.cs

@@ -1,16 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class WxQrCode
-    {
-
-        [JsonProperty("qr_code")]
-        public string QrCodeStr { get; set; }
-    }
-}

+ 0 - 46
IPADDemo/Model/WxUser.cs

@@ -1,46 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Model
-{
-    public class WxUser
-    {
-        /// <summary>
-        /// 句柄
-        /// </summary>
-        public object hander { get; set; }
-
-        /// <summary>
-        /// 微信ID
-        /// </summary>
-        public string wxid { get; set; }
-
-        /// <summary>
-        /// 状态
-        /// </summary>
-        public int type { get; set; }
-
-        /// <summary>
-        /// 功能
-        /// </summary>
-        public int code { get; set; }
-
-        /// <summary>
-        /// 名称
-        /// </summary>
-        public string name { get; set; }
-
-        /// <summary>
-        /// 头像
-        /// </summary>
-        public string headurl { get; set; }
-
-        /// <summary>
-        /// 头像
-        /// </summary>
-        public int status { get; set; }
-    }
-}

+ 0 - 24
IPADDemo/Program.cs

@@ -1,24 +0,0 @@
-using IPADDemo.Util;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-
-namespace IPADDemo
-{
-    static class Program
-    {
-        /// <summary>
-        /// 应用程序的主入口点。
-        /// </summary>
-        [STAThread]
-        static void Main()
-        {
-            Application.EnableVisualStyles();
-            Application.SetCompatibleTextRenderingDefault(false);
-            Application.Run(new FormDemo());
-         
-        }
-    }
-}

+ 0 - 36
IPADDemo/Properties/AssemblyInfo.cs

@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// 有关程序集的一般信息由以下
-// 控制。更改这些特性值可修改
-// 与程序集关联的信息。
-[assembly: AssemblyTitle("IPADDemo")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("IPADDemo")]
-[assembly: AssemblyCopyright("Copyright ©  2018")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// 将 ComVisible 设置为 false 会使此程序集中的类型
-//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
-//请将此类型的 ComVisible 特性设置为 true。
-[assembly: ComVisible(false)]
-
-// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
-[assembly: Guid("c9d8413d-03e4-4a01-901e-92c7df42cc2a")]
-
-// 程序集的版本信息由下列四个值组成: 
-//
-//      主版本
-//      次版本
-//      生成号
-//      修订号
-//
-// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
-// 方法是按如下所示使用“*”: :
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]

+ 0 - 63
IPADDemo/Properties/Resources.Designer.cs

@@ -1,63 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     此代码由工具生成。
-//     运行时版本:4.0.30319.42000
-//
-//     对此文件的更改可能会导致不正确的行为,并且如果
-//     重新生成代码,这些更改将会丢失。
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace IPADDemo.Properties {
-    using System;
-    
-    
-    /// <summary>
-    ///   一个强类型的资源类,用于查找本地化的字符串等。
-    /// </summary>
-    // 此类是由 StronglyTypedResourceBuilder
-    // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
-    // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
-    // (以 /str 作为命令选项),或重新生成 VS 项目。
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
-    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    internal class Resources {
-        
-        private static global::System.Resources.ResourceManager resourceMan;
-        
-        private static global::System.Globalization.CultureInfo resourceCulture;
-        
-        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
-        internal Resources() {
-        }
-        
-        /// <summary>
-        ///   返回此类使用的缓存的 ResourceManager 实例。
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Resources.ResourceManager ResourceManager {
-            get {
-                if (object.ReferenceEquals(resourceMan, null)) {
-                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("IPADDemo.Properties.Resources", typeof(Resources).Assembly);
-                    resourceMan = temp;
-                }
-                return resourceMan;
-            }
-        }
-        
-        /// <summary>
-        ///   重写当前线程的 CurrentUICulture 属性
-        ///   重写当前线程的 CurrentUICulture 属性。
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Globalization.CultureInfo Culture {
-            get {
-                return resourceCulture;
-            }
-            set {
-                resourceCulture = value;
-            }
-        }
-    }
-}

+ 0 - 117
IPADDemo/Properties/Resources.resx

@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-</root>

+ 0 - 26
IPADDemo/Properties/Settings.Designer.cs

@@ -1,26 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     此代码由工具生成。
-//     运行时版本:4.0.30319.42000
-//
-//     对此文件的更改可能会导致不正确的行为,并且如果
-//     重新生成代码,这些更改将会丢失。
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace IPADDemo.Properties {
-    
-    
-    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.8.0.0")]
-    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
-        
-        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-        
-        public static Settings Default {
-            get {
-                return defaultInstance;
-            }
-        }
-    }
-}

+ 0 - 7
IPADDemo/Properties/Settings.settings

@@ -1,7 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>
-<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
-  <Profiles>
-    <Profile Name="(Default)" />
-  </Profiles>
-  <Settings />
-</SettingsFile>

+ 0 - 65
IPADDemo/Util/Base64.cs

@@ -1,65 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Util
-{
-    public static class Base64
-    {
-        /// <summary>
-        /// Base64加密
-        /// </summary>
-        /// <param name="codeName">加密采用的编码方式</param>
-        /// <param name="source">待加密的明文</param>
-        /// <returns></returns>
-        public static string EncodeBase64(Encoding encode, string source)
-        {
-            byte[] bytes = encode.GetBytes(source);
-            string encoding = Convert.ToBase64String(bytes);
-            return encoding;
-        }
-
-        /// <summary>
-        /// Base64加密,采用utf8编码方式加密
-        /// </summary>
-        /// <param name="source">待加密的明文</param>
-        /// <returns>加密后的字符串</returns>
-        public static string EncodeBase64(string source)
-        {
-            return EncodeBase64(Encoding.Default, source);
-        }
-
-        /// <summary>
-        /// Base64解密
-        /// </summary>
-        /// <param name="codeName">解密采用的编码方式,注意和加密时采用的方式一致</param>
-        /// <param name="result">待解密的密文</param>
-        /// <returns>解密后的字符串</returns>
-        public static string DecodeBase64(Encoding encode, string result)
-        {
-            string decode = "";
-            byte[] bytes = Convert.FromBase64String(result);
-            try
-            {
-                decode = encode.GetString(bytes);
-            }
-            catch
-            {
-                decode = result;
-            }
-            return decode;
-        }
-
-        /// <summary>
-        /// Base64解密,采用utf8编码方式解密
-        /// </summary>
-        /// <param name="result">待解密的密文</param>
-        /// <returns>解密后的字符串</returns>
-        public static string DecodeBase64(string result)
-        {
-            return DecodeBase64(Encoding.Default, result);
-        }
-    }
-}

+ 0 - 212
IPADDemo/Util/BaseClass.cs

@@ -1,212 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Drawing;
-using System.Drawing.Imaging;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Util
-{
-    public static class BaseClass
-    {
-        /// <summary>
-        /// 判断是否为空,为空返回true
-        /// </summary>
-        /// <param name="data"></param>
-        /// <returns></returns>
-        public static bool IsNull(this object data)
-        {
-            //如果为null
-            if (data == null)
-            {
-                return true;
-            }
-
-            //如果为""
-            if (data.GetType() == typeof(String))
-            {
-                if (string.IsNullOrEmpty(data.ToString().Trim()))
-                {
-                    return true;
-                }
-            }
-            return false;
-        }
-
-        /// <summary>
-        /// 判断是否为空,为空返回true
-        /// </summary>
-        /// <param name="data"></param>
-        /// <returns></returns>
-        public static bool IsNull(string data)
-        {
-            //如果为null
-            if (data == null)
-            {
-                return true;
-            }
-
-            //如果为""
-            if (data.GetType() == typeof(String))
-            {
-                if (string.IsNullOrEmpty(data.ToString().Trim()))
-                {
-                    return true;
-                }
-            }
-            return false;
-        }
-
-        /// <summary>
-        /// 将obj类型转换为string
-        /// </summary>
-        /// <param name="s"></param>
-        /// <returns></returns>
-        public static string ConvertToString(this object s)
-        {
-            if (s == null)
-            {
-                return "";
-            }
-            else
-            {
-                return Convert.ToString(s);
-            }
-        }
-
-        /// <summary>
-        /// 将字符串转int32
-        /// </summary>
-        /// <param name="s"></param>
-        /// <returns></returns>
-        public static Int32 ConvertToInt32(this string s)
-        {
-            int i = 0;
-            if (s == null)
-            {
-                return 0;
-            }
-            else
-            {
-                int.TryParse(s, out i);
-            }
-            return i;
-        }
-
-        /// <summary>
-        /// 将字符串转double
-        /// </summary>
-        /// <param name="s"></param>
-        /// <returns></returns>
-        public static double ConvertToDouble(this object s)
-        {
-            double i = 0;
-            if (s == null)
-            {
-                return 0;
-            }
-            else
-            {
-                double.TryParse(s.ToString(), out i);
-            }
-            return i;
-        }
-
-        /// <summary>
-        /// 转换为datetime类型
-        /// </summary>
-        /// <param name="s"></param>
-        /// <returns></returns>
-        public static DateTime ConvertToDateTime(this string s)
-        {
-            DateTime dt = new DateTime();
-            if (s == null || s == "")
-            {
-                return DateTime.Now;
-            }
-            DateTime.TryParse(s, out dt);
-            return dt;
-        }
-
-        /// <summary>
-        /// 转换为datetime类型的格式字符串
-        /// </summary>
-        /// <param name="s">要转换的对象</param>
-        /// <param name="y">格式化字符串</param>
-        /// <returns></returns>
-        public static string ConvertToDateTime(this string s, string y)
-        {
-            DateTime dt = new DateTime();
-            DateTime.TryParse(s, out dt);
-            return dt.ToString(y);
-        }
-
-
-        /// <summary>
-        /// 将字符串转换成decimal
-        /// </summary>
-        /// <param name="s"></param>
-        /// <returns></returns>
-        public static decimal ConvertToDecimal(this object s)
-        {
-            decimal d = 0;
-            if (s == null || s == "")
-            {
-                return 0;
-            }
-
-            Decimal.TryParse(s.ToString(), out d);
-
-            return d;
-
-        }
-
-        public static string ReplaceHtml(this string s)
-        {
-            return s.Replace("&lt;", "<").Replace("&gt;", ">").Replace("&amp;", "&").Replace("&quot;", "\"");
-        }
-
-        public static string ImageToBase64String(this Image image)
-        {
-            return Convert.ToBase64String(image.ImageToBytes());
-        }
-
-        public static Image Base64StringToImage(this string base64)
-        {
-            byte[] buffer = Convert.FromBase64String(base64);
-            return buffer.BytesToImage();
-        }
-
-        public static byte[] ImageToBytes(this Image image)
-        {
-            ImageFormat format = image.RawFormat;
-            using (MemoryStream ms = new MemoryStream())
-            {
-                image.Save(ms, ImageFormat.Png);
-                byte[] buffer = new byte[ms.Length];
-                //Image.Save()会改变MemoryStream的Position,需要重新Seek到Begin
-                ms.Seek(0, SeekOrigin.Begin);
-                ms.Read(buffer, 0, buffer.Length);
-                return buffer;
-            }
-        }
-
-        public static Image BytesToImage(this byte[] buffer)
-        {
-            MemoryStream ms = new MemoryStream(buffer);
-            Image image = Image.FromStream(ms);
-            return image;
-        }
-
-        /// <summary>
-        /// utf8转ansi
-        /// </summary>
-        /// <param name="str"></param>
-        /// <returns></returns>
-        public static string Utf8ToAnsi(this string str) {
-           return Cover.MByteToWChar(str, 936);
-        }
-    }
-}

+ 0 - 41
IPADDemo/Util/Convert62.cs

@@ -1,41 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Runtime.InteropServices;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Util
-{
-    public class Convert62
-    {
-        [DllImport("EUtils.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
-        private static extern IntPtr EStrToHex(string context);
-
-        [DllImport("EUtils.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
-        private static extern IntPtr EHexToStr(string context);
-
-        /// <summary>
-        /// 16进制转字符串
-        /// </summary>
-        /// <param name="context"></param>
-        /// <returns></returns>
-        public static string eStrToHex(string context) {
-            IntPtr intptr = EStrToHex(context);
-            string str = "" + Marshal.PtrToStringAnsi(intptr).Substring(0,344);
-            return str;
-        }
-
-        /// <summary>
-        /// 字符串转16进制
-        /// </summary>
-        /// <param name="context"></param>
-        /// <returns></returns>
-        public static string eHexToStr(string context)
-        {
-            IntPtr intptr = EHexToStr(context);
-            string str = "" + Marshal.PtrToStringAnsi(intptr).Substring(0,232);
-            return str;
-        }
-    }
-}

+ 0 - 32
IPADDemo/Util/Cover.cs

@@ -1,32 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Runtime.InteropServices;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Util
-{
-    public static class Cover
-    {
-        [DllImport("kernel32.dll")]
-        public static extern int MultiByteToWideChar(int CodePage, int dwFlags, string lpMultiByteStr, int cchMultiByte, [MarshalAs(UnmanagedType.LPWStr)]string lpWideCharStr, int cchWideChar);
-
-        /// <summary>
-        /// 宽字符集转换
-        /// </summary>
-        /// <param name="content"></param>
-        /// <param name="toEncode"></param>
-        /// <returns></returns>
-        public static string MByteToWChar(string content, int toEncode)
-        {
-            //字符编码转换 GB2312:936   UTF-8:65001  BIG5:950  latin1:1252
-            int len = Cover.MultiByteToWideChar(toEncode, 0, content, -1, null, 0);
-            char[] temp = new char[len];
-            string content1 = new string(temp);
-            Cover.MultiByteToWideChar(toEncode, 0, content, -1, content1, len);
-            return content1.Replace("\0", "");
-        }
-
-    }
-}

+ 0 - 650
IPADDemo/Util/HttpUtil.cs

@@ -1,650 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Net;
-using System.Net.Cache;
-using System.Net.Security;
-using System.Reflection;
-using System.Runtime.InteropServices;
-using System.Security;
-using System.Text;
-using System.Text.RegularExpressions;
-
-namespace IPADDemo.Util
-{
-    class HttpUtil
-    {
-    }
-    public class Http_Helper
-    {
-        public Http_Helper()
-        {
-            System.Net.ServicePointManager.DefaultConnectionLimit = 1024;
-        }
-        public CookieContainer CookieContainers = new CookieContainer();
-
-
-        public string IE7 = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET4.0C; .NET4.0E)";
-
-        public string IE8 = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0)";
-
-        private RequestCachePolicy rcp = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
-
-        public bool isUserAgentSet = false;
-
-        public string Cookies { get; set; }
-
-
-        [DllImport("wininet.dll", CharSet = CharSet.Auto)]
-        public static extern bool DeleteUrlCacheEntry(string lpszUrlName);
-
-        [SecurityCritical, SuppressUnmanagedCodeSecurity]
-        [DllImport("wininet.dll", CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = true)]
-        internal static extern bool InternetGetCookieExW([In] string Url, [In] string cookieName, [Out] StringBuilder cookieData, [In] [Out] ref uint pchCookieData, uint flags, IntPtr reserved);
-
-        public HttpStatusCode GetResponse(ref string pResponsetext, string pUrl, string pMethod, string pData, string pReferer, int pTime = 10000, string pEncoding = "UTF-8", bool pIsPTHander = true)
-        {
-            Set_Cookies(pUrl);
-            try
-            {
-                DeleteUrlCacheEntry(pUrl);
-                HttpWebRequest pRequest = (HttpWebRequest)WebRequest.Create(pUrl);
-                pRequest.KeepAlive = true;
-                pRequest.Method = pMethod.ToUpper();
-                pRequest.AllowAutoRedirect = true;
-                pRequest.CookieContainer = CookieContainers;
-                pRequest.Referer = pReferer;
-                pRequest.UserAgent = IE8;
-                pRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
-                pRequest.Timeout = pTime;
-                pRequest.ReadWriteTimeout = pTime;
-                pRequest.CachePolicy = rcp;
-                pRequest.Headers.Add("x-requested-with", "XMLHttpRequest");
-                //ProtocolVersion
-                //KeepAlive
-                //Allowautoredirect
-                pRequest.ProtocolVersion = HttpVersion.Version10;
-                pRequest.KeepAlive = false;
-
-
-                if (pIsPTHander)
-                {
-                    PTRequest(ref pRequest);
-                }
-                Encoding encoding = Encoding.GetEncoding(pEncoding);
-                if (pMethod.ToUpper() != "GET" && pData != null)
-                {
-                    byte[] bytes = encoding.GetBytes(pData);
-                    pRequest.ContentLength = (long)bytes.Length;
-                    pRequest.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
-                    Stream requestStream = pRequest.GetRequestStream();
-                    requestStream.Write(bytes, 0, bytes.Length);
-                    requestStream.Close();
-                }
-                HttpWebResponse httpWebResponse = (HttpWebResponse)pRequest.GetResponse();
-                StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream(), encoding);
-                pResponsetext = streamReader.ReadToEnd();
-
-
-                pRequest.Abort();
-                httpWebResponse.Close();
-                 
-                return httpWebResponse.StatusCode;
-            }
-            catch (WebException ex)
-            {
-
-                try
-                {
-                    HttpWebResponse response = (HttpWebResponse)ex.Response;
-
-                    if (response.StatusCode == HttpStatusCode.BadRequest)
-                    {
-                        using (Stream data = response.GetResponseStream())
-                        {
-                            using (StreamReader reader = new StreamReader(data))
-                            {
-                                string text = reader.ReadToEnd();
-                                pResponsetext = text;
-                                Console.WriteLine(text);
-                            }
-                        }
-                    }
-                }
-                catch
-                {
-                    return HttpStatusCode.ExpectationFailed;
-                }
-
-                return HttpStatusCode.ExpectationFailed;
-            }
-        }
-
-        public HttpStatusCode GetResponse_WX(ref string pResponsetext, string pUrl, string pMethod, string pData, string pReferer, int pTime = 10000, string pEncoding = "UTF-8", bool pIsPTHander = true)
-        {
-            Set_Cookies(pUrl);
-            try
-            {
-                DeleteUrlCacheEntry(pUrl);
-                HttpWebRequest pRequest = (HttpWebRequest)WebRequest.Create(pUrl);
-                pRequest.KeepAlive = true;
-                pRequest.Method = pMethod.ToUpper();
-                pRequest.AllowAutoRedirect = true;
-                pRequest.CookieContainer = CookieContainers;
-                pRequest.Referer = pReferer;
-                pRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 MicroMessenger/6.5.2.501 NetType/WIFI WindowsWechat QBCore/3.43.556.400 QQBrowser/9.0.2524.400";
-                pRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
-                pRequest.Timeout = pTime;
-                pRequest.ReadWriteTimeout = pTime;
-                pRequest.CachePolicy = rcp;
-                pRequest.Headers.Add("x-requested-with", "XMLHttpRequest");
-
-               
-                //ProtocolVersion
-                //KeepAlive
-                //Allowautoredirect
-                pRequest.ProtocolVersion = HttpVersion.Version10;
-                pRequest.KeepAlive = false;
-
-
-                if (pIsPTHander)
-                {
-                    PTRequest(ref pRequest);
-                }
-                Encoding encoding = Encoding.GetEncoding(pEncoding);
-                if (pMethod.ToUpper() != "GET" && pData != null)
-                {
-                    byte[] bytes = encoding.GetBytes(pData);
-                    pRequest.ContentLength = (long)bytes.Length;
-                    pRequest.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
-                    Stream requestStream = pRequest.GetRequestStream();
-                    requestStream.Write(bytes, 0, bytes.Length);
-                    requestStream.Close();
-                }
-                HttpWebResponse httpWebResponse = (HttpWebResponse)pRequest.GetResponse();
-                StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream(), encoding);
-                pResponsetext = streamReader.ReadToEnd();
-
-
-                pRequest.Abort();
-                httpWebResponse.Close();
-
-                return httpWebResponse.StatusCode;
-            }
-            catch (WebException ex)
-            {
-
-                try
-                {
-                    HttpWebResponse response = (HttpWebResponse)ex.Response;
-
-                    if (response.StatusCode == HttpStatusCode.BadRequest)
-                    {
-                        using (Stream data = response.GetResponseStream())
-                        {
-                            using (StreamReader reader = new StreamReader(data))
-                            {
-                                string text = reader.ReadToEnd();
-                                pResponsetext = text;
-                                Console.WriteLine(text);
-                            }
-                        }
-                    }
-                }
-                catch
-                {
-                    return HttpStatusCode.ExpectationFailed;
-                }
-
-                return HttpStatusCode.ExpectationFailed;
-            }
-        }
-
-        public HttpStatusCode GetResponse1(ref string pResponsetext, string pUrl, string pMethod, string pData, string pReferer, int pTime = 10000, string pEncoding = "UTF-8", bool pIsPTHander = true)
-        {
-            Set_Cookies(pUrl);
-            try
-            {
-                DeleteUrlCacheEntry(pUrl);
-                HttpWebRequest pRequest = (HttpWebRequest)WebRequest.Create(pUrl);
-                pRequest.KeepAlive = true;
-                pRequest.Method = pMethod.ToUpper();
-                pRequest.AllowAutoRedirect = true;
-                pRequest.CookieContainer = CookieContainers;
-                pRequest.Referer = pReferer;
-                pRequest.UserAgent = IE8;
-                pRequest.Accept = "application/json, text/javascript, */*; q=0.01";
-                pRequest.Timeout = pTime;
-                pRequest.ReadWriteTimeout = pTime;
-                pRequest.CachePolicy = rcp;
-                pRequest.Headers.Add("x-requested-with", "XMLHttpRequest");
-                pRequest.ProtocolVersion = HttpVersion.Version10;
-                pRequest.KeepAlive = false;
-                if (pIsPTHander)
-                {
-                    PTRequest(ref pRequest);
-                }
-                Encoding encoding = Encoding.GetEncoding(pEncoding);
-
-                if (pMethod.ToUpper() == "POST" && pData != null)
-                {
-                    byte[] bytes = encoding.GetBytes(pData);
-                    pRequest.ContentLength = (long)bytes.Length;
-                    pRequest.ContentType = "application/json; charset=UTF-8";
-                    Stream requestStream = pRequest.GetRequestStream();
-                    requestStream.Write(bytes, 0, bytes.Length);
-                    requestStream.Close();
-                }
-                HttpWebResponse httpWebResponse = (HttpWebResponse)pRequest.GetResponse();
-                StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream(), encoding);
-                pResponsetext = streamReader.ReadToEnd();
-                pRequest.Abort();
-                httpWebResponse.Close();
-                
-                return httpWebResponse.StatusCode;
-            }
-            catch (WebException ex)
-            {
-                HttpWebResponse response = (HttpWebResponse)ex.Response;
-
-                if (response.StatusCode == HttpStatusCode.BadRequest)
-                {
-                    using (Stream data = response.GetResponseStream())
-                    {
-                        using (StreamReader reader = new StreamReader(data))
-                        {
-                            string text = reader.ReadToEnd();
-                            pResponsetext = text;
-                            Console.WriteLine(text);
-                        }
-                    }
-                }
-
-                return HttpStatusCode.ExpectationFailed;
-            }
-        }
-
-        public HttpStatusCode GetResponse2(ref string pResponsetext, string pUrl, string pMethod, string pData, string pReferer, int pTime = 10000, string pEncoding = "UTF-8", bool pIsPTHander = true)
-        {
-            Set_Cookies(pUrl);
-            try
-            {
-                DeleteUrlCacheEntry(pUrl);
-                HttpWebRequest pRequest = (HttpWebRequest)WebRequest.Create(pUrl);
-                pRequest.KeepAlive = true;
-                pRequest.Method = pMethod.ToUpper();
-                pRequest.AllowAutoRedirect = true;
-                pRequest.CookieContainer = CookieContainers;
-                pRequest.Referer = pReferer;
-                pRequest.UserAgent = IE8;
-                pRequest.Accept = "application/json, text/javascript, */*; q=0.01";
-                pRequest.Timeout = pTime;
-                pRequest.ReadWriteTimeout = pTime;
-                pRequest.CachePolicy = rcp;
-                pRequest.Headers.Add("x-requested-with", "XMLHttpRequest");
-                pRequest.ProtocolVersion = HttpVersion.Version10;
-                pRequest.KeepAlive = false;
-                if (pIsPTHander)
-                {
-                    PTRequest(ref pRequest);
-                }
-                Encoding encoding = Encoding.GetEncoding(pEncoding);
-                if (pMethod.ToUpper() == "POST" && pData != null)
-                {
-                    byte[] bytes = encoding.GetBytes(pData);
-                    pRequest.ContentLength = (long)bytes.Length;
-                    pRequest.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
-                    Stream requestStream = pRequest.GetRequestStream();
-                    requestStream.Write(bytes, 0, bytes.Length);
-                    requestStream.Close();
-                }
-                HttpWebResponse httpWebResponse = (HttpWebResponse)pRequest.GetResponse();
-                StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream(), encoding);
-                pResponsetext = streamReader.ReadToEnd();
-                pRequest.Abort();
-                httpWebResponse.Close();
-                 
-                return httpWebResponse.StatusCode;
-            }
-            catch (WebException ex)
-            {
-                HttpWebResponse response = (HttpWebResponse)ex.Response;
-
-                if (response.StatusCode == HttpStatusCode.BadRequest)
-                {
-                    using (Stream data = response.GetResponseStream())
-                    {
-                        using (StreamReader reader = new StreamReader(data))
-                        {
-                            string text = reader.ReadToEnd();
-                            pResponsetext = text;
-                            Console.WriteLine(text);
-                        }
-                    }
-                }
-
-                return HttpStatusCode.ExpectationFailed;
-            }
-        }
-
-        public HttpStatusCode GetResponse3(ref string pResponsetext, string pUrl, string pMethod, string pData, string pReferer, int pTime = 10000, string pEncoding = "UTF-8", bool pIsPTHander = true)
-        {
-            Set_Cookies(pUrl);
-            try
-            {
-                DeleteUrlCacheEntry(pUrl);
-                HttpWebRequest pRequest = (HttpWebRequest)WebRequest.Create(pUrl);
-                pRequest.KeepAlive = true;
-                pRequest.Method = pMethod.ToUpper();
-                pRequest.AllowAutoRedirect = true;
-                pRequest.CookieContainer = CookieContainers;
-                pRequest.Referer = pReferer;
-                pRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36";
-                pRequest.Accept = "text/plain, */*; q=0.01";
-                pRequest.Timeout = pTime;
-                pRequest.ReadWriteTimeout = pTime;
-                pRequest.CachePolicy = rcp;
-                pRequest.Headers.Add("x-requested-with", "XMLHttpRequest");
-                pRequest.ProtocolVersion = HttpVersion.Version10;
-                pRequest.KeepAlive = false;
-                if (pIsPTHander)
-                {
-                    PTRequest(ref pRequest);
-                }
-                Encoding encoding = Encoding.GetEncoding(pEncoding);
-                if (pMethod.ToUpper() != "GET" && pData != null)
-                {
-                    byte[] bytes = encoding.GetBytes(pData);
-                    pRequest.ContentLength = (long)bytes.Length;
-                    pRequest.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
-                    Stream requestStream = pRequest.GetRequestStream();
-                    requestStream.Write(bytes, 0, bytes.Length);
-                    requestStream.Close();
-                }
-                HttpWebResponse httpWebResponse = (HttpWebResponse)pRequest.GetResponse();
-                StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream(), encoding);
-                pResponsetext = streamReader.ReadToEnd();
-
-                pRequest.Abort();
-                httpWebResponse.Close();
-               
-                return httpWebResponse.StatusCode;
-            }
-            catch (WebException ex)
-            {
-                HttpWebResponse response = (HttpWebResponse)ex.Response;
-
-                if (response.StatusCode == HttpStatusCode.BadRequest)
-                {
-                    using (Stream data = response.GetResponseStream())
-                    {
-                        using (StreamReader reader = new StreamReader(data))
-                        {
-                            string text = reader.ReadToEnd();
-                            pResponsetext = text;
-                            Console.WriteLine(text);
-                        }
-                    }
-                }
-
-                return HttpStatusCode.ExpectationFailed;
-            }
-        }
-
-        public Stream GetResponseImage(string pUrl, string pReferer = "", string pMethod = "GET", string pData = "", int pTime = 6000, string pEncoding = "UTF-8", bool pIsPTHander = true)
-        {
-
-            Set_Cookies(pUrl);
-            try
-            {
-                DeleteUrlCacheEntry(pUrl);
-                HttpWebRequest pRequest = (HttpWebRequest)WebRequest.Create(pUrl);
-                pRequest.KeepAlive = true;
-                pRequest.Method = pMethod;
-                pRequest.AllowAutoRedirect = true;
-                pRequest.CookieContainer = CookieContainers;
-                pRequest.Referer = pReferer;
-                pRequest.UserAgent = IE8;
-                pRequest.Accept = "*/*";
-                pRequest.Timeout = pTime;
-                pRequest.CachePolicy = rcp;
-                pRequest.Headers.Add("x-requested-with", "XMLHttpRequest");
-                pRequest.ProtocolVersion = HttpVersion.Version10;
-                pRequest.KeepAlive = false;
-                if (pIsPTHander)
-                {
-                    PTRequest(ref pRequest);
-                }
-
-                Encoding encoding = Encoding.GetEncoding(pEncoding);
-                if (pMethod.ToUpper() == "POST" && pData != null)
-                {
-                    byte[] bytes = encoding.GetBytes(pData);
-                    pRequest.ContentLength = (long)bytes.Length;
-                    pRequest.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
-                    Stream requestStream = pRequest.GetRequestStream();
-                    requestStream.Write(bytes, 0, bytes.Length);
-                    requestStream.Close();
-                }
-                ServicePointManager.ServerCertificateValidationCallback += (RemoteCertificateValidationCallback)((se, cert, chain, sslerror) => true);
-                 
-                return pRequest.GetResponse().GetResponseStream();
-            }
-            catch
-            {
-                return (Stream)null;
-            }
-        }
-
-
-         
-        /// <summary>
-        /// 提取string Cookies
-        /// </summary>
-        /// <param name="pUrl"></param>
-        /// <returns></returns>
-        public string GetCookieInternal(string pUrl)
-        {
-            string result = "";
-            uint num = 0u;
-            string url = pUrl.ToString();
-            uint flags = 8192u;
-            if (InternetGetCookieExW(url, null, null, ref num, flags, IntPtr.Zero))
-            {
-                num += 1u;
-                StringBuilder stringBuilder = new StringBuilder((int)num);
-                if (InternetGetCookieExW(url, null, stringBuilder, ref num, flags, IntPtr.Zero))
-                {
-                    result = stringBuilder.ToString();
-                }
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 提取string Cookies
-        /// </summary>
-        /// <param name="pUrl"></param>
-        /// <param name="pCookie"></param>
-        /// <returns></returns>
-        public string GetHttpHelperCookieString(Uri pUrl, CookieCollection pCookie = null)
-        {
-            List<string> pList = new List<string>();
-            if (pCookie == null)
-                pCookie = CookieContainers.GetCookies(pUrl);
-            foreach (Cookie cookie in pCookie)
-            {
-                string name = cookie.Name;
-                string str = cookie.Value;
-                pList.Add(name + "=" + str);
-            }
-            return string.Join("; ", pList);
-        }
-
-        /// <summary>
-        /// 提取string Cookies
-        /// </summary>
-        /// <param name="pUrl"></param>
-        /// <param name="pCookie"></param>
-        /// <returns></returns>
-        public string GetHttpHelperCookieString(string pUrl, CookieCollection pCookie = null)
-        {
-            List<string> pList = new List<string>();
-            if (pCookie == null)
-                pCookie = CookieContainers.GetCookies(new Uri(pUrl));
-            foreach (Cookie cookie in pCookie)
-            {
-                string name = cookie.Name;
-                string str = cookie.Value;
-                pList.Add(name + "=" + str);
-            }
-            return string.Join("; ", pList);
-        }
-
-        public Dictionary<string, string> GetHttpHelperCookie(Uri pUrl)
-        {
-            Dictionary<string, string> dictionary = new Dictionary<string, string>();
-            foreach (Cookie cookie in CookieContainers.GetCookies(pUrl))
-            {
-                string name = cookie.Name;
-                string str = cookie.Value;
-                dictionary[name] = str;
-            }
-            return dictionary;
-        }
-
-
-        /// <summary>
-        /// 删除Heard
-        /// </summary>
-        /// <param name="pRequest"></param>
-        public void PTRequest(ref HttpWebRequest pRequest)
-        {
-            pRequest.Headers.Remove("x-requested-with");
-        }
-
-        /// <summary>
-        /// 枚举类型
-        /// </summary>
-        public enum InternetFlags
-        {
-            INTERNET_FLAG_RESTRICTED_ZONE = 16,
-            INTERNET_COOKIE_HTTPONLY = 8192,
-            INTERNET_COOKIE_THIRD_PARTY = 131072,
-        }
-
-        /// <summary>
-        /// 设置COOKIES
-        /// </summary>
-        /// <param name="url"></param>
-        public void Set_Cookies(string url)
-        {
-            if (Cookies != null)
-            {
-                string[] arrCookie = Cookies.Split(';');
-
-                CookieContainer cookie_container = new CookieContainer();    //加载Cookie
-                //cookie_container.SetCookies(new Uri(url), cookie);
-                foreach (string sCookie in arrCookie)
-                {
-                    if (sCookie.IndexOf("expires") > 0)
-                        continue;
-                    cookie_container.SetCookies(new Uri(url), sCookie);
-                }
-                CookieContainers = cookie_container;
-            }
-
-        }
-
-
-        #region 正则提取Cookie
-        public static string LiteCookies(string Cookies)
-        {
-            try
-            {
-                string rStr = "";
-                Cookies = Cookies.Replace("HttpOnly", "").Replace(";", "; ");
-                Regex r = new Regex("(?<=,|^)(?<cookie>[^ ]+=[\\s|\"]?(?![\"]?deleted[\"]?)[^;]+)[\"]?;");
-                Match m = r.Match(Cookies);
-                while (m.Success)
-                {
-                    rStr = GetCleanCookie(rStr, m.Groups["cookie"].Value);
-                    m = m.NextMatch();
-                }
-                return rStr;
-            }
-            catch
-            {
-                return "";
-            }
-        }
-        #endregion
-
-        #region 获取一次请求中的无重复Cookie
-        private static string GetCleanCookie(string source, string inStr)
-        {
-            if (source != "" && inStr != "")
-            {
-                bool changed = false;
-                string[] tem = source.Split(';');
-                for (int i = 0; i < tem.Length; i++)
-                {
-                    if (tem[i].Split('=')[0] == inStr.Split('=')[0])
-                    {
-                        source = source.Replace(tem[i], inStr);
-                        changed = true;
-                    }
-                }
-                if (!changed) source += ";" + inStr;
-                return source;
-            }
-            else if (inStr != "") return inStr;
-            else if (source != "") return source;
-            else return "";
-        }
-        #endregion
-
-        #region 合并多次请求的Cookie,去掉重复部分
-        public static string MergerCookies(string OldCookie, string NewCookie)
-        {
-            if (!string.IsNullOrEmpty(OldCookie) && !string.IsNullOrEmpty(NewCookie))
-            {
-                if (OldCookie == NewCookie) return OldCookie;
-                else
-                {
-                    List<string> Old = new List<String>(OldCookie.Split(';'));
-                    List<string> New = new List<String>(NewCookie.Split(';'));
-                    foreach (string n in New)
-                    {
-                        foreach (string o in Old)
-                        {
-                            if (o == n || o.Split('=')[0] == n.Split('=')[0])
-                            {
-                                Old.Remove(o);
-                                break;
-                            }
-                        }
-                    }
-                    List<string> list = new List<string>(Old);
-                    list.AddRange(New);
-                    return string.Join(";", list.ToArray());
-                }
-            }
-            else if (!string.IsNullOrEmpty(OldCookie)) return OldCookie;
-            else if (!string.IsNullOrEmpty(NewCookie)) return NewCookie;
-            else return "";
-        }
-        #endregion
-
-
-        public byte[] StreamToBytes(Stream stream)
-        {
-
-            byte[] bytes = new byte[stream.Length];
-            stream.Read(bytes, 0, bytes.Length);
-            // 设置当前流的位置为流的开始
-            stream.Seek(0, SeekOrigin.Begin);
-            return bytes;
-        }
-    }
-}

+ 0 - 112
IPADDemo/Util/MyUtils.cs

@@ -1,112 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Drawing;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Util
-{
-    public static class MyUtils
-    {
-        public static bool IsFileInUse(string fileName)
-        {
-            bool inUse = true;
-            FileStream fs = null;
-            try
-            {
-
-                fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
-
-                inUse = false;
-            }
-            catch (Exception ex)
-            {
-                try
-                {
-                    Process[] pcs = Process.GetProcesses();
-                    foreach (Process p in pcs)
-                    {
-                        if (p.MainModule.FileName == fileName)
-                        {
-                            p.Kill();
-                        }
-                    }
-                }
-                catch (Exception e) { }
-            }
-            finally
-            {
-                if (fs != null)
-
-                    fs.Close();
-            }
-            return inUse;//true表示正在使用,false没有使用  
-        }
-
-        public static Bitmap Base64StringToImage(string basestr)
-        {
-            Bitmap bitmap = null;
-            try
-            {
-                String inputStr = basestr;
-                byte[] arr = Convert.FromBase64String(inputStr);
-                MemoryStream ms = new MemoryStream(arr);
-                Bitmap bmp = new Bitmap(ms);
-                ms.Close();
-                bitmap = bmp;
-                //MessageBox.Show("转换成功!");
-            }
-            catch (Exception ex)
-            {
-                Console.WriteLine("Base64StringToImage 转换失败\nException:" + ex.Message);
-            }
-
-            return bitmap;
-        }
-
-        public static string ImageToBase64String(this Image image)
-        {
-            return Convert.ToBase64String(image.ImageToBytes());
-        }
-
-        /// <summary>
-        /// 字符串转16进制
-        /// </summary>
-        /// <param name="s"></param>
-        /// <param name="encode"></param>
-        /// <returns></returns>
-        public static string StringToHexString(string s, Encoding encode)
-        {
-            byte[] b = encode.GetBytes(s);//按照指定编码将string编程字节数组
-            string result = string.Empty;
-            for (int i = 0; i < b.Length; i++)//逐字节变为16进制字符
-            {
-                result += Convert.ToString(b[i], 16);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 16进制转字符串
-        /// </summary>
-        /// <param name="hs"></param>
-        /// <param name="encode"></param>
-        /// <returns></returns>
-        public static string HexStringToString(string hs, Encoding encode)
-        {
-            string strTemp = "";
-            byte[] b = new byte[hs.Length / 2];
-            for (int i = 0; i < hs.Length / 2; i++)
-            {
-                strTemp = hs.Substring(i * 2, 2);
-                b[i] = Convert.ToByte(strTemp, 16);
-            }
-            //按照指定编码将字节数组变为字符串
-            return encode.GetString(b);
-        }
-
-    }
-}

+ 0 - 396
IPADDemo/Util/Utilities.cs

@@ -1,396 +0,0 @@
-/*
- 类说明:函数自编或由网络收集整理而成.
- 编写人:cload
- 整理日期:2014-10-25
-*/
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Text;
-using System.Drawing;
-using System.Text.RegularExpressions;
-using System.Web;
-using System.Web.Security;
-
-namespace IPADDemo.Util
-{
-    public class Utilities
-    {
-        #region 编解码函数
-        #region GB2312转Unicode
-        /// <summary>
-        /// 单个汉字转换为%AB%CD格式,如"我=%CE%D2"
-        /// </summary>
-        /// <param name="Source"></param>
-        /// <returns></returns>
-        public static string GB2Unicode(string source)
-        {
-            string retStr = "";
-            string tem = "";
-            byte[] Bytes = Encoding.GetEncoding("GB2312").GetBytes(source);
-            for (int i = 0; i < Bytes.Length; i++)
-            {
-                if (Bytes[i] >= 48 && Bytes[i] <= 57 || Bytes[i] >= 65 && Bytes[i] <= 90 || Bytes[i] >= 97 && Bytes[i] <= 122)
-                    tem = ((char)(Bytes[i])).ToString();
-                else
-                    tem = "%" + Bytes[i].ToString("X");
-                retStr += tem;
-            }
-            return retStr;
-        }
-        #endregion
-
-        #region UTF8编码
-        /// <summary>
-        /// 编码部分默认转为大写字母,字符编码采用默认值
-        /// </summary>
-        /// <param name="Source">http://www.123.com</param>
-        /// <returns>http%3A%2F%2Fwww.123.com</returns>
-        public static string UTF8(string Source, bool toUpper = true)
-        {
-            if (toUpper)
-            {
-                StringBuilder sb = new StringBuilder();
-                for (int i = 0; i < Source.Length; i++)
-                {
-                    string t = Source[i].ToString();
-                    string k = HttpUtility.UrlEncode(t, Encoding.Default);
-                    if (t == k) sb.Append(t);
-                    else sb.Append(k.ToUpper());
-                }
-                return sb.ToString();
-            }
-            else
-                return HttpUtility.UrlEncode(Source, Encoding.Default);
-        }
-        public static string URL(string Source)
-        {
-            return HttpUtility.UrlEncode(Source);
-        }
-        #endregion
-
-        #region %uxxxx编码
-        public static string EncodeStr(string Source)
-        {
-            return HttpUtility.UrlEncodeUnicode(Source);
-        }
-        #endregion
-
-        #region &#xx|%uxx|%xx%yy格式解码
-        public static string DecodeStr(string Source)
-        {
-            string tem = Source;
-            if (Source.Contains("&#"))
-            {
-                tem = "";
-                if (Source.EndsWith(";")) Source = Source.Substring(0, Source.Length - 1);
-                string[] tmp = Regex.Replace(Source, "&#", "").Split(';');
-                for (int i = 0; i < tmp.Length; i++)
-                {
-                    string t = int.Parse(tmp[i]).ToString("x4");
-                    tem += "%u" + t.Substring(t.Length - 4);
-                }
-            }
-            return HttpUtility.UrlDecode(Regex.Unescape(tem));
-        }
-        #endregion
-
-        #region MD5加密
-        public static string MD5(string Source)
-        {
-            return FormsAuthentication.HashPasswordForStoringInConfigFile(Source, "MD5");
-        }
-        public static string GetMD5(string sDataIn)
-        {
-            System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
-            byte[] bytValue, bytHash;
-            bytValue = System.Text.Encoding.UTF8.GetBytes(sDataIn);
-            bytHash = md5.ComputeHash(bytValue);
-            md5.Clear();
-            string sTemp = "";
-            for (int i = 0; i < bytHash.Length; i++)
-            {
-                sTemp += bytHash[i].ToString("X").PadLeft(2, '0');
-            }
-            return sTemp.ToLower();
-        }
-        #endregion
-
-        #endregion
-
-        #region byte[]数组或16进制文本文件转图片
-        /// <summary>
-        /// 输入byte[]数组或16进制文本文件的全路径文本名
-        /// </summary>
-        /// <param name="ByteOrPath">字节数组或全路径文件名</param>
-        /// <returns>Image图像</returns>
-        public static Image ImageFromByte(object ByteOrPath)
-        {
-            try
-            {
-                byte[] PicBytes = null;
-                if (ByteOrPath.GetType().Name == "String")
-                {
-                    string fileStr = File.ReadAllText(ByteOrPath.ToString());
-                    fileStr = Regex.Replace(fileStr, "\\s+|\r\n", "");
-                    byte[] picByte = new byte[fileStr.Length / 2];
-                    for (int i = 0; i < picByte.Length; i++)
-                    {
-                        picByte[i] = Convert.ToByte("0x" + fileStr.Substring(i * 2, 2), 16);
-                    }
-                    PicBytes = picByte;
-                }
-                else PicBytes = (byte[])ByteOrPath;
-                MemoryStream ms = new MemoryStream(PicBytes);
-                ms.Position = 0;
-                Image img = Image.FromStream(ms);
-                ms.Close();
-                return img;
-            }
-            catch
-            {
-                return null;
-            }
-        }
-        #endregion
-
-        #region Base64字符串转图片
-        public static Image ImageFromBase64(string PathOrStr)
-        {
-            try
-            {
-                String Base64Str = "";
-                if (PathOrStr.Contains("\\"))
-                    Base64Str = File.ReadAllText(PathOrStr);
-                else
-                    Base64Str = PathOrStr;
-                byte[] arr = Convert.FromBase64String(Base64Str);
-                MemoryStream ms = new MemoryStream(arr);
-                Bitmap bmp = new Bitmap(ms);
-                ms.Close();
-                return bmp;
-            }
-            catch
-            {
-                return null;
-            }
-        }
-        #endregion
-
-        #region Cookie简化去除重复数据
-        #region 正则提取Cookie
-        public static string LiteCookies(string Cookies)
-        {
-            try
-            {
-                string rStr = "";
-                Cookies = Cookies.Replace("HttpOnly", "").Replace(";", "; ");
-                Regex r = new Regex("(?<=,|^)(?<cookie>[^ ]+=[\\s|\"]?(?![\"]?deleted[\"]?)[^;]+)[\"]?;");
-                Match m = r.Match(Cookies);
-                while (m.Success)
-                {
-                    rStr = GetCleanCookie(rStr, m.Groups["cookie"].Value);
-                    m = m.NextMatch();
-                }
-                return rStr;
-            }
-            catch
-            {
-                return "";
-            }
-        }
-        #endregion
-
-        #region 获取一次请求中的无重复Cookie
-        private static string GetCleanCookie(string source, string inStr)
-        {
-            if (source != "" && inStr != "")
-            {
-                bool changed = false;
-                string[] tem = source.Split(';');
-                for (int i = 0; i < tem.Length; i++)
-                {
-                    if (tem[i].Split('=')[0] == inStr.Split('=')[0])
-                    {
-                        source = source.Replace(tem[i], inStr);
-                        changed = true;
-                    }
-                }
-                if (!changed) source += ";" + inStr;
-                return source;
-            }
-            else if (inStr != "") return inStr;
-            else if (source != "") return source;
-            else return "";
-        }
-        #endregion
-
-        #region 合并多次请求的Cookie,去掉重复部分
-        public static string MergerCookies(string OldCookie, string NewCookie)
-        {
-            if (!string.IsNullOrEmpty(OldCookie) && !string.IsNullOrEmpty(NewCookie))
-            {
-                if (OldCookie == NewCookie) return OldCookie;
-                else
-                {
-                    List<string> Old = new List<String>(OldCookie.Split(';'));
-                    List<string> New = new List<String>(NewCookie.Split(';'));
-                    foreach (string n in New)
-                    {
-                        foreach (string o in Old)
-                        {
-                            if (o == n || o.Split('=')[0] == n.Split('=')[0])
-                            {
-                                Old.Remove(o);
-                                break;
-                            }
-                        }
-                    }
-                    List<string> list = new List<string>(Old);
-                    list.AddRange(New);
-                    return string.Join(";", list.ToArray());
-                }
-            }
-            else if (!string.IsNullOrEmpty(OldCookie)) return OldCookie;
-            else if (!string.IsNullOrEmpty(NewCookie)) return NewCookie;
-            else return "";
-        }
-        #endregion
-
-        #endregion
-
-        #region 字符串操作函数
-        #region 过滤html标签
-        public static string StripHTML(string stringToStrip)
-        {
-            stringToStrip = Regex.Replace(stringToStrip, "</p(?:\\s*)>(?:\\s*)<p(?:\\s*)>", "\n\n", RegexOptions.IgnoreCase | RegexOptions.Compiled);
-            stringToStrip = Regex.Replace(stringToStrip, "", "\n", RegexOptions.IgnoreCase | RegexOptions.Compiled);
-            stringToStrip = Regex.Replace(stringToStrip, "\"", "''", RegexOptions.IgnoreCase | RegexOptions.Compiled);
-            stringToStrip = StripHtmlXmlTags(stringToStrip);
-            return stringToStrip;
-        }
-        private static string StripHtmlXmlTags(string content)
-        {
-            return Regex.Replace(content, "<[^>]+>", "", RegexOptions.IgnoreCase | RegexOptions.Compiled);
-        }
-        #endregion
-
-        #region 取中间字符串
-        public static string GetMidStr(string Source, string StartStr, string EndStr)
-        {
-            try
-            {
-                int StartPos = Source.IndexOf(StartStr, 0) + StartStr.Length;
-                int EndPos = Source.IndexOf(EndStr, StartPos);
-               // int s = 0;
-               // int le=EndStr.Length;
-                //for (int i = 0; i < Source.Length; i++)
-                //{
-                //    var x = Source.Length - i - le;
-                //    if (Source.Substring(x, le) == EndStr)
-                //    {
-                //        s = x;
-                //        break;
-                            
-                //    }
-                //}
-
-                return Source.Substring(StartPos, EndPos - StartPos);
-            }
-            catch { return ""; }
-        }
-
-        public static string GetMidStr(string Source, string EndStr)
-        {
-            try
-            {
-                /*        "}"125
-                          "]" 93
-                 */
-
-                int s = 0;
-                for (int i = Source.Length-1; i >= 0; i--)
-                {
-                     
-                    if (Source.Substring(i, 1) == EndStr)
-                    {
-                        s = i;
-                        break;
-
-                    }
-                }
-                var data = Source.Substring(0, s+1);
-                return data;
-            }
-            catch { return ""; }
-        }
-        #endregion
-
-
-
-
-
-        #endregion
-
-        #region 时间操作函数
-        #region 时间戳
-        public static string GetTime()
-        {
-            DateTime timeStamp = new DateTime(1970, 1, 1);
-            long a = (DateTime.UtcNow.Ticks - timeStamp.Ticks) / 10000;
-            return a.ToString();
-        }
-
-        public static double GetTimestamp
-        {
-            get
-            {
-                TimeSpan ts = DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1);
-                return ts.TotalMilliseconds;
-            }
-        }
-        #endregion
-
-
-
-        #region 时间相加
-        public static string OperationTime(string BaseTime, string AddTime, string AddType)
-        {
-            DateTime dt = Convert.ToDateTime(BaseTime);
-            DateTime rt = DateTime.Now;
-            switch (AddType)
-            {
-                case "年": rt = dt.AddYears(int.Parse(AddTime)); break;
-                case "月": rt = dt.AddMonths(int.Parse(AddTime)); break;
-                case "日": rt = dt.AddDays(double.Parse(AddTime)); break;
-                case "时": rt = dt.AddHours(double.Parse(AddTime)); break;
-                case "分": rt = dt.AddMinutes(double.Parse(AddTime)); break;
-                case "秒": rt = dt.AddSeconds(double.Parse(AddTime)); break;
-                case "毫": rt = dt.AddMilliseconds(double.Parse(AddTime)); break;
-            }
-            return rt.ToString();
-        }
-        #endregion
-
-        #region 英文月份变成数字月份
-        public static string strToNum(string Month)
-        {
-            string ret = "";
-            string[] enMonth = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
-            string[] nuMonth = { "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12" };
-            for (int i = 0; i < enMonth.Length; i++)
-            {
-                if (Month == enMonth[i])
-                {
-                    ret = nuMonth[i];
-                    break;
-                }
-            }
-            return ret;
-        }
-        #endregion
-
-        #endregion
-
-    }
-}

+ 0 - 294
IPADDemo/Util/ffmpegUtils.cs

@@ -1,294 +0,0 @@
-using System;
-using System.Diagnostics;
-using System.IO;
-using System.Threading;
-using System.Threading.Tasks;
-
-namespace IPADDemo.Util
-{
-    public class ffmpegUtils
-    {
-        private static string url = System.IO.Directory.GetCurrentDirectory();
-        private static ffmpegUtils instance;
-        private static object _lock = new object();
-        private static int maxNum = 10;
-
-        private ffmpegUtils()
-        {
-            Init();
-        }
-
-        public static ffmpegUtils GetInstance()
-        {
-            if (instance == null)
-            {
-                lock (_lock)
-                {
-                    if (instance == null)
-                    {
-                        instance = new ffmpegUtils();
-                    }
-                }
-            }
-            return instance;
-        }
-
-        /// <summary>
-        ///删除中间件pcm文件
-        /// </summary>
-        private static void Init()
-        {
-            if (!Directory.Exists(System.IO.Directory.GetCurrentDirectory() + @"\cache\"))
-            {
-                Directory.CreateDirectory(System.IO.Directory.GetCurrentDirectory() + @"\cache\");
-            }
-            foreach (string d in Directory.GetFileSystemEntries(System.IO.Directory.GetCurrentDirectory() + @"\cache\"))
-            {
-                if (File.Exists(d))
-                {
-                    try
-                    {
-                        FileInfo fi = new FileInfo(d);
-                        if (fi.Extension.ToLower() == ".pcm")
-                        {
-                            if (fi.Attributes.ToString().IndexOf("ReadOnly") != -1)
-                                fi.Attributes = FileAttributes.Normal;
-                            File.Delete(d);//删除pcm中间文件
-                        }
-                    }
-                    catch (Exception ex)
-                    {
-                        Console.WriteLine(ex.Message.ToString());
-                    }
-                }
-            }
-        }
-
-        /// <summary>
-        /// amr 转换  mp3 格式
-        /// </summary>
-        /// <param name="amrFile">amr文件所在路径</param>
-        /// <returns></returns>
-        public bool ConvertAmrToMp3(string amrFile, string savePath)
-        {
-            //if (!File.Exists(amrFile))
-            //{
-            //    MyLog.LogW("当前目录不存在amr文件" + amrFile);
-            //    return false;
-            //}
-            string filePath = savePath;
-            string fileName = amrFile.Substring(amrFile.LastIndexOf(@"\"));
-            string finalName = fileName.Substring(1, fileName.IndexOf(".") - 1);
-
-            string guid = Guid.NewGuid().ToString();
-            string copyFile = @"silk_v3_encoder_" + guid;
-            //string copyPath = url + @"\software\" + copyFile + ".exe";
-            //System.IO.File.Copy(url + @"\silk_v3_decoder.exe", copyPath, true);
-            string copyPath = url + @"\ffmpeg\silk_v3_decoder.exe";
-            //amr解码为pcm格式
-            string amrTopcm = "\"" + copyPath + "\"  \"" + amrFile + "\"  \"" + url + @"\cache\" + finalName + ".pcm\" -quiet";
-            //pcm转码为MP3格式
-            string pcmTomp3 = "\"" + url + "\\ffmpeg\\ffmpeg.exe\" -y -f s16le -ar 24000 -ac 1 -i  \"" + url + @"\cache\" + finalName + ".pcm\"" + "  \"" + filePath+ "\"";
-
-            int indexNum = 1;
-            try
-            {
-                bool b = FormatConvert(amrTopcm);
-                string pcmdir = url + @"\cache\" + finalName + ".pcm";
-                return ContinueTryConvert(amrFile, pcmdir, b, pcmTomp3, filePath, finalName, indexNum, copyFile, savePath);
-            }
-            catch (Exception)
-            {
-                return false;
-            }
-        }
-
-        /// <summary>
-        /// MP3 转换为 amr格式
-        /// </summary>
-        /// <param name="mp3File"></param>
-        /// <returns></returns>
-        public bool ConvertMp3ToAmr(string mp3File, string savePath)
-        {
-            //if (!File.Exists(mp3File))
-            //{
-            //    return false;
-            //}
-            string filePath = savePath;
-            string fileName = "";
-            if (mp3File.LastIndexOf(@"\") != -1)
-            {
-                fileName = mp3File.Substring(mp3File.LastIndexOf(@"\"));
-            }
-            else {
-                fileName = mp3File;
-            }
-            string finalName = fileName.Substring(1, fileName.IndexOf(".") - 1);
-
-            string guid = Guid.NewGuid().ToString();
-            string copyFile = @"silk_v3_encoder_" + guid;
-            //string copyPath = url + @"\software\" + copyFile + ".exe";
-            //System.IO.File.Copy(url + @"\silk_v3_encoder.exe", copyPath, true);
-            string copyPath = url + @"\ffmpeg\silk_v3_encoder.exe";
-            //mp3转码位pcm格式
-            string mp3Topcm = "\"" + url + "\\ffmpeg\\ffmpeg.exe\" -i \"" + mp3File + "\" -f s16le -acodec pcm_s16le -ac 1 -ar 24000 \"" + url + @"\cache\" + finalName + ".pcm\"";
-            //pcm转码为amr格式
-            string pcmTomp3 = "\"" + copyPath + "\"  \"" + url + @"\cache\" + finalName + ".pcm\"" + "  \"" + filePath + "\"  -tencent";
-
-            int indexNum = 1;
-            try
-            {
-                bool b = FormatConvert(mp3Topcm);
-                string pcmdir = url + @"\cache\" + finalName + ".pcm";
-                return ContinueTryConvert(mp3File, pcmdir, b, pcmTomp3, filePath, finalName, indexNum, copyFile, savePath);
-            }
-            catch (Exception)
-            {
-                return false;
-            }
-        }
-
-        private bool ContinueTryConvert(string originFile, string pcmdir, bool b, string strCommand, string filePath, string finalName, int indexNum, string copyFile, string savePath)
-        {
-            if (File.Exists(pcmdir))
-            {
-                if (b)
-                {
-                    if (MyUtils.IsFileInUse(pcmdir))
-                    {
-                        Thread.Sleep(100);
-                        return ContinueTryConvert(originFile, pcmdir, b, strCommand, filePath, finalName, indexNum, copyFile, savePath);
-                    }
-                    bool isSuccese = FormatConvert(strCommand);
-
-                    #region 删除文件
-
-                    Task.Factory.StartNew(() =>
-                    {
-                        Thread.Sleep(10000);
-                        try
-                        {
-                            File.Delete(pcmdir);
-                        }
-                        catch (Exception ex)
-                        {
-                        }
-                        try
-                        {
-                            string path = url + @"\software\" + copyFile + ".exe";
-                            if (File.Exists(path))
-                            {
-                                new FileInfo(path).Attributes = FileAttributes.Normal;
-                                File.Delete(path);
-                            }
-                        }
-                        catch (Exception ex)
-                        {
-                        }
-                    });
-
-                    #endregion 删除文件
-
-                    indexNum = 1;
-                    return ContinueSecondTryConvert(indexNum, filePath, strCommand);
-                }
-                else
-                {
-                    return false;
-                }
-            }
-            else
-            {
-                indexNum++;
-                if (indexNum <= maxNum)
-                {
-                    Thread.Sleep(200);
-                    return ContinueTryConvert(originFile, pcmdir, b, strCommand, filePath, finalName, indexNum, copyFile, savePath);
-                }
-                else
-                {
-                    return false;
-                }
-            }
-        }
-
-        private bool ContinueSecondTryConvert(int indexNum, string finaldir, string strCommand)
-        {
-            if (!File.Exists(finaldir))
-            {
-                indexNum++;
-                if (indexNum <= maxNum)
-                {
-                    Thread.Sleep(100 * indexNum);
-                    return ContinueSecondTryConvert(indexNum, finaldir, strCommand);
-                }
-                else
-                {
-                    bool isSuccese = FormatConvert(strCommand);
-                    Thread.Sleep(1000);
-                    return File.Exists(finaldir);
-                }
-            }
-            else
-            {
-                return true;
-            }
-        }
-
-        /// <summary>
-        ///解码/转码-格式
-        ///@param silk 源silk文件,需要绝对路径! 例:F:\zhuanma\vg2ub41omgipvrmur1fnssd3tq.silk
-        ///@param pcm 目标pcm文件,需要绝对路径  例:F:\zhuanma\vg2ub41omgipvrmur1fnssd3tq.pcm
-        ///@return
-        /// </summary>
-        /// <param name="cmdStr"></param>
-        /// <returns></returns>
-        private static bool FormatConvert(string cmdStr)
-        {
-            bool flag = true;
-            try
-            {
-                //CmdUtils.RunCmd(cmdStr);
-                #region 老版本
-                using (Process p = new Process())
-                {
-                    string strInput = cmdStr;
-
-                    //设置要启动的应用程序
-                    p.StartInfo.FileName = "cmd.exe";
-                    //是否使用操作系统shell启动
-                    p.StartInfo.UseShellExecute = false;
-                    // 接受来自调用程序的输入信息
-                    p.StartInfo.RedirectStandardInput = true;
-                    //输出信息
-                    p.StartInfo.RedirectStandardOutput = true;
-                    // 输出错误
-                    p.StartInfo.RedirectStandardError = true;
-                    //不显示程序窗口
-                    p.StartInfo.CreateNoWindow = true;
-                    //启动程序
-                    p.Start();
-                    //向cmd窗口发送输入信息
-                    p.StandardInput.WriteLine(strInput + "&exit");
-
-                    p.StandardInput.AutoFlush = true;
-
-                    //p.WaitForExit();
-                    //获取输出信息
-                    //string strOuput = p.StandardOutput.ReadToEnd();
-                    ////等待程序执行完退出进程
-                    //p.Kill();
-                    //Thread.Sleep(1000);
-                }
-                #endregion
-            }
-            catch (Exception)
-            {
-                flag = false;
-            }
-            return flag;
-        }
-
-       
-    }
-}

+ 0 - 12
IPADDemo/WeChat/XzyWeChatFunc.cs

@@ -1,12 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace IPADDemo.WeChat
-{
-    class XzyWeChatFunc
-    {
-    }
-}

+ 0 - 2304
IPADDemo/WeChat/XzyWeChatThread.cs

@@ -1,2304 +0,0 @@
-using Newtonsoft.Json;
-using SuperSocket.ClientEngine;
-using SuperSocket.ProtoBase;
-using System;
-using System.Collections.Generic;
-using System.Drawing;
-using System.Drawing.Imaging;
-using System.IO;
-using System.Net;
-using System.Net.Sockets;
-using System.Runtime.InteropServices;
-using System.Text;
-using System.Threading;
-using System.Threading.Tasks;
-using IPADDemo;
-using IPADDemo.Model;
-using IPADDemo.Util;
-using System.Configuration;
-using System.Text.RegularExpressions;
-using IPADDemo.AppData;
-using Xzy.IPAD.Core;
-
-namespace IPADDemo.WeChat
-{
-    public class XzyWeChatThread
-    {
-        #region 全局变量
-        public int pointerWxUser;
-        public int pushStr;
-        public int result;
-        public int msgPtr;
-        public int callBackMsg;
-        public int redPack;
-        public int readMember;
-
-        public string bankerWxid = "";
-        public string cheshouWxid = "";
-        public string groupId = "";
-
-        public object objGroup = new object();
-
-        private WxUser wxUser = new WxUser();
-        private List<WxGroup> wxGroup { get; set; }
-
-        public Dictionary<string, string> dicRedPack { get; set; }
-        public Dictionary<string, string> dicReadContent { get; set; }
-        private EasyClient<StringPackageInfo> socketClient = null;
-
-        private int mHeartBeatInterval = 1000 * 10;
-        private int mReConnectionInterval = 1000 * 10;
-
-        Random R = new Random();
-        string RandomStr(int n)
-        {
-            List<int> ilist = new List<int>();
-            for (int i = 0; i < n; i++)
-            {
-                ilist.Add(R.Next(0, 9));
-            }
-            return string.Join("", ilist);
-
-        }
-        Int64 RandomL(int n)
-        {
-            List<int> ilist = new List<int>();
-            for (int i = 0; i < n; i++)
-            {
-                ilist.Add(R.Next(0, 9));
-            }
-            return Convert.ToInt64(string.Join("", ilist));
-
-        }
-        string Mac
-        {
-            get
-            {
-                //return "0016D3B5C493";
-                int min = 0;
-                int max = 16;
-                Random ro = new Random();
-                var sn = string.Format("{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}",
-                   ro.Next(min, max).ToString("x"),//0
-                   ro.Next(min, max).ToString("x"),//
-                   ro.Next(min, max).ToString("x"),
-                   ro.Next(min, max).ToString("x"),
-                   ro.Next(min, max).ToString("x"),
-                   ro.Next(min, max).ToString("x"),//5
-                   ro.Next(min, max).ToString("x"),
-                   ro.Next(min, max).ToString("x"),
-                   ro.Next(min, max).ToString("x"),
-                   ro.Next(min, max).ToString("x"),
-                   ro.Next(min, max).ToString("x"),//10
-                   ro.Next(min, max).ToString("x")
-                    ).ToUpper();
-                return sn;
-            }
-        }
-        string UUID
-        {
-            get
-            {
-                return RandomStr(8) + "-" + RandomStr(4) + "-" + RandomL(4).ToString("X") + "-" + RandomL(4).ToString("X") + "-" + RandomL(12).ToString("X");
-            }
-        }
-
-        #endregion
-
-        #region 微信委托
-        public XzyWxApis.DllcallBack msgCallBack { get; set; }
-        #endregion
-
-        #region 定时器
-        /// <summary>
-        /// 心跳检查定时器
-        /// </summary>
-        private System.Threading.Timer tmrHeartBeat = null;
-
-        /// <summary>
-        /// 断线重连定时器
-        /// </summary>
-        private System.Threading.Timer tmrReConnection = null;
-        #endregion
-
-        #region 构造函数
-        /// <summary>
-        /// 初始化,并且使用二维码登录。并且初始化一些计时器,但实际上这些计时器没有什么用。这些计时器,应该是为了实现类似signalr的功能
-        /// </summary>
-        public XzyWeChatThread()
-        {
-            dicRedPack = new Dictionary<string, string>();
-            dicReadContent = new Dictionary<string, string>();
-            Task.Factory.StartNew(() =>
-            {
-                this.Init();
-            });
-
-            msgCallBack += new XzyWxApis.DllcallBack(Wx_MsgCallBack);
-
-            tmrHeartBeat = new System.Threading.Timer(HeartBeatCallBack, null, mHeartBeatInterval, mHeartBeatInterval);
-
-            tmrReConnection = new System.Threading.Timer(ReConnectionCallBack, null, mReConnectionInterval, mReConnectionInterval);
-
-            SocketStart(null);
-
-        }
-
-        /// <summary>
-        /// 62数据登陆,并且初始化一些计时器,但实际上这些计时器没有什么用。这些计时器,应该是为了实现类似signalr的功能
-        /// </summary>
-        /// <param name="str16"></param>
-        /// <param name="WxUsername"></param>
-        /// <param name="wxpassword"></param>
-        public XzyWeChatThread(string str16, string WxUsername, string wxpassword)
-        {
-            dicRedPack = new Dictionary<string, string>();
-            dicReadContent = new Dictionary<string, string>();
-            Task.Factory.StartNew(() =>
-            {
-                this.Init62(str16, WxUsername, wxpassword);
-            });
-
-            msgCallBack += new XzyWxApis.DllcallBack(Wx_MsgCallBack);
-
-            tmrHeartBeat = new System.Threading.Timer(HeartBeatCallBack, null, mHeartBeatInterval, mHeartBeatInterval);
-
-            tmrReConnection = new System.Threading.Timer(ReConnectionCallBack, null, mReConnectionInterval, mReConnectionInterval);
-
-            SocketStart(null);
-
-        }
-
-        #endregion
-
-        #region 全局方法
-
-        #region socket
-        /// <summary>
-        /// socket启动
-        /// </summary>
-        /// <param name="a"></param>
-        private async void SocketStart(object a)
-        {
-            try
-            {
-                //初始化并启动客户端引擎(TCP、文本协议)
-                socketClient = new EasyClient<StringPackageInfo>()
-                {
-                    ReceiveBufferSize = 65535
-                };
-                socketClient.Initialize(new MyTerminatorReceiveFilter());
-                socketClient.Connected += client_Connected;
-                socketClient.NewPackageReceived += client_NewPackageReceived;
-                socketClient.Closed += client_Closed;
-                socketClient.Error += client_Error;//192.168.0.102
-                var connected = await socketClient.ConnectAsync(new System.Net.DnsEndPoint(CS.IP, 9000));
-                if (connected && socketClient.IsConnected)
-                {
-                    ShowMessage("连接成功!");
-                    if (this.wxUser.wxid != "")
-                    {
-                        TcpSendMsg(TcpMsg.OL, wxUser);
-                        if (wxGroup != null)
-                        {
-                            this.Wx_GetContacts();
-                        }
-                    }
-                }
-                else
-                {
-                    ShowMessage("连接失败!");
-                }
-            }
-            catch (Exception ex)
-            {
-                ShowMessage(string.Format("连接服务器失败:{0}", ex.Message));
-            }
-        }
-
-        /// <summary>
-        /// 接收消息
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        void client_NewPackageReceived(object sender, PackageEventArgs<StringPackageInfo> e)
-        {
-            var body = e.Package.Body;
-            MsgContent json = null;
-            switch (e.Package.Key)
-            {
-                case TcpMsg.content:
-                    json = Newtonsoft.Json.JsonConvert.DeserializeObject<MsgContent>(body);
-                    this.Wx_SendMsg(json.towxid, json.content);
-                    break;
-
-                case TcpMsg.img:
-                    json = Newtonsoft.Json.JsonConvert.DeserializeObject<MsgContent>(body);
-                    this.Wx_SendImg(json.towxid, json.ImgPath);
-                    break;
-
-                case TcpMsg.redpack:
-                    //json = Newtonsoft.Json.JsonConvert.DeserializeObject<MsgContent>(body);
-                    //var key = json.content;
-                    //await Task.Factory.StartNew(() =>
-                    //{
-                    //    this.RedpackOK2(key);
-                    //});
-                    //this.RedpackOK2(key, 0);
-                    break;
-
-                case TcpMsg.BankerConfig:
-                    var BankerConfig = Newtonsoft.Json.JsonConvert.DeserializeObject<BankerConfig>(body);
-
-                    switch (BankerConfig.code)
-                    {
-                        case 1: groupId = BankerConfig.wxid; break;
-
-                        case 2: bankerWxid = BankerConfig.wxid; break;
-
-                        case 3: cheshouWxid = BankerConfig.wxid; break;
-                    }
-                    break;
-            }
-            ShowMessage(e.Package.Body);
-        }
-
-        /// <summary>
-        /// socket 异常回调
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        void client_Error(object sender, global::SuperSocket.ClientEngine.ErrorEventArgs e)
-        {
-            if (e.Exception.GetType() == typeof(System.Net.Sockets.SocketException))
-            {
-                var socketExceptin = e.Exception as System.Net.Sockets.SocketException;
-                if (socketExceptin.SocketErrorCode == SocketError.ConnectionRefused)
-                {
-                    ShowMessage("错误:请先启动AppServer 服务端!");
-                }
-                else
-                    ShowMessage("错误:" + e.Exception.Message);
-            }
-            else
-                ShowMessage("错误:" + e.Exception.Message);
-        }
-
-        /// <summary>
-        /// socket断开回调
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        void client_Closed(object sender, EventArgs e)
-        {
-            ShowMessage("您已经掉线!");
-            SocketStart(null);
-        }
-
-        /// <summary>
-        /// socket连接成功回调
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        void client_Connected(object sender, EventArgs e)
-        {
-            ShowMessage("连接成功!");
-        }
-
-        /// <summary>
-        /// socket发送消息
-        /// </summary>
-        /// <param name="TcpMsg"></param>
-        /// <param name="content"></param>
-        void TcpSendMsg(string TcpMsg, object content)
-        {
-            if (socketClient != null && socketClient.IsConnected)
-            {
-                var json = TcpMsg + " " + Newtonsoft.Json.JsonConvert.SerializeObject(content) + Environment.NewLine;
-                var data = Encoding.UTF8.GetBytes(json);
-                socketClient.Send(new ArraySegment<byte>(data, 0, data.Length));
-            }
-        }
-
-        /// <summary>
-        /// 心跳包
-        /// </summary>
-        /// <param name="state"></param>
-        private void HeartBeatCallBack(object state)
-        {
-            try
-            {
-                tmrHeartBeat.Change(Timeout.Infinite, Timeout.Infinite);
-                if (socketClient != null && socketClient.IsConnected)
-                {
-                    var sbMessage = new StringBuilder();
-                    sbMessage.AppendFormat(string.Format("heartbeat #{0}#\r\n", "心跳数据包:ok"));
-                    var data = Encoding.UTF8.GetBytes(sbMessage.ToString());
-                    socketClient.Send(new ArraySegment<byte>(data, 0, data.Length));
-                }
-            }
-            finally
-            {
-                tmrHeartBeat.Change(mHeartBeatInterval, mHeartBeatInterval);
-            }
-        }
-
-        /// <summary>
-        /// 掉线重连
-        /// </summary>
-        /// <param name="state"></param>
-        private void ReConnectionCallBack(object state)
-        {
-            try
-            {
-                tmrReConnection.Change(Timeout.Infinite, Timeout.Infinite);
-                if (socketClient != null &&
-                    socketClient.IsConnected == false)
-                {
-                    SocketStart(null);
-                    //btnOpen_Click(null, null);
-                }
-            }
-            finally
-            {
-                tmrReConnection.Change(mHeartBeatInterval, mHeartBeatInterval);
-            }
-        }
-
-        #endregion
-
-        /// <summary>
-        /// 登录
-        /// </summary>
-        public unsafe void Init()
-        {
-            fixed (int* WxUser1 = &pointerWxUser, pushStr1 = &pushStr)
-            {
-                string uid = UUID;
-                var mac = Mac;
-                string name = "xzy-ipad";
-                var ret = XzyAuth.Init(ConfigurationSettings.AppSettings["AuthKey"].ToString());
-                WxDelegate.show("授权结果:" + ret);
-                var key = string.Format(@"<softtype><k3>9.0.2</k3><k9>iPad</k9><k10>2</k10><k19>58BF17B5-2D8E-4BFB-A97E-38F1226F13F8</k19><k20>{0}</k20><k21>neihe_5GHz</k21><k22>(null)</k22><k24>{1}</k24><k33>\345\276\256\344\277\241</k33><k47>1</k47><k50>1</k50><k51>com.tencent.xin</k51><k54>iPad4,4</k54></softtype>", UUID, Mac);
-                XzyWxApis.WXInitialize((int)WxUser1, name, key, UUID);
-
-                XzyWxApis.WXSetRecvMsgCallBack(pointerWxUser, msgCallBack);
-                XzyWxApis.WXGetQRCode(pointerWxUser, (int)pushStr1);
-
-                var msg = Marshal.PtrToStringAnsi(new IntPtr(Convert.ToInt32(pushStr)));
-
-                WxQrCode qr_code = JsonConvert.DeserializeObject<WxQrCode>(msg);//反序列化
-
-                WxDelegate.qrCode(qr_code.QrCodeStr);
-
-                Wx_ReleaseEX(ref pushStr);
-                QrCodeJson QRCodejson = null;
-                while (true)
-                {
-                    Thread.Sleep(500);
-                    XzyWxApis.WXCheckQRCode(pointerWxUser, (int)pushStr1);
-                    var datas = MarshalNativeToManaged((IntPtr)pushStr);
-                    if (datas == null)
-                    {
-                        continue;
-                    }
-                    string sstr = datas.ToString();
-                    QRCodejson = Newtonsoft.Json.JsonConvert.DeserializeObject<QrCodeJson>(sstr);//反序列化
-                    Wx_ReleaseEX(ref pushStr);
-                    bool breakok = false;
-                    switch (QRCodejson.Status)
-                    {
-                        case 0: WxDelegate.show("请扫描二维码"); break;
-                        case 1: WxDelegate.show("请点在手机上点确认"); break;
-                        case 2: WxDelegate.show("正在登录中.."); breakok = true; break;
-                        case 3: WxDelegate.show("已过期"); break;
-                        case 4: WxDelegate.show("取消操作了"); breakok = true; break;
-                    }
-                    if (breakok) { break; }
-                }
-                if (QRCodejson.Status == 2)
-                {
-                    var username = QRCodejson.UserName;
-                    var password = QRCodejson.Password;
-                    string s62 = Wx_GenerateWxDat();
-                    WxDat wxDat = JsonConvert.DeserializeObject<WxDat>(s62);
-                    var str62 = Convert62.eStrToHex(wxDat.data);
-                    EUtils.AuthApi(username, password, UUID, Mac, name, str62);
-                    Thread.Sleep(3000);
-                    var strlogin=Wx_QRCodeLogin(username, password);
-                    UserData userdata = Newtonsoft.Json.JsonConvert.DeserializeObject<UserData>(strlogin);//反序列化
-                    if (userdata.Status == -301)
-                    {
-                        var Str= Wx_QRCodeLogin(username, password);
-                        userdata = Newtonsoft.Json.JsonConvert.DeserializeObject<UserData>(Str);//反序列化
-                        if (userdata.Status == 0) {
-                            WxDelegate.show("登录成功");
-                            XzyWxApis.WXHeartBeat(pointerWxUser, (int)pushStr1);
-                            var datas = MarshalNativeToManaged((IntPtr)pushStr);
-                            var sstr = datas.ToString();
-                            Wx_ReleaseEX(ref pushStr);
-                            this.wxUser.wxid = userdata.UserName;
-                            this.wxUser.name = userdata.NickName;
-                            this.TcpSendMsg(TcpMsg.OL, this.wxUser);
-                            Task.Factory.StartNew(delegate { this.Wx_GetContacts(); });
-                            Wx_ReleaseEX(ref pushStr);
-                            return;
-                        }
-                    }
-                    if (userdata.Status == 0)
-                    {
-                        WxDelegate.show("登录成功");
-                        XzyWxApis.WXHeartBeat(pointerWxUser, (int)pushStr1);
-                        var datas = MarshalNativeToManaged((IntPtr)pushStr);
-                        var sstr = datas.ToString();
-                        Wx_ReleaseEX(ref pushStr);
-                        this.wxUser.wxid = userdata.UserName;
-                        this.wxUser.name = userdata.NickName;
-                        this.TcpSendMsg(TcpMsg.OL, this.wxUser);
-                        Task.Factory.StartNew(delegate { this.Wx_GetContacts(); });
-                        Wx_ReleaseEX(ref pushStr);
-                        return;
-                    }
-                    else
-                    {
-                        WxDelegate.show("登录失败");
-                    }
-                }
-            }
-        }
-
-        /// <summary>
-        /// 初始化62数据
-        /// </summary>
-        /// <param name="str16"></param>
-        /// <param name="WxUsername"></param>
-        /// <param name="wxpassword"></param>
-        public unsafe void Init62(string str16, string WxUsername, string wxpassword)
-        {
-            fixed (int* WxUser1 = &pointerWxUser, pushStr1 = &pushStr)
-            {
-
-                var ret = XzyAuth.Init(ConfigurationSettings.AppSettings["AuthKey"].ToString());
-                string uid = UUID;
-                var mac = Mac;
-
-                var key = string.Format($@"<softtype><k3>11.0.1</k3><k9>iPad</k9><k10>2</k10><k19>{Guid.NewGuid()}</k19><k20>{0}</k20><k21>neihe_5GHz</k21><k22>(null)</k22><k24>{1}</k24><k33>\345\276\256\344\277\241</k33><k47>1</k47><k50>1</k50><k51>com.tencent.xin</k51><k54>iPad5,5</k54></softtype>", UUID, Mac);
-
-                XzyWxApis.WXInitialize((int)WxUser1, "xzyIPAD", key, UUID);
-
-                XzyWxApis.WXSetRecvMsgCallBack(pointerWxUser, msgCallBack);
-
-                //62数据是扫码登录成功后,再获取,并保存下来,而不是其它方式登录后再保存。并且还要使用方法WXGetLoginToken保存下token
-                #region 使用62数据自动登录,在扫码登录后,会得到62数据及token,传入到这里即可实现自动登录
-                //加载62数据
-                byte[] data62Bytes = Convert.FromBase64String(str16);
-                XzyWxApis.WXLoadWxDat(pointerWxUser, data62Bytes, data62Bytes.Length, (int)pushStr1);
-                var datas1 = MarshalNativeToManaged((IntPtr)pushStr);
-                var sstr1 = datas1.ToString();
-                if (string.IsNullOrEmpty(sstr1))
-                {
-                    WxDelegate.show("登陆失败,重新登录");
-                }
-                Wx_ReleaseEX(ref pushStr);
-                #endregion
-
-                //以下是使用账号密码登录,已经测试成功。账号:13127873237,密码:Taobao123
-                XzyWxApis.WXUserLogin(pointerWxUser, WxUsername, wxpassword, (int)pushStr1);
-                var datas = MarshalNativeToManaged((IntPtr)pushStr);
-                var sstr = datas.ToString();
-                Wx_ReleaseEX(ref pushStr);
-
-                UserData userdata = Newtonsoft.Json.JsonConvert.DeserializeObject<UserData>(sstr);//反序列化
-
-                if (userdata.Status == -301)
-                {
-                    XzyWxApis.WXUserLogin(pointerWxUser, WxUsername, wxpassword, (int)pushStr1);
-                    datas = MarshalNativeToManaged((IntPtr)pushStr);
-                    sstr = datas.ToString();
-                    Wx_ReleaseEX(ref pushStr);
-                    WxDelegate.show("微信重定向");
-                    userdata = Newtonsoft.Json.JsonConvert.DeserializeObject<UserData>(sstr);//反序列化
-                    this.wxUser.wxid = userdata.UserName;
-                    this.wxUser.name = userdata.NickName;
-                    if (userdata.Status == 0)
-                    {
-                        WxDelegate.show("登录成功");
-                        XzyWxApis.WXHeartBeat(pointerWxUser, (int)pushStr1);
-                        datas = MarshalNativeToManaged((IntPtr)pushStr);
-                        sstr = datas.ToString();
-                        Wx_ReleaseEX(ref pushStr);
-                        this.TcpSendMsg(TcpMsg.OL, this.wxUser);
-                        Task.Factory.StartNew(delegate { this.Wx_GetContacts(); });
-
-                        //:登录成功后,取出token备用
-                        XzyWxApis.WXGetLoginToken(pointerWxUser, (int)pushStr1);
-                        var datas3 = MarshalNativeToManaged((IntPtr)pushStr);
-                        var sstr3 = datas3.ToString();
-                        var tokenData = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(sstr3, new { Token = "" });
-                        Wx_ReleaseEX(ref pushStr);
-                        return;
-                    }
-                    else
-                    {
-                        WxDelegate.show("登录失败");
-                    }
-                }
-                if (userdata.Status == 0)
-                {
-                    WxDelegate.show("登录成功");
-                    XzyWxApis.WXHeartBeat(pointerWxUser, (int)pushStr1);
-                    datas = MarshalNativeToManaged((IntPtr)pushStr);
-                    sstr = datas.ToString();
-                    Wx_ReleaseEX(ref pushStr);
-                    this.wxUser.wxid = userdata.UserName;
-                    this.wxUser.name = userdata.NickName;
-                    this.TcpSendMsg(TcpMsg.OL, this.wxUser);
-                    Task.Factory.StartNew(delegate { this.Wx_GetContacts(); });
-
-                    //:登录成功后,取出token备用
-                    XzyWxApis.WXGetLoginToken(pointerWxUser, (int)pushStr1);
-                    var datas3 = MarshalNativeToManaged((IntPtr)pushStr);
-                    var sstr3 = datas3.ToString();
-                    var tokenData = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(sstr3, new { Token = "" });
-                    Wx_ReleaseEX(ref pushStr);
-                    return;
-                }
-                else
-                {
-                    WxDelegate.show("登录失败");
-                }
-            }
-        }
-
-        public object MarshalNativeToManaged(IntPtr pNativeData)
-        {
-            try
-            {
-                if (pNativeData == IntPtr.Zero)
-                {
-                    return null;
-                }
-                List<byte> list = new List<byte>();
-                int num = 0;
-                for (; ; )
-                {
-                    byte b = Marshal.ReadByte(pNativeData, num);
-                    if (b == 0)
-                    {
-                        break;
-                    }
-                    list.Add(b);
-                    num++;
-                }
-                return Encoding.UTF8.GetString(list.ToArray(), 0, list.Count);
-            }
-            catch
-            {
-                return null;
-            }
-        }
-
-        
-
-        /// <summary>
-        /// 图片转byte
-        /// </summary>
-        /// <param name="image"></param>
-        /// <returns></returns>
-        public byte[] ImageToBytes(Image image)
-        {
-            ImageFormat format = image.RawFormat;
-            using (MemoryStream ms = new MemoryStream())
-            {
-                if (format.Equals(ImageFormat.Jpeg))
-                {
-                    image.Save(ms, ImageFormat.Jpeg);
-                }
-                else if (format.Equals(ImageFormat.Png))
-                {
-                    image.Save(ms, ImageFormat.Png);
-                }
-                else if (format.Equals(ImageFormat.Bmp))
-                {
-                    image.Save(ms, ImageFormat.Bmp);
-                }
-                else if (format.Equals(ImageFormat.Gif))
-                {
-                    image.Save(ms, ImageFormat.Gif);
-                }
-                else if (format.Equals(ImageFormat.Icon))
-                {
-                    image.Save(ms, ImageFormat.Icon);
-                }
-                byte[] buffer = new byte[ms.Length];
-                //Image.Save()会改变MemoryStream的Position,需要重新Seek到Begin
-                ms.Seek(0, SeekOrigin.Begin);
-                ms.Read(buffer, 0, buffer.Length);
-                return buffer;
-            }
-        }
-
-        /// <summary>
-        /// 打印消息
-        /// </summary>
-        /// <param name="msg"></param>
-        private void ShowMessage(string msg)
-        {
-            Console.WriteLine(msg);
-        }
-
-        public static int TimeStamp
-        {
-            get
-            {
-
-                TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
-                return Convert.ToInt32(ts.TotalSeconds - 180);
-            }
-        }
-
-        #endregion
-
-        #region 微信方法
-
-        #region 微信消息
-        /// <summary>
-        /// 发消息 -文字
-        /// </summary>
-        /// <param name="wxid"></param>
-        /// <param name="content"></param>
-        public unsafe string Wx_SendMsg(string wxid, string content)
-        {
-            WxDelegate.show(string.Format("发送文字: {0}", content));
-            content = content.Replace(" ", "\r\n");
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXSendMsg(pointerWxUser, wxid, content, null, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                var str = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-                return str;
-            }
-        }
-
-        /// <summary>
-        /// 群发消息
-        /// </summary>
-        /// <param name="wxid"></param>
-        /// <param name="content"></param>
-        /// <returns></returns>
-        public unsafe string Wx_MassMessage(string wxid, string content)
-        {
-            WxDelegate.show(string.Format("发送文字: {0}", content));
-            content = content.Replace(" ", "\r\n");
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXMassMessage(pointerWxUser, wxid, content, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                var str = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-                return str;
-            }
-        }
-
-        private int wx_imptr;
-        /// <summary>
-        /// 发消息 - 图片
-        /// </summary>
-        /// <param name="wxid"></param>
-        /// <param name="imgpath"></param>
-        public unsafe string Wx_SendImg(string wxid, string imgpath)
-        {
-            WxDelegate.show(string.Format("发送图片 :{0}", imgpath));
-
-            fixed (int* WxUser1 = &pointerWxUser, imptr1 = &wx_imptr)
-            {
-
-                Image _image = Image.FromStream(WebRequest.Create(imgpath).GetResponse().GetResponseStream());
-                //把文件读取到字节数组
-                byte[] data = this.ImageToBytes(_image);
-
-                XzyWxApis.WXSendImage(pointerWxUser, wxid, data, data.Length, (int)imptr1);
-                var datas = MarshalNativeToManaged((IntPtr)wx_imptr);
-                var str = datas.ToString();
-                Wx_ReleaseEX(ref wx_imptr);
-                _image = null;
-                return str;
-            }
-        }
-
-        /// <summary>
-        /// 发语音 - silk
-        /// </summary>
-        /// <param name="wxid"></param>
-        /// <param name="imgpath"></param>
-        public unsafe string Wx_SendVoice(string wxid, string silkpath, int time)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, imptr1 = &wx_imptr)
-            {
-                try
-                {
-                    FileStream fs = new FileStream(silkpath, FileMode.Open, FileAccess.Read);
-                    //获取文件大小
-                    long size = fs.Length;
-
-                    byte[] data = new byte[size];
-                    //将文件读到byte数组中
-                    fs.Read(data, 0, data.Length);
-                    fs.Close();
-                    if (data.Length > 0)
-                    {
-                        XzyWxApis.WXSendVoice(pointerWxUser, wxid, data, data.Length, time * 1000, (int)imptr1);
-                        var datas = MarshalNativeToManaged((IntPtr)wx_imptr);
-                        result = datas.ToString();
-                        Wx_ReleaseEX(ref wx_imptr);
-                    }
-                }
-                catch { }
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 分享名片
-        /// </summary>
-        /// <param name="user"></param>
-        /// <param name="wxid"></param>
-        /// <param name="title"></param>
-        /// <returns></returns>
-        public unsafe string Wx_ShareCard(string user, string wxid, string title)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-
-                msgPtr = EUtils.EShareCarde(pointerWxUser, user, wxid, title);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref wx_imptr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 微信消息 - 回调
-        /// </summary>
-        /// <param name="a"></param>
-        /// <param name="b"></param>
-        public unsafe void Wx_MsgCallBack(int a, int b)
-        {
-            if (b == -1)
-            {
-                TcpSendMsg(TcpMsg.Out, wxUser);
-                return;
-            }
-            fixed (int* wxUser1 = &pointerWxUser, callBackMsg1 = &callBackMsg)
-            {
-                try
-                {
-                    XzyWxApis.WXSyncMessage(pointerWxUser, (int)callBackMsg1);
-                    if (callBackMsg == 0)
-                    {
-                        return;
-                    }
-                    var str = MarshalNativeToManaged((IntPtr)callBackMsg).ToString();
-                    List<BackWxMsg> BackWxMsg = new List<BackWxMsg>();
-                    Wx_ReleaseEX(ref callBackMsg);
-                    List<WxTtsMsg> WXttsmsg = Newtonsoft.Json.JsonConvert.DeserializeObject<List<WxTtsMsg>>(str);
-                    foreach (var msg in WXttsmsg)
-                    {
-                        var msgtype = msg.MsgType;
-                        var content = msg.Content;
-                        var sub_type = msg.SubType;
-                        var MsgId = msg.MsgId;
-                        if (msg.Timestamp < TimeStamp)
-                        {
-                            continue;
-                        }
-
-                        //32768 主动删除好友
-                        //5 浏览通知。比如手机上打开群时,会得到5的通知
-                        //2048 估计是二维码登录成功的通知
-
-                        //Timestamp = 1520153620
-                        //<msg><appmsg appid="" sdkver=""><title><![CDATA[邀请你加入群聊]]></title><des><![CDATA["红毛哥哥,(招财进宝)"邀请你加入群聊🌸  招财进宝🌸  三点比!!,进入可查看详情。]]></des><action>view</action><type>5</type><showtype>0</showtype><content></content><url><![CDATA[http://support.weixin.qq.com/cgi-bin/mmsupport-bin/addchatroombyinvite?ticket=AxmPr0y71kZ0GHNfgHzvMA%3D%3D]]></url><thumburl><![CDATA[http://weixin.qq.com/cgi-bin/getheadimg?username=c718f942d57830318779f76095c014e2f561b16364ef1eef132a316aa94fcc5a]]></thumburl><lowurl></lowurl><appattach><totallen>0</totallen><attachid></attachid><fileext></fileext></appattach><extinfo></extinfo></appmsg><appinfo><version></version><appname></appname></appinfo></msg>
-
-                        if (sub_type == 42)
-                        {
-                            var username = Utilities.GetMidStr(msg.Content, "username=\"", "\" nickname=").Trim();
-                            if (username.Length > 20)
-                            {
-                                //v1
-                            }
-                        }
-
-                        //判断此消息是否已经处理过。若未处理,才会进入里面处理
-                        if (Wx_SetMsgKey(MsgId))
-                        {
-                            WxDelegate.msgCallBack(msg);
-                            if (sub_type == 49)
-                            {
-                                if (content.IndexOf("加入群聊") != -1)
-                                {
-                                    var url = Utilities.GetMidStr(content, "<url><![CDATA[", "]]>");
-                                    Task.Factory.StartNew(delegate { Wx_IntoGroup(url); });
-                                }
-                                else if (content.IndexOf("微信转账") != -1)//当sub_type=49,并且content内容包含“微信转账”时,表示这是一笔微信转账通知
-                                {
-                                    Task.Factory.StartNew(delegate
-                                    {
-                                        fixed (int* WxUser1 = &pointerWxUser, pushStr1 = &pushStr)
-                                        {
-                                            XzyWxApis.WXTransferOperation(pointerWxUser, Newtonsoft.Json.JsonConvert.SerializeObject(msg), (int)pushStr1);
-
-                                            var datas23 = MarshalNativeToManaged((IntPtr)pushStr);
-                                            var str23 = datas23.ToString();
-                                            WxDelegate.show(str23);
-                                            Wx_ReleaseEX(ref pushStr);
-                                        }
-                                    });
-                                }
-                            }
-                            if (sub_type == 10000)
-                            {
-                                if (msg.Content.IndexOf("邀请") != -1)
-                                {
-                                    //更新群成员
-                                    if (wxGroup != null)
-                                    {
-                                        Task.Factory.StartNew(delegate { Wx_SetGroup(msg.FromUser); });
-                                    }
-                                }
-                            }
-                            if (sub_type == 10002)
-                            {
-                                if (msg.Content.IndexOf("撤回") != -1)
-                                {
-                                    //<newmsgid>7189063840892613759</newmsgid>
-
-                                    //撤回消息
-                                    var chid = Utilities.GetMidStr(msg.Content, "<newmsgid>", "</newmsgid>");
-                                    if (chid != "")
-                                    {
-                                        BackWxMsg chmsg = new BackWxMsg();
-                                        chmsg.wxid = this.wxUser.wxid;
-                                        chmsg.groupid = msg.FromUser;
-                                        chmsg.msgid = MsgId;
-                                        chmsg.chmsgid = chid;
-                                        BackWxMsg.Add(chmsg);
-                                    }
-                                }
-                            }
-                            if (sub_type == 1) //文字消息
-                            {
-                                if (content != null)
-                                {
-                                    var des = content.Trim();
-                                    if (des != "")
-                                    {
-                                        Console.WriteLine(des + "--" + sub_type.ToString());
-
-                                        //来源
-                                        var from_user = msg.FromUser;
-
-                                        var arr = msg.Content.Trim().Split(new string[] { ":\n" }, StringSplitOptions.None);
-                                        if (arr.Length >= 2)
-                                        {
-
-                                            BackWxMsg BackWxMsgs = new BackWxMsg();
-
-                                            BackWxMsgs.wxid = arr[0];
-                                            arr[0] = "";
-                                            BackWxMsgs.content = string.Join("", arr);
-                                            BackWxMsgs.groupid = from_user;
-                                            BackWxMsgs.inputtime = msg.Timestamp;
-                                            BackWxMsgs.msgid = MsgId;
-                                            BackWxMsgs.chmsgid = null;
-                                            BackWxMsg.Add(BackWxMsgs);
-                                        }
-                                    }
-                                }
-                            }
-                            else if (sub_type == 49 && content.IndexOf("CDATA[1002]") != -1) //红包
-                            {
-                                var redpackjson = Newtonsoft.Json.JsonConvert.SerializeObject(msg);
-                                var packtouser = msg.ToUser;//发包人
-                                var packforuser = msg.FromUser;//qun
-
-
-
-                                Dictionary<string, packitme> data = null;
-                                Task.Factory.StartNew(delegate { data = RedpackOK(redpackjson, msg.Timestamp); });
-                            }
-                            else if (sub_type == 3 || sub_type == 47) //图片
-                            {
-                                Task.Factory.StartNew(delegate
-                                {
-                                    fixed (int* WxUser1 = &pointerWxUser, pushStr1 = &pushStr)
-                                    {
-                                        XzyWxApis.WXGetMsgImage(pointerWxUser, Newtonsoft.Json.JsonConvert.SerializeObject(msg), (int)pushStr1);
-
-                                        var datas23 = MarshalNativeToManaged((IntPtr)pushStr);
-                                        var str23 = datas23.ToString();
-                                        //取base64转码图片
-
-                                        WxDelegate.show(str23);
-                                        Wx_ReleaseEX(ref pushStr);
-                                    }
-                                });
-                            }
-                            else if (sub_type == 34)//34指语音消息,
-                            {
-                                Task.Factory.StartNew(delegate
-                                {
-                                    fixed (int* WxUser1 = &pointerWxUser, pushStr1 = &pushStr)
-                                    {
-                                        XzyWxApis.WXGetMsgVoice(pointerWxUser, Newtonsoft.Json.JsonConvert.SerializeObject(msg), (int)pushStr1);
-
-                                        var datas23 = MarshalNativeToManaged((IntPtr)pushStr);
-                                        var str23 = datas23.ToString();
-                                        //取base64转码语音
-
-                                        WxDelegate.show(str23);
-                                        Wx_ReleaseEX(ref pushStr);
-                                    }
-                                });
-                            }
-                            else if (sub_type == 43)//视频
-                            {
-                                Task.Factory.StartNew(delegate
-                                {
-                                    fixed (int* WxUser1 = &pointerWxUser, pushStr1 = &pushStr)
-                                    {
-                                        XzyWxApis.WXGetMsgVideo(pointerWxUser, Newtonsoft.Json.JsonConvert.SerializeObject(msg), (int)pushStr1);
-                                        var datas23 = MarshalNativeToManaged((IntPtr)pushStr);
-                                        var str23 = datas23.ToString();
-                                        //取base64转码视频
-
-                                        WxDelegate.show(str23);
-                                        Wx_ReleaseEX(ref pushStr);
-                                    }
-
-                                });
-                            }
-                            else if (sub_type == 37)
-                            {
-                                //37代表:对方主动加我们好友时,微信发过一个回调消息,消息类型是37。
-                                //通过这个变量: var content = msg.Content;
-                                //可以得到stranger的v1参数和v2参数
-                                //然后调用此接口:public static extern void WXAcceptUser(int objects, string stranger, string ticket, int result);
-                                //就会自动同意此好友请求。其中该接口的参数stranger就是v1,ticket就是v2参数
-                            }
-                            else if (sub_type == 51)
-                            {
-                                //51  自己主动查看群信息
-                            }
-                        }
-                    }
-                    this.TcpSendMsg(TcpMsg.content, BackWxMsg);
-                }
-                catch
-                {
-                    Console.WriteLine("异常事件");
-                }
-            }
-        }
-
-        public object wx_objMsg = new object();
-        /// <summary>
-        /// 设置消息。用于判断消息是否被处理过。若未处理过,则返回true,已经处理过的,返回false。
-        /// </summary>
-        /// <param name="msgid"></param>
-        /// <returns></returns>
-        public bool Wx_SetMsgKey(string msgid)
-        {
-            lock (wx_objMsg)
-            {
-                try
-                {
-                    if (dicReadContent.Count > 5000)
-                    {
-                        dicReadContent = new Dictionary<string, string>();
-                    }
-
-                    if (!dicReadContent.ContainsKey(msgid))
-                    {
-                        dicRedPack.Add(msgid, msgid);
-                        return true;
-                    }
-                }
-                catch
-                {
-                    return false;
-                }
-            }
-            return false;
-        }
-
-        #endregion 微信消息
-
-        #region 微信群
-
-        /// <summary>
-        /// 取群成员
-        /// </summary>
-        /// <param name="groupId"></param>
-        /// <returns></returns>
-        public unsafe List<WxMember> Wx_GetGroupMember(string groupId)
-        {
-            fixed (int* WxUser1 = &pointerWxUser, readmember1 = &readMember)
-            {
-                XzyWxApis.WXGetChatRoomMember(pointerWxUser, groupId, (int)readmember1);
-                var datas = MarshalNativeToManaged((IntPtr)readMember);
-                var str = datas.ToString();
-                Wx_ReleaseEX(ref readMember);
-                GroupMember groupmember = null;
-                groupmember = Newtonsoft.Json.JsonConvert.DeserializeObject<GroupMember>(str);
-                List<Member> member = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Member>>(groupmember.Member);
-                List<WxMember> WxMember = new List<WxMember>();
-                if (member != null && member.Count > 0)
-                {
-                    foreach (var m in member)
-                    {
-                        WxMember w = new WxMember();
-                        w.userid = this.wxUser.wxid;
-                        w.groupid = groupId;
-                        w.nickname = m.NickName;
-                        w.wxid = m.UserName;
-                        WxMember.Add(w);
-                    }
-                    return WxMember;
-                }
-                return null;
-            }
-        }
-
-        int wx_intoGroup = 0;
-        /// <summary>
-        /// 进群
-        /// </summary>
-        /// <param name="url"></param>
-        public unsafe void Wx_IntoGroup(string url)
-        {
-            if (url != "")
-            {
-
-                fixed (int* WxUser1 = &pointerWxUser, jinqun1 = &wx_intoGroup)
-                {
-                    XzyWxApis.WXGetRequestToken(pointerWxUser, "", url, (int)jinqun1);
-                    if ((int)jinqun1 == 0) { return; }
-
-                    var json = MarshalNativeToManaged((IntPtr)wx_intoGroup).ToString();
-                    Wx_ReleaseEX(ref wx_intoGroup);
-                    if (json == "") { return; }
-                    EnterGroupJson jinqunjson = Newtonsoft.Json.JsonConvert.DeserializeObject<EnterGroupJson>(json);
-                    var FullUrl = jinqunjson.FullUrl;
-                    var tk = Utilities.GetMidStr(jinqunjson.FullUrl + "||||", "ticket=", "||||");
-                    Http_Helper Http_Helper = new Http_Helper();
-                    var res = "";
-                    var status = Http_Helper.GetResponse_WX(ref res, FullUrl, "POST", "", FullUrl, 30000, "UTF-8", true);
-                    WxDelegate.show("被邀请进入群,开始读通讯录!");
-                    this.Wx_GetContacts();
-                }
-            }
-        }
-
-        public object wx_groupObj = new object();
-        /// <summary>
-        /// 更新群成员
-        /// </summary>
-        /// <param name="groupId"></param>
-        /// <returns></returns>
-        public bool Wx_SetGroup(string groupId)
-        {
-            lock (wx_groupObj)
-            {
-                try
-                {
-                    List<WxGroup> nWxGroup = new List<WxGroup>();
-
-                    for (int i = 0; i < wxGroup.Count; i++)
-                    {
-                        WxGroup n = wxGroup[i];
-                        if (groupId == n.groupid)
-                        {
-                            n.member = this.Wx_GetGroupMember(wxGroup[i].groupid);
-                        }
-                        if (n.member != null)
-                        {
-                            nWxGroup.Add(n);
-                        }
-                    }
-                    wxGroup = nWxGroup;
-                    TcpSendMsg(TcpMsg.Group, wxGroup);
-                }
-                catch
-                {
-                    return false;
-                }
-            }
-            return false;
-        }
-
-        /// <summary>
-        /// 创建群
-        /// </summary>
-        /// <param name="user"></param>
-        /// <returns></returns>
-        public unsafe string Wx_CreateChatRoom(string users)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXCreateChatRoom(pointerWxUser, users, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-                var tokenData = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(result, new { user_name = "" });
-                if (!String.IsNullOrEmpty(tokenData.user_name))
-                {
-                    result = tokenData.user_name.Replace(" ", @"\n\u").Substring(4);
-                }
-                if (result.Contains("@chatroom"))
-                {
-
-                }
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 退群
-        /// </summary>
-        /// <param name="groupid"></param>
-        /// <returns></returns>
-        public unsafe string Wx_QuitChatRoom(string groupid)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXQuitChatRoom(pointerWxUser, groupid, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 修改群名称
-        /// </summary>
-        /// <param name="groupid"></param>
-        /// <param name="content"></param>
-        /// <returns></returns>
-        public unsafe string Wx_SetChatroomName(string groupid, string content)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                try
-                {
-                    msgPtr = EUtils.ESetChatroomName(pointerWxUser, groupid, content);
-                    var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                    result = datas.ToString();
-                    Wx_ReleaseEX(ref msgPtr);
-                }
-                catch (Exception ex){
-
-                }
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 修改群公告
-        /// </summary>
-        /// <param name="groupid"></param>
-        /// <param name="content"></param>
-        /// <returns></returns>
-        public unsafe string Wx_SetChatroomAnnouncement(string groupid, string content)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                try
-                {
-                    //方案一
-                    //XzyWxApis.WXSetChatroomAnnouncement(pointerWxUser, groupid, Encoding.Default.GetString( Encoding.UTF8.GetBytes( content)), (int)msgptr1);
-                    //var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                    //result = datas.ToString();
-                    //Wx_ReleaseEX(ref msgPtr);
-
-                    //方案二
-                    msgPtr = EUtils.ESetChatroomAnnouncement(pointerWxUser, groupid, content);
-                    var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                    result = datas.ToString();
-                    Wx_ReleaseEX(ref msgPtr);
-                }
-                catch (Exception ex) {
-
-                }
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 获取群成员资料
-        /// </summary>
-        /// <param name="groupid"></param>
-        /// <returns></returns>
-        public unsafe string Wx_GetChatRoomMember(string groupid)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXGetChatRoomMember(pointerWxUser, groupid,(int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 添加群成员
-        /// </summary>
-        /// <param name="groupid"></param>
-        /// <param name="user"></param>
-        /// <returns></returns>
-        public unsafe string Wx_AddChatRoomMember(string groupid, string user)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXAddChatRoomMember(pointerWxUser, groupid, user, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        public unsafe string Wx_InviteChatRoomMember(string groupid, string user)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXInviteChatRoomMember(pointerWxUser, groupid, user, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 删除群成员
-        /// </summary>
-        /// <param name="groupid"></param>
-        /// <param name="user"></param>
-        /// <returns></returns>
-        public unsafe string Wx_DeleteChatRoomMember(string groupid, string user)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXDeleteChatRoomMember(pointerWxUser, groupid, user, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-        #endregion 微信群
-
-        #region 朋友圈
-        /// <summary>
-        /// 朋友圈评论
-        /// </summary>
-        /// <param name="snsid"></param>
-        /// <param name="content"></param>
-        /// <returns></returns>
-        public unsafe string Wx_SnsComment(string snsid, string content, int replyid)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                msgPtr = EUtils.ESnsComment(pointerWxUser, this.wxUser.wxid, snsid, content, replyid);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 查看朋友圈 ID第一次传空
-        /// </summary>
-        /// <param name="id"></param>
-        /// <returns></returns>
-        public unsafe string Wx_SnsTimeline(string id)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXSnsTimeline(pointerWxUser, id, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 删除评论、点赞
-        /// </summary>
-        /// <param name="snsid"></param>
-        /// <param name="cid"></param>
-        /// <returns></returns>
-        public unsafe string Wx_SnsObjectOpDeleteComment(string snsid, int cid)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXSnsObjectOp(pointerWxUser, snsid, 4, cid, 3, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 获取朋友圈消息详情
-        /// </summary>
-        /// <param name="snsid"></param>
-        /// <returns></returns>
-        public unsafe string Wx_SnsObjectDetail(string snsid)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXSnsObjectDetail(pointerWxUser, snsid, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                if (datas != null)
-                {
-                    result = datas.ToString();
-                    Wx_ReleaseEX(ref msgPtr);
-                }
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 查看指定用户朋友圈
-        /// </summary>
-        /// <param name="wxid"></param>
-        /// <param name="snsid">获取到的最后一次的id,第一次调用设置为空</param>
-        /// <returns></returns>
-        public unsafe string Wx_SnsUserPage(string wxid,string snsid)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXSnsUserPage(pointerWxUser, wxid, snsid,(int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                if (datas != null)
-                {
-                    result = datas.ToString();
-                    Wx_ReleaseEX(ref msgPtr);
-                }
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 发朋友圈
-        /// </summary>
-        /// <param name="wxid"></param>
-        /// <param name="content"></param>
-        public unsafe string Wx_SendMoment(string content, List<string> imagelist)
-        {
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                if (!imagelist.IsNull())
-                {
-                    string imagestr = "";
-                    foreach (string strImage in imagelist)
-                    {
-                        var reg = new Regex("data:image/(.*);base64,");
-                        string fileBase64 = reg.Replace(strImage, "");
-                        var reg2 = new Regex("data:video/(.*);base64,");
-                        fileBase64 = reg2.Replace(fileBase64, "");
-                        string strUploadResult = Wx_SnsUpload(fileBase64);
-                        SnsUpload upload = JsonConvert.DeserializeObject<SnsUpload>(strUploadResult);
-                        imagestr += String.Format(App.PYQContentImage, upload.big_url, upload.small_url, upload.size, 100, 100);
-                    }
-                    var result = String.Format(App.PYQContent, wxUser.wxid, imagestr);
-                    msgPtr = EUtils.ESendSNSImage(pointerWxUser, result, content);
-                    var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                    result = datas.ToString();
-                    Wx_ReleaseEX(ref msgPtr);
-                    return result;
-                }
-                return "参数错误";
-            }
-        }
-
-        public unsafe string Wx_SendMoment(string content)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                msgPtr = EUtils.ESendSNS(pointerWxUser, content);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-                return result;
-            }
-        }
-
-        /// <summary>
-        /// 朋友圈图片上传
-        /// </summary>
-        /// <param name="base64"></param>
-        /// <returns></returns>
-        public unsafe string Wx_SnsUpload(string base64)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, imptr1 = &wx_imptr)
-            {
-                try
-                {
-                    byte[] data = Convert.FromBase64String(base64);
-                    if (data.Length > 0)
-                    {
-                        XzyWxApis.WXSnsUpload(pointerWxUser, data, data.Length, (int)imptr1);
-                        var datas = MarshalNativeToManaged((IntPtr)wx_imptr);
-                        result = datas.ToString();
-                        Wx_ReleaseEX(ref wx_imptr);
-                    }
-                }
-                catch { }
-            }
-            return result;
-        }
-
-        #endregion 朋友圈
-
-        private int wx_resultContacts;
-        /// <summary>
-        /// 获取通讯录
-        /// </summary>
-        public unsafe void Wx_GetContacts()
-        {
-            if (wxGroup != null && wxGroup.Count > 0)
-            {
-                TcpSendMsg(TcpMsg.Group, wxGroup);
-                return;
-            }
-            wxGroup = new List<WxGroup>();
-            Dictionary<string, string> dicg = new Dictionary<string, string>();
-            fixed (int* WxUser1 = &pointerWxUser, resulttxl1 = &wx_resultContacts)
-            {
-                while (true)
-                {
-                    Thread.Sleep(200);
-                    XzyWxApis.WXSyncContact(pointerWxUser, (int)(resulttxl1));
-                    if (wx_resultContacts == 0)
-                    {
-                        continue;
-                    }
-                    var datas = MarshalNativeToManaged((IntPtr)wx_resultContacts);
-                    Wx_ReleaseEX(ref wx_resultContacts);
-                    if (datas == null) { continue; }
-                    var str = datas.ToString();
-                    List<Contact> Contact = null;
-                    Contact = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Contact>>(str);
-                    result = 0;
-                    var con = 0;
-                    //循环所有通讯录对象,此通讯录包括好友、群、公众号等
-                    foreach (var c in Contact)
-                    {
-                        con = c.Continue;
-                        if (con == 0) { break; }
-                        if (c.UserName.IsNull()) {
-                            continue;
-                        }
-                        if (c.UserName.IndexOf("@chatroom") == -1 && c.UserName.IndexOf("gh_") == -1)
-                        {
-                            WxDelegate.getContact(c);
-                        }
-                        else if (c.UserName.IndexOf("@chatroom") != -1)
-                        {
-                            WxDelegate.getGroup(c);
-                        }
-                        else if (c.UserName.IndexOf("gh_") != -1) {
-                            WxDelegate.getGZH(c);
-                        }    
-                    }
-                    if (con == 0) {
-
-                        break;
-                    }
-                }
-                XzyWxApis.WXSyncReset(pointerWxUser);
-            }
-        }
-
-        /// <summary>
-        /// 接受好友请求
-        /// </summary>
-        /// <param name="stranger"></param>
-        /// <param name="ticket"></param>
-        /// <returns></returns>
-        public unsafe string Wx_AcceptUser(string stranger, string ticket)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXAcceptUser(pointerWxUser, stranger, ticket, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 二维码登录
-        /// </summary>
-        /// <param name="username"></param>
-        /// <param name="password"></param>
-        /// <returns></returns>
-        public unsafe string Wx_QRCodeLogin(string username,string password) {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXQRCodeLogin(pointerWxUser, username, password, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 获取好友详情
-        /// </summary>
-        /// <param name="wxid"></param>
-        /// <returns></returns>
-        public unsafe string Wx_GetContact(string wxid)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXGetContact(pointerWxUser, wxid, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 设置用户备注
-        /// </summary>
-        /// <param name="wxid"></param>
-        /// <param name="context"></param>
-        /// <returns></returns>
-        public unsafe string Wx_SetUserRemark(string wxid,string context)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                msgPtr = EUtils.ESetUserRemark(pointerWxUser, wxid, context);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 删除好友
-        /// </summary>
-        /// <param name="wxid"></param>
-        /// <returns></returns>
-        public unsafe string Wx_DeleteUser(string wxid)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXDeleteUser(pointerWxUser,wxid, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 获取登录token
-        /// </summary>
-        /// <returns></returns>
-        public unsafe string Wx_GetLoginToken()
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXGetLoginToken(pointerWxUser, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 设置微信id
-        /// </summary>
-        /// <param name="wxid"></param>
-        /// <returns></returns>
-        public unsafe string Wx_SetWeChatID(string wxid)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXSetWeChatID(pointerWxUser, wxid,(int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 获取本地二维码信息
-        /// </summary>
-        /// <param name="path"></param>
-        /// <returns></returns>
-        public unsafe string Wx_QRCodeDecode(string path)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXQRCodeDecode(pointerWxUser, path, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 获取其他设备登陆请求
-        /// </summary>
-        /// <param name="url"></param>
-        /// <returns></returns>
-        public unsafe string Wx_ExtDeviceLoginGet(string url)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXExtDeviceLoginGet(pointerWxUser, url, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 确认其他设备登陆请求
-        /// </summary>
-        /// <param name="url"></param>
-        /// <returns></returns>
-        public unsafe string Wx_ExtDeviceLoginOK(string url)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXExtDeviceLoginOK(pointerWxUser, url, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 设置用户资料
-        /// </summary>
-        /// <param name="nick_name"></param>
-        /// <param name="unsigned"></param>
-        /// <param name="sex"></param>
-        /// <param name="country"></param>
-        /// <param name="provincia"></param>
-        /// <param name="city"></param>
-        /// <returns></returns>
-        public unsafe string Wx_SetUserInfo(string nick_name, string unsigned, int sex, string country, string provincia, string city)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXSetUserInfo(pointerWxUser, nick_name, unsigned,sex,country,provincia,city,(int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 搜索用户信息
-        /// </summary>
-        /// <param name="user"></param>
-        /// <returns></returns>
-        public unsafe string Wx_SearchContact(string user)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXSearchContact(pointerWxUser, user,(int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 获取62数据
-        /// </summary>
-        /// <returns></returns>
-        public unsafe string Wx_GenerateWxDat()
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXGenerateWxDat(pointerWxUser, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 断线重连
-        /// </summary>
-        /// <returns></returns>
-        public unsafe string Wx_AutoLogin(string token)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXAutoLogin(pointerWxUser, token,(int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-
-        public unsafe string Wx_GetPeopleNearby(float lat,float lng)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXGetPeopleNearby(pointerWxUser, lat,lng,(int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        public unsafe string Wx_AddUser(string  v1, string v2,int type,string context)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXAddUser(pointerWxUser, v1, v2, type,context, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 公众号搜索
-        /// </summary>
-        /// <param name="search"></param>
-        /// <returns></returns>
-        public unsafe string Wx_WebSearch(string search)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXWebSearch(pointerWxUser, search, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 获取公众号菜单
-        /// </summary>
-        /// <param name="gzhid"></param>
-        /// <returns></returns>
-        public unsafe string GetSubscriptionInfo(string gzhid)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXGetSubscriptionInfo(pointerWxUser, gzhid, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 执行公众号菜单
-        /// </summary>
-        /// <param name="wxid">公众号用户名gh* 开头的</param>
-        /// <param name="uin">通过WXGetSubscriptionInfo获取</param>
-        /// <param name="key">通过WXGetSubscriptionInfo获取</param>
-        /// <returns></returns>
-        public unsafe string Wx_SubscriptionCommand(string wxid,uint uin,string key)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXSubscriptionCommand(pointerWxUser, wxid,uin,key ,(int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 阅读链接
-        /// </summary>
-        /// <param name="url"></param>
-        /// <param name="uin"></param>
-        /// <param name="key"></param>
-        /// <returns></returns>
-        public unsafe string Wx_RequestUrl(string url, string uin, string key)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXRequestUrl(pointerWxUser, url, key, uin, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 后期所有标签
-        /// </summary>
-        /// <returns></returns>
-        public unsafe string Wx_GetContactLabelList()
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXGetContactLabelList(pointerWxUser, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 设置用户标签
-        /// </summary>
-        /// <param name="wxid"></param>
-        /// <param name="labelid"></param>
-        /// <returns></returns>
-        public unsafe string Wx_SetContactLabel(string wxid,string labelid)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXSetContactLabel(pointerWxUser, wxid,labelid,(int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 创建标签
-        /// </summary>
-        /// <param name="context"></param>
-        /// <returns></returns>
-        public unsafe string Wx_AddContactLabel(string context)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                msgPtr = EUtils.EAddContactLabel(pointerWxUser, context);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 创建标签
-        /// </summary>
-        /// <param name="context"></param>
-        /// <returns></returns>
-        public unsafe string Wx_DeleteContactLabel(string labelid)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXDeleteContactLabel(pointerWxUser, labelid, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 同步收藏
-        /// </summary>
-        /// <param name="key"></param>
-        /// <returns></returns>
-        public unsafe string Wx_FavSync(string key)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXFavSync(pointerWxUser, key, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 添加收藏
-        /// </summary>
-        /// <param name="fav_object"></param>
-        /// <returns></returns>
-        public unsafe string Wx_FavAddItem(string fav_object)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXFavAddItem(pointerWxUser, fav_object, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 查看收藏
-        /// </summary>
-        /// <param name="favid"></param>
-        /// <returns></returns>
-        public unsafe string Wx_FavGetItem(string favid)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXFavGetItem(pointerWxUser, favid.ConvertToInt32(), (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 发送链接消息
-        /// </summary>
-        /// <param name="wxid"></param>
-        /// <param name="context"></param>
-        /// <returns></returns>
-        public unsafe string Wx_SendAppMsg(string wxid,string context)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXSendAppMsg(pointerWxUser, wxid,Encoding.Default.GetString( Encoding.UTF8.GetBytes(context)),(int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// token登录
-        /// </summary>
-        /// <param name="token"></param>
-        /// <returns></returns>
-        public unsafe string Wx_LoginRequest(string token, string str62)
-        {
-            var result = "";
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                byte[] data62Bytes = Convert.FromBase64String(str62);
-                XzyWxApis.WXLoadWxDat(pointerWxUser, data62Bytes, data62Bytes.Length, (int)msgptr1);
-                var data1 = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = data1.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-
-            }
-            fixed (int* WxUser1 = &pointerWxUser, msgptr1 = &msgPtr)
-            {
-                XzyWxApis.WXLoginRequest(pointerWxUser, token, (int)msgptr1);
-                var datas = MarshalNativeToManaged((IntPtr)msgPtr);
-                result = datas.ToString();
-                Wx_ReleaseEX(ref msgPtr);
-            }
-            return result;
-        }
-
-        //读红包key
-        public unsafe Dictionary<string, packitme> RedpackOK(string json, int Timestamp)
-        {
-            fixed (int* WxUser1 = &pointerWxUser, redpack1 = &redPack)
-            {
-
-                XzyWxApis.WXReceiveRedPacket(pointerWxUser, json, (int)redpack1);
-                if ((int)redpack1 == 0) { return null; }
-                var fromwxid = "";
-                var key = MarshalNativeToManaged((IntPtr)redPack).ToString();
-                if (key == null)
-                {
-                    return null;
-                }
-
-                Wx_ReleaseEX(ref redPack);
-
-                WXReceiveRedPacketJson wxReceiveRedPacketjson = Newtonsoft.Json.JsonConvert.DeserializeObject<WXReceiveRedPacketJson>(key);
-
-                key = wxReceiveRedPacketjson.Key;
-                RedPacketJson redPacketjson = Newtonsoft.Json.JsonConvert.DeserializeObject<RedPacketJson>(wxReceiveRedPacketjson.External);
-                fromwxid = redPacketjson.SendUserName;
-
-                WxDelegate.show(key);
-
-                if (!this.SET_redpack_Key(key, json))
-                {
-                    return null;
-                }
-                else
-                {
-                    /*接收到新红包*/
-                    this.CallBackRedPack(false, -2, "收到新红包", key, fromwxid, Timestamp);
-
-                    //将收到新红包的时间等日志信息,记录到数据库中。
-                    //db.apck_insert(new redpack() { inputtime = DateTime.Now, pack_key = key, pack_json = json, groupid = fromwxid });
-                    WxDelegate.show("收到新红包");
-                }
-
-                #region 领取红包
-                XzyWxApis.WXOpenRedPacket(pointerWxUser, json, key, (int)redpack1);
-                if ((int)redpack1 == 0) { return null; }
-                var datas22 = MarshalNativeToManaged((IntPtr)redPack);
-                var str22 = datas22.ToString();
-                WxDelegate.show(str22);
-                Wx_ReleaseEX(ref redPack);
-                #endregion
-
-                #region 循环接收红包事件,先隐藏掉
-                double time = Utilities.GetTimestamp;
-                //while (true)
-                //{
-                //    Thread.Sleep(500);
-
-                //读取红包,要在领了红包后再调用此方法查看
-                XzyWxApis.WXQueryRedPacket(pointerWxUser, json, 0, (int)redpack1);
-                if ((int)redpack1 == 0) { return null; }
-                var datas = MarshalNativeToManaged((IntPtr)redPack);
-                var str = datas.ToString();
-                Wx_ReleaseEX(ref redPack);
-
-                ReadPackJson redpackjson = Newtonsoft.Json.JsonConvert.DeserializeObject<ReadPackJson>(str);
-                Dictionary<string, packitme> ipackitme = new Dictionary<string, packitme>();
-                if (redpackjson.External != "")
-                {
-                    ReadPackItem redpackitem = Newtonsoft.Json.JsonConvert.DeserializeObject<ReadPackItem>(redpackjson.External);
-                    if (redpackitem.HeadTitle != null)
-                    {
-                        var nowcount = redpackitem.RecNum;
-                        var count = redpackitem.TotalNum;
-
-                        WxDelegate.show(string.Format("当前{0}-{1}", nowcount, count));
-
-                        if (nowcount == count || redpackitem.HeadTitle.IndexOf("被抢光") != -1)
-                        {
-                            this.CallBackRedPack(false, -1, "红包被抢光,读包中", key, fromwxid, Timestamp);
-                            WxDelegate.show("红包被抢光,读包中");
-                        #region  抢光之后开始翻页
-                        Bk2:;
-                            var countpage = Convert.ToInt32(Convert.ToDouble(count) / 11.00);
-                            if (count % 11 > 0)
-                            {
-                                countpage = countpage + 1;
-                            }
-                            ipackitme = new Dictionary<string, packitme>();
-
-                            var index = 0;
-                            List<packitme> ilist = new List<packitme>();
-
-                            for (int i = 0; i < countpage + countpage; i++)
-                            {
-
-                                XzyWxApis.WXQueryRedPacket(pointerWxUser, json, i, (int)redpack1);
-                                if ((int)redpack1 == 0) { return null; }
-                                var datas1 = MarshalNativeToManaged((IntPtr)redPack);
-                                var str1 = datas1.ToString();
-                                Wx_ReleaseEX(ref redPack);
-
-                                var redpackjson1 = Newtonsoft.Json.JsonConvert.DeserializeObject<ReadPackJson>(str1);
-                                var redpackitem1 = Newtonsoft.Json.JsonConvert.DeserializeObject<ReadPackItem>(redpackjson1.External);
-                                this.CallBackRedPack(false, i + 1, string.Format("读红包第{0}页", i + 1), key, fromwxid, Timestamp);
-                                foreach (var rec in redpackitem1.Record)
-                                {
-                                    packitme packitme = Newtonsoft.Json.JsonConvert.DeserializeObject<packitme>(rec.ToString());
-
-                                    if (!ipackitme.ContainsKey(packitme.UserName))
-                                    {
-                                        packitme.xh = index;
-
-                                        ipackitme.Add(packitme.UserName, packitme);
-                                        index++;
-                                        ilist.Add(packitme);
-                                    }
-                                }
-
-                            }
-
-
-                            if (index == count)
-                            {
-                                this.CallBackRedPack(false, 0, "读包完毕", key, fromwxid, Timestamp, ipackitme);
-                                return ipackitme;
-
-                            }
-                            else
-                            {
-                                goto Bk2;
-                            }
-                            #endregion
-                        }
-                        else
-                        {
-                            if (Utilities.GetTimestamp - time > 60 * 1000)
-                            {
-                                this.CallBackRedPack(false, -3, "红包超时", key, fromwxid, Timestamp, ipackitme);
-                                return null;
-                            }
-                        }
-                    }
-                }
-
-                //}
-                #endregion
-
-                return null;
-            }
-        }
-
-        public Dictionary<string, string> dic_redpack { get; set; }
-        public object obj = new object();
-
-        public bool SET_redpack_Key(string key, string json)
-        {
-            lock (obj)
-            {
-                try
-                {
-                    if (dic_redpack == null)
-                    {
-                        dic_redpack = new Dictionary<string, string>();
-                    }
-
-                    if (!dic_redpack.ContainsKey(key))
-                    {
-                        dic_redpack.Add(key, json);
-                        return true;
-                    }
-                }
-                catch
-                {
-
-                    return false;
-                }
-            }
-            return false;
-        }
-
-
-        /// <summary>
-        /// 收到新红包时的回调处理
-        /// </summary>
-        /// <param name="ok"></param>
-        /// <param name="page"></param>
-        /// <param name="msg"></param>
-        /// <param name="key"></param>
-        /// <param name="fromuser"></param>
-        /// <param name="Timestamp"></param>
-        /// <param name="dic"></param>
-        public void CallBackRedPack(bool ok, int page, string msg, string key, string fromuser, int Timestamp, Dictionary<string, packitme> dic = null)
-        {
-            PackMsg packmsg = new PackMsg();
-            packmsg.msg = msg;
-            packmsg.key = key;
-            packmsg.fromuser = fromuser;
-            packmsg.Timestamp = Timestamp;
-            if (ok)
-            {
-                packmsg.ok = true;
-                packmsg.packitme = dic;
-            }
-            else
-            {
-                packmsg.ok = false;
-                packmsg.page = page;
-
-            }
-
-            this.TcpSendMsg(TcpMsg.redpack, packmsg);
-        }
-
-        /// <summary>
-        /// 释放内存
-        /// </summary>
-        /// <param name="hande"></param>
-        public void Wx_ReleaseEX(ref int hande)
-        {
-            XzyWxApis.WXRelease(hande);
-            hande = 0;
-        }
-
-        #endregion
-
-    }
-}

+ 0 - 75
IPADDemo/app.manifest

@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
-  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
-  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
-    <security>
-      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
-        <!-- UAC 清单选项
-             如果想要更改 Windows 用户帐户控制级别,请使用
-             以下节点之一替换 requestedExecutionLevel 节点。n
-        <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
-        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
-        <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />
-
-            指定 requestedExecutionLevel 元素将禁用文件和注册表虚拟化。
-            如果你的应用程序需要此虚拟化来实现向后兼容性,则删除此
-            元素。
-        -->
-        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
-      </requestedPrivileges>
-    </security>
-  </trustInfo>
-
-  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
-    <application>
-      <!-- 设计此应用程序与其一起工作且已针对此应用程序进行测试的
-           Windows 版本的列表。取消评论适当的元素,Windows 将
-           自动选择最兼容的环境。 -->
-
-      <!-- Windows Vista -->
-      <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
-
-      <!-- Windows 7 -->
-      <!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
-
-      <!-- Windows 8 -->
-      <!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
-
-      <!-- Windows 8.1 -->
-      <!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
-
-      <!-- Windows 10 -->
-      <!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
-
-    </application>
-  </compatibility>
-
-  <!-- 指示该应用程序可以感知 DPI 且 Windows 在 DPI 较高时将不会对其进行
-       自动缩放。Windows Presentation Foundation (WPF)应用程序自动感知 DPI,无需
-       选择加入。选择加入此设置的 Windows 窗体应用程序(目标设定为 .NET Framework 4.6 )还应
-       在其 app.config 中将 "EnableWindowsFormsHighDpiAutoResizing" 设置设置为 "true"。-->
-  
-  <application xmlns="urn:schemas-microsoft-com:asm.v3">
-    <windowsSettings>
-      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
-    </windowsSettings>
-  </application>
-  
-
-  <!-- 启用 Windows 公共控件和对话框的主题(Windows XP 和更高版本) -->
-  <!--
-  <dependency>
-    <dependentAssembly>
-      <assemblyIdentity
-          type="win32"
-          name="Microsoft.Windows.Common-Controls"
-          version="6.0.0.0"
-          processorArchitecture="*"
-          publicKeyToken="6595b64144ccf1df"
-          language="*"
-        />
-    </dependentAssembly>
-  </dependency>
-  -->
-
-</assembly>

+ 0 - 1
IPADDemo/bin/Debug/使用文档.txt

@@ -1 +0,0 @@
-淃커多흙Xzy.IPAD.Core.dll 깻할쉥wxipadapi6.7.dll 렴零Bin커쩌苟

BIN
IPADDemo/bitbug_favicon.ico


BIN
IPADDemo/ffmpeg/ffmpeg.exe


BIN
IPADDemo/ffmpeg/silk_v3_decoder.exe


BIN
IPADDemo/ffmpeg/silk_v3_encoder.exe


BIN
IPADDemo/obj/Debug/CustomIPAD.Properties.Resources.resources


+ 0 - 0
IPADDemo/obj/Debug/CustomIPAD.csproj.CopyComplete


+ 0 - 1
IPADDemo/obj/Debug/CustomIPAD.csproj.CoreCompileInputs.cache

@@ -1 +0,0 @@
-57910fe6995099d7b55c85be527a985c0f068ae0

+ 0 - 93
IPADDemo/obj/Debug/CustomIPAD.csproj.FileListAbsolute.txt

@@ -1,93 +0,0 @@
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\CustomIPAD.exe.config
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\CustomIPAD.exe
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\CustomIPAD.pdb
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\NetDimension.NanUI.dll
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\Newtonsoft.Json.dll
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\SuperSocket.ClientEngine.dll
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\SuperSocket.ProtoBase.dll
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Collections.Specialized.dll
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Net.NameResolution.dll
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Net.Security.dll
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Net.Sockets.dll
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Security.Cryptography.Algorithms.dll
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Security.Cryptography.Encoding.dll
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Security.Cryptography.Primitives.dll
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Security.Cryptography.X509Certificates.dll
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.ValueTuple.dll
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\Xzy.IPAD.Core.dll
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\Xzy.IPAD.Core.pdb
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\Newtonsoft.Json.xml
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\SuperSocket.ProtoBase.xml
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.ValueTuple.xml
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.csprojAssemblyReference.cache
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.Form1.resources
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.Properties.Resources.resources
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.csproj.GenerateResource.cache
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.csproj.CoreCompileInputs.cache
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.csproj.CopyComplete
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.exe
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.pdb
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\log4net.dll
-E:\项目\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\log4net.xml
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\CustomIPAD.exe.config
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\CustomIPAD.exe
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\CustomIPAD.pdb
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\log4net.dll
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\NetDimension.NanUI.dll
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\Newtonsoft.Json.dll
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\SuperSocket.ClientEngine.dll
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\SuperSocket.ProtoBase.dll
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Collections.Specialized.dll
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Net.NameResolution.dll
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Net.Security.dll
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Net.Sockets.dll
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Security.Cryptography.Algorithms.dll
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Security.Cryptography.Encoding.dll
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Security.Cryptography.Primitives.dll
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Security.Cryptography.X509Certificates.dll
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.ValueTuple.dll
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\Xzy.IPAD.Core.dll
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\Xzy.IPAD.Core.pdb
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\log4net.xml
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\Newtonsoft.Json.xml
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\SuperSocket.ProtoBase.xml
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.ValueTuple.xml
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.csprojResolveAssemblyReference.cache
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.Form1.resources
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.Properties.Resources.resources
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.csproj.GenerateResource.cache
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.csproj.CoreCompileInputs.cache
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.csproj.CopyComplete
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.exe
-D:\SS_CUSTOM\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.pdb
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\CustomIPAD.exe.config
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\CustomIPAD.exe
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\CustomIPAD.pdb
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\log4net.dll
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\NetDimension.NanUI.dll
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\Newtonsoft.Json.dll
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\SuperSocket.ClientEngine.dll
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\SuperSocket.ProtoBase.dll
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Collections.Specialized.dll
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Net.NameResolution.dll
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Net.Security.dll
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Net.Sockets.dll
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Security.Cryptography.Algorithms.dll
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Security.Cryptography.Encoding.dll
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Security.Cryptography.Primitives.dll
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.Security.Cryptography.X509Certificates.dll
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.ValueTuple.dll
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\Xzy.IPAD.Core.dll
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\Xzy.IPAD.Core.pdb
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\log4net.xml
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\Newtonsoft.Json.xml
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\SuperSocket.ProtoBase.xml
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\bin\Debug\System.ValueTuple.xml
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.csprojAssemblyReference.cache
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.Form1.resources
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.Properties.Resources.resources
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.csproj.GenerateResource.cache
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.csproj.CoreCompileInputs.cache
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.csproj.CopyComplete
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.exe
-C:\xm\ssrj\SS_Custom\CustomIPAD\CustomIPAD\CustomIPAD\obj\Debug\CustomIPAD.pdb

BIN
IPADDemo/obj/Debug/CustomIPAD.csproj.GenerateResource.cache


BIN
IPADDemo/obj/Debug/CustomIPAD.csprojAssemblyReference.cache


BIN
IPADDemo/obj/Debug/CustomIPAD.csprojResolveAssemblyReference.cache


BIN
IPADDemo/obj/Debug/CustomIPAD.exe


BIN
IPADDemo/obj/Debug/CustomIPAD.pdb


BIN
IPADDemo/obj/Debug/DesignTimeResolveAssemblyReferences.cache


BIN
IPADDemo/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache


BIN
IPADDemo/obj/Debug/IPADDemo.FormDemo.resources


BIN
IPADDemo/obj/Debug/IPADDemo.Properties.Resources.resources


+ 0 - 0
IPADDemo/obj/Debug/IPADDemo.csproj.CopyComplete


+ 0 - 1
IPADDemo/obj/Debug/IPADDemo.csproj.CoreCompileInputs.cache

@@ -1 +0,0 @@
-af297cc092a33f735b9a837ee026a88ff73f589c

+ 0 - 181
IPADDemo/obj/Debug/IPADDemo.csproj.FileListAbsolute.txt

@@ -1,181 +0,0 @@
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\obj\Debug\IPADDemo.csprojAssemblyReference.cache
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\obj\Debug\IPADDemo.Properties.Resources.resources
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\obj\Debug\IPADDemo.csproj.GenerateResource.cache
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\obj\Debug\IPADDemo.csproj.CoreCompileInputs.cache
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\IPADDemo.exe.config
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\IPADDemo.exe
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\IPADDemo.pdb
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\log4net.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\Newtonsoft.Json.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\SuperSocket.ClientEngine.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\SuperSocket.ProtoBase.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\System.Collections.Specialized.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\System.Net.NameResolution.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\System.Net.Security.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\System.Net.Sockets.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\System.Security.Cryptography.Algorithms.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\System.Security.Cryptography.Encoding.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\System.Security.Cryptography.Primitives.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\System.Security.Cryptography.X509Certificates.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\System.ValueTuple.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\Xzy.IPAD.Core.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\Xzy.IPAD.Core.pdb
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\log4net.xml
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\Newtonsoft.Json.xml
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\SuperSocket.ProtoBase.xml
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\bin\Debug\System.ValueTuple.xml
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\obj\Debug\IPADDemo.csproj.CopyComplete
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\obj\Debug\IPADDemo.exe
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\obj\Debug\IPADDemo.pdb
-C:\xm\ssrj\SS_IPAD\XzyIpad\wxipadapi672\CustomIPAD\obj\Debug\IPADDemo.FormDemo.resources
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\IPADDemo.exe.config
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\IPADDemo.exe
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\IPADDemo.pdb
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\log4net.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\Newtonsoft.Json.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\SuperSocket.ClientEngine.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\SuperSocket.ProtoBase.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\System.Collections.Specialized.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\System.Net.NameResolution.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\System.Net.Security.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\System.Net.Sockets.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\System.Security.Cryptography.Algorithms.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\System.Security.Cryptography.Encoding.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\System.Security.Cryptography.Primitives.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\System.Security.Cryptography.X509Certificates.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\System.ValueTuple.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\Xzy.IPAD.Core.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\log4net.xml
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\Newtonsoft.Json.xml
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\SuperSocket.ProtoBase.xml
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\bin\Debug\System.ValueTuple.xml
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\obj\Debug\IPADDemo.csprojAssemblyReference.cache
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\obj\Debug\IPADDemo.FormDemo.resources
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\obj\Debug\IPADDemo.Properties.Resources.resources
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\obj\Debug\IPADDemo.csproj.GenerateResource.cache
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\obj\Debug\IPADDemo.csproj.CoreCompileInputs.cache
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\obj\Debug\IPADDemo.csproj.CopyComplete
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\obj\Debug\IPADDemo.exe
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\CustomIPAD\obj\Debug\IPADDemo.pdb
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\IPADDemo.exe.config
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\IPADDemo.exe
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\IPADDemo.pdb
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\log4net.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\Newtonsoft.Json.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\SuperSocket.ClientEngine.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\SuperSocket.ProtoBase.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\System.Collections.Specialized.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\System.Net.NameResolution.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\System.Net.Security.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\System.Net.Sockets.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\System.Security.Cryptography.Algorithms.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\System.Security.Cryptography.Encoding.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\System.Security.Cryptography.Primitives.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\System.Security.Cryptography.X509Certificates.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\System.ValueTuple.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\Xzy.IPAD.Core.dll
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\log4net.xml
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\Newtonsoft.Json.xml
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\SuperSocket.ProtoBase.xml
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\bin\Debug\System.ValueTuple.xml
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\obj\Debug\IPADDemo.csprojAssemblyReference.cache
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\obj\Debug\IPADDemo.FormDemo.resources
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\obj\Debug\IPADDemo.Properties.Resources.resources
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\obj\Debug\IPADDemo.csproj.GenerateResource.cache
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\obj\Debug\IPADDemo.csproj.CoreCompileInputs.cache
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\obj\Debug\IPADDemo.csproj.CopyComplete
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\obj\Debug\IPADDemo.exe
-C:\xm\ssrj\SS_IPAD\XzyIpad\demo\IPADDemo\obj\Debug\IPADDemo.pdb
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\IPADDemo.exe.config
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\IPADDemo.exe
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\IPADDemo.pdb
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\log4net.dll
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\Newtonsoft.Json.dll
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\SuperSocket.ClientEngine.dll
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\SuperSocket.ProtoBase.dll
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.Collections.Specialized.dll
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.Net.NameResolution.dll
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.Net.Security.dll
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.Net.Sockets.dll
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.Security.Cryptography.Algorithms.dll
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.Security.Cryptography.Encoding.dll
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.Security.Cryptography.Primitives.dll
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.Security.Cryptography.X509Certificates.dll
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.ValueTuple.dll
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\Xzy.IPAD.Core.dll
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\Xzy.WebWx.Core.dll
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\log4net.xml
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\Newtonsoft.Json.xml
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\SuperSocket.ProtoBase.xml
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.ValueTuple.xml
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.csprojAssemblyReference.cache
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.FormDemo.resources
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.Properties.Resources.resources
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.csproj.GenerateResource.cache
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.csproj.CoreCompileInputs.cache
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.csproj.CopyComplete
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.exe
-C:\xm\git\Xzy.Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.pdb
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\IPADDemo.exe.config
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\IPADDemo.exe
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\IPADDemo.pdb
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\log4net.dll
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\Newtonsoft.Json.dll
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\SuperSocket.ClientEngine.dll
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\SuperSocket.ProtoBase.dll
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.Collections.Specialized.dll
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.Net.NameResolution.dll
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.Net.Security.dll
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.Net.Sockets.dll
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.Security.Cryptography.Algorithms.dll
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.Security.Cryptography.Encoding.dll
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.Security.Cryptography.Primitives.dll
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.Security.Cryptography.X509Certificates.dll
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.ValueTuple.dll
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\Xzy.IPAD.Core.dll
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\log4net.xml
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\Newtonsoft.Json.xml
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\SuperSocket.ProtoBase.xml
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\System.ValueTuple.xml
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.FormDemo.resources
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.Properties.Resources.resources
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.csproj.GenerateResource.cache
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.csproj.CoreCompileInputs.cache
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.csproj.CopyComplete
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.exe
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.pdb
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\Xzy.WebWx.Model.dll
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\FSLib.Network.dll
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\bin\Debug\FSLib.Extension.dll
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.exe.config
-C:\xm\git\Xzy.Mac.WeChat\Xzy.Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.csprojAssemblyReference.cache
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\IPADDemo.exe.config
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\IPADDemo.exe
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\IPADDemo.pdb
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\log4net.dll
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\Newtonsoft.Json.dll
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\SuperSocket.ClientEngine.dll
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\SuperSocket.ProtoBase.dll
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\System.Collections.Specialized.dll
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\System.Net.NameResolution.dll
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\System.Net.Security.dll
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\System.Net.Sockets.dll
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\System.Security.Cryptography.Algorithms.dll
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\System.Security.Cryptography.Encoding.dll
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\System.Security.Cryptography.Primitives.dll
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\System.Security.Cryptography.X509Certificates.dll
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\System.ValueTuple.dll
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\Xzy.IPAD.Core.dll
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\log4net.xml
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\Newtonsoft.Json.xml
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\SuperSocket.ProtoBase.xml
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\System.ValueTuple.xml
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.FormDemo.resources
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.Properties.Resources.resources
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.csproj.GenerateResource.cache
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.csproj.CoreCompileInputs.cache
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.csproj.CopyComplete
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.exe
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.pdb
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\bin\Debug\Xzy.IPAD.Core.pdb
-C:\xm\git\Xzy.Mac.WeChat\Mac.WeChat\IPADDemo\obj\Debug\IPADDemo.csprojAssemblyReference.cache

BIN
IPADDemo/obj/Debug/IPADDemo.csproj.GenerateResource.cache


BIN
IPADDemo/obj/Debug/IPADDemo.csprojAssemblyReference.cache


BIN
IPADDemo/obj/Debug/IPADDemo.exe


BIN
IPADDemo/obj/Debug/IPADDemo.pdb


BIN
IPADDemo/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll


+ 0 - 0
IPADDemo/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs


+ 0 - 0
IPADDemo/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs


+ 0 - 0
IPADDemo/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs


+ 0 - 1
IPADDemo/obj/Release/CustomIPAD.csproj.CoreCompileInputs.cache

@@ -1 +0,0 @@
-a52b1a3e83927cbe66e8744474fd79261b7b0e91

BIN
IPADDemo/obj/Release/CustomIPAD.csprojAssemblyReference.cache


+ 0 - 0
IPADDemo/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs


+ 0 - 0
IPADDemo/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs


+ 0 - 0
IPADDemo/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs


+ 0 - 22
IPADDemo/packages.config

@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
-  <package id="log4net" version="2.0.3" targetFramework="net461" />
-  <package id="Newtonsoft.Json" version="11.0.2" targetFramework="net461" />
-  <package id="SuperSocket.ClientEngine" version="0.10.0" targetFramework="net461" />
-  <package id="SuperSocket.ProtoBase" version="1.7.0.17" targetFramework="net461" />
-  <package id="System.Collections.Specialized" version="4.3.0" targetFramework="net461" />
-  <package id="System.IO" version="4.3.0" targetFramework="net461" />
-  <package id="System.Linq" version="4.3.0" targetFramework="net461" />
-  <package id="System.Net.NameResolution" version="4.3.0" targetFramework="net461" />
-  <package id="System.Net.Security" version="4.3.0" targetFramework="net461" />
-  <package id="System.Net.Sockets" version="4.3.0" targetFramework="net461" />
-  <package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net461" />
-  <package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net461" />
-  <package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net461" />
-  <package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net461" />
-  <package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net461" />
-  <package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net461" />
-  <package id="System.Text.Encoding" version="4.3.0" targetFramework="net461" />
-  <package id="System.Threading" version="4.3.0" targetFramework="net461" />
-  <package id="System.ValueTuple" version="4.5.0" targetFramework="net461" />
-</packages>

+ 0 - 29
Ipad.sln

@@ -1,29 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.28010.2019
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IPADDemo", "IPADDemo\IPADDemo.csproj", "{C9D8413D-03E4-4A01-901E-92C7DF42CC2A}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Any CPU = Debug|Any CPU
-		Release|Any CPU = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{C9D8413D-03E4-4A01-901E-92C7DF42CC2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{C9D8413D-03E4-4A01-901E-92C7DF42CC2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{C9D8413D-03E4-4A01-901E-92C7DF42CC2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{C9D8413D-03E4-4A01-901E-92C7DF42CC2A}.Release|Any CPU.Build.0 = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-		SolutionGuid = {189B8E5D-CBC4-418B-9513-18FA622B11A7}
-	EndGlobalSection
-	GlobalSection(SubversionScc) = preSolution
-		Svn-Managed = True
-		Manager = AnkhSVN - Subversion Support for Visual Studio
-	EndGlobalSection
-EndGlobal

+ 4 - 2
README.md

@@ -1,6 +1,6 @@
 # 微信mac协议。
  请进入  http://www.keduoduo.online/ 进行注册授权<br/>
- 注册后将授权配置到app.config即可使用<br/>
+ 注册后将授权配置到IPADDemo.exe.config即可使用<br/>
  支持功能如下:<br/>
 
 <a target="_blank" href="//shang.qq.com/wpa/qunwpa?idkey=3194af004cbc013eff0a61b99a46ae6f66c2c1f1fc62a9cdf58de1fd2b471058">加入qq群</a>
@@ -8,4 +8,6 @@
 
 <a href="https://github.com/changtuiqie/Mac.WeChat/blob/master/API.txt" title="支持功能API文档">支持功能API文档</a><br/>
 
-![](https://github.com/changtuiqie/Mac.WeChat/blob/master/demo.gif) <br/>
+![](https://github.com/changtuiqie/Mac.WeChat/blob/master/demo.gif) <br/>
+
+demo源码暂时不放github了。如需要研究源码学习,请进群联系群主。

BIN
dll/EUtils.dll


BIN
dll/Xzy.IPAD.Core.dll


BIN
dll/Xzy.IPAD.Core.pdb


BIN
dll/commobj.fne





BIN
dll/wxipadapi6.7.dll


BIN
dll/xzyapi.dll


+ 0 - 1
dll/使用文档.txt

@@ -1 +0,0 @@
-项目引入Xzy.IPAD.Core.dll 并且将wxipadapi6.7.dll  ,xzyapi.dll放置Bin目录下

Некоторые файлы не были показаны из-за большого количества измененных файлов