国产一区二区三区毛片_亚洲乱码AV中文一区二区_亚洲精品无码专区在线播放_日韩欧美一二_咪咪av影院_欧久久av一区二区

xiapeng01
級別: 探索解密
精華主題: 0
發帖數量: 61 個
工控威望: 189 點
下載積分: 1197 分
在線時間: 83(小時)
注冊時間: 2012-12-31
最后登錄: 2025-03-23
查看xiapeng01的 主題 / 回貼
樓主  發表于: 2024-04-13 10:19
復制粘貼代碼到VsCode 或LinqPad 中,執行即可,需要.net8。在我的電腦上實驗成功,歡迎反饋不同型號的結果。
using System.Net.Sockets;
using System.Runtime.CompilerServices;
using System.Security.Cryptography.X509Certificates;

namespace WeintekTest;

class Program
{
    static Weintek weintek=new Weintek("192.168.20.51");

    static void Main(string[] args)
    {
        ClearTool();          
    }

    static void Fun0()
    {
        Console.WriteLine(weintek.GetLB(9047));
        Console.WriteLine(weintek.GetLB(9048));
    }

    static void Fun1()
    {
        Console.WriteLine("Done!");
        Console.Read();

        File.WriteAllText("res.txt","");

        for(int i=9000;i<12900;i++)
        {
            string str=$"{DateTime.Now}:LW{i}:\t"+weintek.GetLW(1, i) + Environment.NewLine;
            File.AppendAllText("res.txt",str);
        }
        
        Console.WriteLine("Done!");
        Console.Read();
    }

    static void ClearTool()
    {
        //Console.WriteLine("如要確認執行請按\"Y\"鍵:");
        //var key=Console.ReadKey();
        //Console.WriteLine();
        //if(key.Key != ConsoleKey.Y)
        {
            //Console.WriteLine("已取消執行!");
            //Console.Read();            
            //return;
        }

        Console.WriteLine("請謹慎操作!");
        Console.WriteLine("觸摸屏將在稍后重啟,請在觸摸屏重啟后手動進入并執行觸摸屏校準!");
        Console.WriteLine("校準完成后,會彈出對話框詢問是否重置密碼,輸入'yes'即可清空內部項目并重置下載密碼!");

        for(int i=10;i>0;i--)
        {
            //倒計時執行
            Console.WriteLine($"倒計時:{i}秒.");
            Thread.Sleep(1000);
        }

        Console.WriteLine("正在更新日期時間...");
        //更新日期時間
        weintek.SetLW(9022, (short)DateTime.Now.Year);//更新年
        weintek.SetLW(9021, (short)DateTime.Now.Month);//更新月
        weintek.SetLW(9020, (short)DateTime.Now.Day);//更新日
        weintek.SetLW(9019, (short)DateTime.Now.Hour);//更新時
        weintek.SetLW(9018, (short)DateTime.Now.Minute);//更新分
        weintek.SetLW(9017, (short)DateTime.Now.Second);//更新秒
        
        Console.WriteLine("正在更改系統設置...");
        weintek.SetLB(9020, true);//顯示系統控制按鈕
        weintek.SetLB(9033, true);//允許上傳
        weintek.SetLB(12364, true);//開啟屏幕校正后恢復出廠設置的選項
        weintek.SetLB(9048, true);//開啟重啟保護
        weintek.SetLB(9047, true);//重啟觸摸屏
        //設定LB寄存器時返回報文實例
        //2024/4/13 10:36:54+_接收內容33:    01-60-00-00-FF-00-00-00-00-00-08-00-01-00-01-00-00-00-01-00-00-00-00-00-00-00-00-00-00-00-00-00-02
        //2024/4/13 10:36:54+_接收內容33:    01-60-00-00-FF-00-00-00-00-00-08-00-01-00-02-00-00-00-01-00-00-00-00-00-00-00-00-00-00-00-00-00-02
        //2024/4/13 10:36:54+_接收內容33:    01-60-00-00-FF-00-00-00-00-00-08-00-01-00-03-00-00-00-01-00-00-00-00-00-00-00-00-00-00-00-00-00-02
        //2024/4/13 10:36:54+_接收內容33:    01-60-00-00-FF-00-00-00-00-00-08-00-01-00-04-00-00-00-01-00-00-00-00-00-00-00-00-00-00-00-00-00-02
        //2024/4/13 10:36:54+_接收內容33:    01-60-00-00-FF-00-00-00-00-00-08-00-01-00-05-00-00-00-01-00-00-00-00-00-00-00-00-00-00-00-00-00-02

        Console.WriteLine("Done!");
        Console.Read();
    }



    public class Weintek
    {
        string _ip;
        int _port=8000;

        int _index=0;
        readonly object lckObj=new object();

        public Weintek(string ip)
        {
            _ip=ip;
            _port=8000;
            
        }

        public Weintek(string ip,int port)
        {
            _ip=ip;
            _port=port;
            
        }

        int GetIndex()
        {
            lock(lckObj)
            {
                return ++_index;
            }
        }

        int GetEasyWatchIndex()
        {
            return 1;
        }

        public bool GetLB(int regAddress)
        {
            //讀LB12364
            //PC發:        01600000ff000000000008000c 00e5 0300000100000000000000000000ff 0403 000001000000
            //HMI回true:    01600000ff0000000000080005 00e5 030000010000000000000000000000000000 0010 0000  //大端
            //HMI回false:   01600000ff0000000000080005 00e5 030000010000000000000000000000000000 0000 0000 //大端

            //讀LB9047
            //PC發:        01600000ff000000000008000c 00fb 0300000200000000000000000000ff 3502 000001000000

            //讀LB9048
            //PC發:        01600000ff000000000008000c 00fe 0300000300000000000000000000ff 3502 000001000000

            try
            {
                bool ret=false;
                string sendHeader="01600000ff000000000008000c";
                string sendConstStr1 = "0300000100000000000000000000ff";
                string sendConstStr2 = "000001000000";

                string receiveHeader="01600000ff0000000000080005";

                var sendStr = sendHeader;
                sendStr += GetIndex().ToString("x4");
                sendStr += sendConstStr1;
                sendStr += GetLBAddress(regAddress).Substring(0,4);
    
                sendStr += sendConstStr2;
                
                var receiveData = Send(sendStr);
                var receiveStr = BitConverter.ToString(receiveData).Replace("-","").ToLower();
                if(receiveStr.Length> receiveHeader.Length &&
                    receiveStr.StartsWith(receiveHeader) &&
                    string.Compare(sendStr.Substring(sendHeader.Length,4),receiveStr.Substring(receiveHeader.Length,4))==0)
                {
                    var dat=ToLittleEndian(Convert.ToUInt16(receiveStr.Substring(66,4),16));
                    var temp =(Convert.ToUInt16(Math.Pow(2,regAddress % 0x10)));
                    ret = (dat & temp) > 0;
                    return ret;
                }

                return ret;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return false;
            }
        }


        /// <summary>
        /// 設置觸摸屏的LB寄存器(系統寄存器的值)
        /// </summary>
        /// <param name="ip">觸摸屏的地址</param>
        /// <param name="port">鏈接端口號,默認值為8000</param>
        /// <param name="index">報文序號,返回報文的序號和發送報文序號相同</param>
        /// <param name="regAddress">LB寄存器地址</param>
        /// <param name="Value">設定值</param>
        public bool SetLB(int regAddress, bool Value)
        {
        //設定LB寄存器時返回報文實例
        //2024/4/13 10:36:54+_接收內容33:    01-60-00-00-FF-00-00-00-00-00-08-00-01-00-01-00-00-00-01-00-00-00-00-00-00-00-00-00-00-00-00-00-02
        //2024/4/13 10:36:54+_接收內容33:    01-60-00-00-FF-00-00-00-00-00-08-00-01-00-02-00-00-00-01-00-00-00-00-00-00-00-00-00-00-00-00-00-02
        //2024/4/13 10:36:54+_接收內容33:    01-60-00-00-FF-00-00-00-00-00-08-00-01-00-03-00-00-00-01-00-00-00-00-00-00-00-00-00-00-00-00-00-02
        //2024/4/13 10:36:54+_接收內容33:    01-60-00-00-FF-00-00-00-00-00-08-00-01-00-04-00-00-00-01-00-00-00-00-00-00-00-00-00-00-00-00-00-02
        //2024/4/13 10:36:54+_接收內容33:    01-60-00-00-FF-00-00-00-00-00-08-00-01-00-05-00-00-00-01-00-00-00-00-00-00-00-00-00-00-00-00-00-02
            try
            {
                string sendHeader="01600000ff000000000008000c";
                string sendConstStr = "0000000100000000000000020000ff";//前面的01是EasyWatch序號,排第一個的為01,第二個的為02,在此處無關緊要

                string receiveHeader="01600000FF0000000000080001";

                var sendStr = sendHeader;
                sendStr += GetIndex().ToString("x4");
                sendStr += sendConstStr;
                sendStr += GetLBAddress(regAddress);
                sendStr += Value ? "ff" : "00";
                sendStr += "0000";
                
                var receiveData = Send(sendStr);
                var receiveStr = BitConverter.ToString(receiveData).Replace("-","").ToLower();
                if(receiveStr.Length> receiveHeader.Length && receiveStr.StartsWith(receiveHeader))
                {
                    return true;
                }

                return false;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return false;
            }
        }        

        static string GetLBAddress(int addr)
        {
            string ret = "";
            string str = addr.ToString("X5");
            ret += str.Substring(2, 2);
            ret += str.Substring(0, 2);
            ret += "00000";
            ret += str.Substring(4, 1);
            return ret;
        }

        public Int16 GetLW(int regAddress)
        {
            return GetLW(regAddress,1);
        }

        /// <summary>
        /// 讀取LW寄存器的值
        /// </summary>
        /// <param name="ip">觸摸屏IP地址</param>
        /// <param name="port">端口</param>
        /// <param name="index">包序號</param>
        /// <param name="regAddress">LW寄存器地址</param>
        /// <param name="count">寄存器個數,當前只支持1個寄存器</param>
        /// <returns>返回值</returns>
        public Int16 GetLW(int regAddress, int count)
        {
            //讀LW9009
            //PC發:    01600000ff000000000008000c00be0300003600000000000000000008ff3123000001000000
            //HMI回:   01600000ff000000000008000500be03000036000000000000000000000000000040400000

            //PC發:    01600000ff000000000008000c00bc0300003600000000000000000008ff3123000001000000
            //HMI回:    01600000ff000000000008000500bc03000036000000000000000000000000000040400000
            try
            {
                UInt16 ret = 0;
                string sendHeader = "01600000ff000000000008000c";
                string sendRegConstStr = "0300003600000000000000000008ff";

                string receiveHeader = "01600000ff0000000000080005";

                string sendStr = sendHeader;
                sendStr += GetIndex().ToString("x4");
                sendStr += sendRegConstStr;
                sendStr += ToLittleEndian((UInt16)regAddress).ToString("x4");
                sendStr += "0000";
                sendStr += ToLittleEndian((UInt16)count).ToString("x4");
                sendStr += "0000";

                var receiveData = Send(sendStr);
                var receiveStr = BitConverter.ToString(receiveData).Replace("-", "").ToLower();

                if (receiveStr.Length > receiveHeader.Length && //長度無無異常
                    receiveStr.StartsWith(receiveHeader) && //接收頭校驗成功
                    string.Compare(sendStr.Substring(sendHeader.Length, 4), receiveStr.Substring(receiveHeader.Length, 4)) == 0 //包序號校驗成功
                )
                {
                    var s1 = receiveStr.Substring(66, 4);
                    ret = Convert.ToUInt16(s1, 16);
                    return (Int16)ToLittleEndian(ret);
                }
                return -1;

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return -1;
            }
        }

        public bool SetLW(int regAddress, Int16 value)
        {
            //寫LW9022=2024    (0xE807)|9022=0x3e23
            //PC發:    01600000ff000000000008000e 00d9 0300005100000000000000010008ff 3e23 0000 0100 e807 0000
            //HMI回:        01600000ff0000000000080001 00d9 030000510000000000000000000000000001
            //              01600000ff00000000000800010001030000510000000000000000000000000001
            try
            {
                string sendHeader = "01600000ff000000000008000e";
                string sendRegConstStr = "0300005100000000000000010008ff";
                
                string receiveHeader = "01600000ff0000000000080001";

                string sendStr = sendHeader;
                sendStr += GetIndex().ToString("x4");
                sendStr += sendRegConstStr;
                sendStr += ToLittleEndian((UInt16)regAddress).ToString("x4");
                sendStr += "0000";
                sendStr += ToLittleEndian(1).ToString("x4");
                sendStr += ToLittleEndian((UInt16)value).ToString("x4");
                sendStr += "0000";

                var receiveData = Send(sendStr);
                var receiveStr = BitConverter.ToString(receiveData).Replace("-", "").ToLower();

                if (receiveStr.Length > receiveHeader.Length && //長度無無異常
                    receiveStr.StartsWith(receiveHeader) && //接收頭校驗成功
                    string.Compare(sendStr.Substring(sendHeader.Length, 4), receiveStr.Substring(receiveHeader.Length, 4)) == 0 //包序號校驗成功
                )
                {
                    return true;
                }
                return false;

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return false;
            }
        }

        byte[] Send(string str)
        {
            try
            {
                using (var client = new TcpClient())
                {
                    client.Connect(_ip, _port);
                    var s = client.GetStream();
                    var sendData = HexStringToByteArray(str);
                    s.Write(sendData);

                    byte[] buffer = new byte[1024];
                    int n = s.Read(buffer);
                    byte[] receiveData = new byte[n];
                    Array.Copy(buffer, receiveData, n);
                    //Console.WriteLine($"{DateTime.Now.ToString()}+_接收內容{receiveData.Length}:\t" + BitConverter.ToString(receiveData));
                    return receiveData;
                }
            }catch(Exception ex)
            {
                Console.WriteLine(ex.Message);
                return null;
            }
        }

        /// <summary>
        /// 十六進制字符串轉字節數組
        /// </summary>
        /// <param name="str">要轉換的字符串</param>
        /// <returns></returns>
        static byte[] HexStringToByteArray(string str)
        {
            return Enumerable.Range(0, str.Length).Where(x => (x % 2) == 0).Select(y => (byte)Convert.ToByte(str.Substring(y, 2), 16)).ToArray();
        }

        /// <summary>
        /// 大端轉小端和小端轉大端的操作是相同的,共用同一個即可
        /// </summary>
        /// <param name="dat">要轉換的內容</param>
        /// <returns></returns>
        static UInt16 ToLittleEndian(UInt16 dat)
        {
            return BitConverter.ToUInt16(BitConverter.GetBytes(dat).Reverse().ToArray());
        }

        /// <summary>
        /// 大端轉小端和小端轉大端的操作是相同的,共用同一個即可
        /// </summary>
        /// <param name="dat">要轉換的內容</param>
        /// <returns></returns>
        static UInt32 ToLittleEndian(UInt32 dat)
        {
            return BitConverter.ToUInt32(BitConverter.GetBytes(dat).Reverse().ToArray());
        }
    }
}
[ 此帖被xiapeng01在2024-04-13 15:55重新編輯 ]
xiapeng01
級別: 探索解密
精華主題: 0
發帖數量: 61 個
工控威望: 189 點
下載積分: 1197 分
在線時間: 83(小時)
注冊時間: 2012-12-31
最后登錄: 2025-03-23
查看xiapeng01的 主題 / 回貼
1樓  發表于: 2024-04-13 15:51
內容超長。。。。。。
觸摸屏重啟后手動進入觸摸屏校準,執行完成校準后會詢問是否恢復下載密碼,輸入yes之后,會清空內部的項目。
[ 此帖被xiapeng01在2024-04-20 16:16重新編輯 ]
附件: WeintekTest.rar (161 K) 下載次數:21
網站提示: 請不要用迅雷下載附件,容易出錯
tttabi
級別: 略有小成
精華主題: 0
發帖數量: 115 個
工控威望: 323 點
下載積分: 2546 分
在線時間: 58(小時)
注冊時間: 2023-10-07
最后登錄: 2025-05-09
查看tttabi的 主題 / 回貼
2樓  發表于: 2024-04-19 17:04
問題這個怎么放進去呢
往事如風
科技改變制造
級別: 網絡英雄

精華主題: 0
發帖數量: 11749 個
工控威望: 19142 點
下載積分: 13874 分
在線時間: 2760(小時)
注冊時間: 2013-01-31
最后登錄: 2025-05-09
查看往事如風的 主題 / 回貼
3樓  發表于: 2024-04-21 15:58
不明覺厲
三人行者必有我師 ,擇其善者而從之
biaogege520
清晨的風
級別: 略有小成
精華主題: 0
發帖數量: 197 個
工控威望: 388 點
下載積分: 47 分
在線時間: 77(小時)
注冊時間: 2015-07-01
最后登錄: 2025-04-28
查看biaogege520的 主題 / 回貼
4樓  發表于: 2024-05-09 14:07
        

主站蜘蛛池模板: 免费mmmxxx日本96_欧美黑人粗大xxxxbbbb_深夜福利老司机_8050午夜一级毛片免费看_91精品国产麻豆国产自产在线_色琪琪综合男人的天堂aⅴ视频_风流老太婆大BBWBBWHD视频_丰满少妇乱a片无码 | 一区中文字幕_欧美日本免费观看_国产在线无码一区二区三区视频_欧美视频一二三_精品视频在线一区二区三区观看_日本淫视频_久久精品国产字幕高潮_亚洲AV日韩AV一区谷露 | 久久WWW免费人成_网站_青青99_久久男人高潮女人高潮_欧洲熟妇色XXXXX欧美_日日撸夜夜操_色窝窝亚洲AV网在线观看_另类老妇性BBWBBW_国产一级特黄视频 | 国产综合在线视频_成人在线观看一区_日韩在线视频免费观看_97久久免费视频_狠狠色狠狠干_日韩激情网_爆操美女网站_国产精品婷婷久久久久 | 一级国产黄色毛片_蜜桃一区二区三区在线_黄瓜视频成人在线观看_91精产国品一二三区_日韩欧美国产专区_久久久久久午夜噜噜噜噜蜜臀av_亚洲高清无码加勒比_伸进她的小内裤里疯狂揉摸小说 | 日韩一中文字幕_九九只有精品_色翁荡熄又大又硬又粗又视频_久久华人_亚洲图色成人网_日本大肚子孕妇交XXX_高清视频新国产_久久夜亚洲 | 国产成人无码精品久久久性色_国产精品呻吟久久av图片_男人激烈吮乳吃奶视频免费_www.伊人.com_亚洲日韩中文无码久久_欧美人与动性行为视频_黄色在线视屏_国产色综合一区 | 91热这里只有精品_男人扒开女人腿桶_农村人伦一区二区三区的重点内容_日本久久一区二区三区_日韩伦理三级_少妇人妻挤奶水中文视频毛片_久久天天操_国产美女被遭强高潮露开双腿 | 91精品国产免费久久综合_无码无遮挡在线观看免费_精品国产乱码久久久久久1区2匹_欧美乱码卡1卡2卡三卡四卡_日本最新一区二区三区_一道精品一区二区三区_日日操日日插_成人做爰69片免费看网站野花 | 处女膜往事_欧美日韩国产超高清免费看片_九九九九九九九九九九热_91美女片黄在线观看成欢阁_欧美精品区一区二区三区_亚洲成人无码AV_精品午夜福利1000在线观看_日本a网站 | 国产精品影音_国产一级做a爰片在线看免费_老头把我添高潮了A片_午夜神器成在线人成在线人_亚洲精品中文字幕日本久久久_天天操天天谢_九色视频人porny_91久久久久久久国产欧美日韩- | 二区三区视频_搜索一级毛片_99久女女精品视频在线观看_国产成人亚洲综合青青_边摸边吃奶边做爽免费视频99_伊人福利视频_亚洲中文字幕不卡无码_手机在线看黄色 | 国产日产精品一区二区三区的介绍_特级全黄一级毛片_av在线资源_BBBBB女女女女女BBBBB国产_亚洲三级中文字幕_亚洲视频中文在线_欧美1区_www.com.cn成人 | 欧美另类性视频_青苹果乐园在线观看免费完整_成人免费网站观看_欧美天堂一区_亚洲品牌自拍一品区9_新av在线天堂网_国内91在线_wwwwxxxx欧美 | 久久久久久久女女女又又_91在线精品_狠狠色伊人亚洲综合网站色_99超碰在线播放_成人精品视频在线观看不卡_免费日韩在线观看_超级乱婬av片_亚洲成人精品一区二区 | 欧美中文在线观看_国产91精_无码国产69精品久久久久网站_中文在线a在线_毛片大全免费_免费观看色网站_农村一级毛片_意甲赛程2024赛程表最新 | 亚洲精品综合_足疗店女技师按摩毛片_亚洲精品久久嫩草网站秘色_国产亚洲一区精品_这题超纲了动漫免费观看_国产免费av高清在线_波多野结衣1区2区3区_久久精品小短片 | 国产在线伊人_亚洲一页_人妻丰满被色诱中文字幕_久久久亚洲欧洲日产国码αv_日韩丰满少妇无吗视频激情内射_亚洲午夜色情天天久久_黄色一级无码毛片高清视频_久久精品日产第一区二区三区使用方法 | 91看片官网_欧美线人一区二区三区_九色视频少妇_免费精品国自产拍在线播放_日本黄色片aaaa_暖暖av_亚洲精品久久乱码水蜜桃摄影_中文字幕在线观看国产推理片 | 137日本免费肉体摄影_伊人365_日韩欧美一区二区在线_无码中文字幕VA精品影院_亚洲AV福利无码无一区二区_深夜影院在线观看_被黑人猛男连续高潮视频_aa国产精品 | 精品国产18久久久久久怡红_国产一区二区三区久久99_夜夜操夜夜爽_久久天堂视频_日本人妻巨大乳挤奶水_热久久最新_色一情一乱一伦一区二区三欧美_亚洲第一页在线观看 | 日本91网站_久久人人爽人人爽人人片AV东京热_农村野外理伦三级_嫩草官网视频入口_一区二区日韩欧美_a级片一级片_国产亚洲v_久久精品一区二区三区国产主播 | 99久久99久久免费精品_日本黄色综艺_91青娱_干美女在线_国产又色又爽又黄的视频在线_色综合呦呦_亚洲人成网站18禁止久久影院_日韩精品视频中文字幕 | 国产精品久久久久久久久久辛辛_日本丰满熟妇乱子伦_亚洲欧美精品综合在线观看_国产无av码在线观看_青苹果乐园1080免费_色偷偷尼玛图亚洲综合_欧美一区二区视频网站_成人做爰999 | 国产A∨国片精品一区二区_精品人成视频免费国产_xxxxfree少妇过瘾_午夜亚洲av日韩av无码大全_色依依av在线_亚洲精品一区二区三区99_1717精品视频在线观看_国内一区二区三区在线视频 | 黄网动漫久久久_人人揉人人捏人人添_午夜男女爽爽爽在线视频_精品久久1_天堂资源av在线_日韩精品1区_波多野无码黑人在线播放_日韩大片高清播放器 | 成人精品鲁一区一区二区_久久人人爽人人爽人人爽av_久久久久久久伊人_少妇18xxxx性xxxx片_www天天操_免费a级毛片18以上观看精品_国产在线一级片_又黄又爽的视频在线观看 | 兔子先生节目在线观看_gogogo高清在线播放韩国_林ゆな中文字幕一区二区_91精品国产91久久久久久不卡_一二三四影视在线观看免费视频_91亚洲日本aⅴ精品一区二区_成人在线午夜视频_国产在线一区二区三区在线观看 | 亚洲欧美字幕_香蕉视频你懂的_成人免费看片a_花样男子版韩剧免费观看_久久密av_亚洲最大成人综合网720P_欧美在线网址_乱精品一区字幕二区 | 91视频免费看网站_300部国产真实乱_国产麻豆乱码精品一区二区三区_999久久久精品免费毛片_国产精品爽爽va在线观看无码_最好的2019中文大全在线观看_国产又黄又爽又色的免费视频白丝_九九视频在线观看 | 久涩涩福利视频在线观看_国产福利高清_yw193国产成人精品_久久丝袜视频_欧美成年黄网站色视频_日日摸夜夜添欧美一区_亚洲一区二区免费看_免费永久看黄神器 | 亚洲国产另类久久久精品极度_国产精品无码专区第一页_国产精品色综合一区二区三区_国产精品VR专区_国产99精品在线_91影视网_亚洲日本看视频_亚洲avav国产av综合av | 一级片在线观看_国产在线播放你懂的_最新国产精品无码_国产对白videos麻豆高潮_激情久久一区二区三区_精品久久中文_wc草草影院_超碰77 99热国内精品_www.久久爱.com_a级在线播放_日本久久综合视频_一本一本久久aa精品综合_亚洲性爰_日本另类αv欧美另类aⅴ_国产九九精品 | 国产麻豆精品a在线观看_91成人天堂久久成人_国产精品久久久久久52avav_成人av激情人伦小说_亚洲黄视频在线观看_国产成人亚洲综合网站小说_精品国产乱来一区二区三区_亚洲日韩中文字幕a∨ | 日韩精品A片一区二区三区_国产极品粉嫩福利姬萌白酱_国产欧美在线高清_国产青草亚洲香蕉精品久久_天天综合亚洲综合网天天αⅴ_久久综合伊人_人妻精品久久久久中文字幕_欧美日韩网 | 精品成人免费一区二区_久草观看_久久精品国产亚洲av影院_日韩精品手机在线观看_亚洲成人中文_免费一级片在线观看_国产在线拍揄自揄视频菠萝_国产免费人成在线看视频 | 久久婷婷五月综合色一区二区_com毛片_黄色亚洲精品_www成人在线_超级碰人人干_91久久国语露脸精品国产高跟_91精品啪在线观看_天天狠天天透天天伊人 | 亚洲成色网_久国产视频_最新亚洲国产_黄色av看视_国产午夜久久久_天天躁日日躁狠狠躁a∨麻豆_午夜无码片在线观看影院Y_午夜视频一区 | 久久www免费人成看片高清_亚洲五码久久_免费黄色影视_91成人免费网站_成人免费午夜_二个人看的毛片_在线成人免费视频_一区中文字幕在线观看 | 国产一区精品_二区精品_亚洲国产精品久久青草无码_亚洲一视频_91在现视频_九九色网_国产精品久久久久久久久久影院的_铠甲勇士免费观看 | 日本91网站_久久人人爽人人爽人人片AV东京热_农村野外理伦三级_嫩草官网视频入口_一区二区日韩欧美_a级片一级片_国产亚洲v_久久精品一区二区三区国产主播 |