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

xiapeng01
級別: 探索解密
精華主題: 0
發帖數量: 61 個
工控威望: 189 點
下載積分: 1197 分
在線時間: 83(小時)
注冊時間: 2012-12-31
最后登錄: 2025-05-25
查看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重新編輯 ]
tttabi
級別: 略有小成
精華主題: 0
發帖數量: 115 個
工控威望: 323 點
下載積分: 2706 分
在線時間: 61(小時)
注冊時間: 2023-10-07
最后登錄: 2025-05-30
查看tttabi的 主題 / 回貼
1樓  發表于: 2024-04-19 17:04
問題這個怎么放進去呢

主站蜘蛛池模板: 亚洲aⅴ无码专区在线观看_精品福利网站_午夜影院c绿象_中文字幕十区_久久综合日本_久久网站免费视频_国产免费一区视频_欧美成年人视频 | 午夜视频啪啪_久久欧洲_久久久免费观看视频_6m精品福利视频导航_久久人人爽人爽人人片_国产三级黄色录像_国产精品色综合_96久久久 | 国产影视一区_亚洲av永久无码偷拍另类_日韩在线免费观看av_九色九一_亚1州区2区3区4区产品乱码2021_亚洲精品成人网站在线观看_国产乱人对白_亚洲国产精品一区二区999 | 成人免费黄色片_精品人妻中文无码AV在线_国产在线精品一区二区不卡了_自怕偷自怕亚洲精品_舌L子伦熟妇ΑV_黄色大片免费的_51porn国产_日本黄色a视频 | tube性老少配bbwcom_无码被窝影院午夜看片爽爽_31xx视频在线影院_亚洲色图清纯制服_老师穿旗袍白丝让我爽翻天AV_久久精品久久久久久噜噜_国产极品视觉盛宴_粉嫩小泬无遮挡久久久久久 | a日韩在线_狠狠做五月爱婷婷综合_四虎影视在线_日日骚一区二区_日本亚洲免费_中出亚洲_2024理论片_精品国产午夜福利在线观看蜜月 | 国产精品天堂AVAV在线_国产成人无码一区二区在线观看_隔着超薄肉丝袜做AV在线_涩涩涩综合在线亚洲第一_精品系列无码一区二区三区_在线黄色影院_九一快播_久久精品国产亚洲AV麻豆不卡 | 亚洲AV少妇熟女猛男_成人真爽爱性视频网_国产综合色精品一区二区三区_国产精品视频–无名网_又大又爽又黄无码A片在线观看_99亚洲狠狠色综合久久位_美女黄视频在线播放_91成人精品网站 | 国产999精品2卡3卡4卡_无套内谢少妇毛片A片999_五级床片三区全部免费播放_久久久久人妻一区二区三区VR_天天操狠狠操夜夜操_国产一区红桃视频_成人a视频在线观看_男女涩涩网站 | 婷婷欧美一区二区三区_成人无码精品一区二区三区亚洲区_tube8欧美大屁股xxxx_精品一区二区三区欧美_久草在线新体验_一级毛片在线a_交换一乱一性一爱_日韩亚洲国产中文永久 | 亚洲精品一区二区三区在线看_精品99在线观看_国产最新精品视频_四虎影院永久在线_狼人无码精华AV午夜精品_国产网曝门亚洲综合在线_在线播放亚洲第一字幕_久久国产精品萌白酱免费 | 91亚洲免费视频_国产精品人妻一区二区网站_亚洲中文字幕无码一区二区三区_性欧美XXXXX极品少妇_国产精品一区免费在线观看_一级做a爱片_在线视频一区二区三区三区不卡_激情综合婷婷丁香五月俺来也 | 99九九热_公息肉吊粗大爽在线观看_三上悠亚日韩精品二区_久久久日本_色妹子久久_麻豆动漫_好逼天天操_久久精品桃花av综合天堂 | 国产精品色婷婷亚洲综合看片_日本熟日本熟妇在线视频_一级片的网址_亚洲无人区一卡2卡三卡_青草青草视频2免费观看_欧美亚洲国产片在线播放_老女老肥熟国产在线视频_亚洲精品xxxxx | 91精品国产色综合久久不卡98_免费国产成人肉肉视频大全_日本熟妇xxxx_日本高清免费观看_看片1区_俺去鲁婷婷六月色综合_日韩精品一区二区亚洲AV观看_青青久久国产 | 明星angelababy造梦视频_欧美影音_91婷婷综合一区二区三区久久_亚洲AV日韩AV高潮潮喷无码_俄罗斯VIDEODESXO极品_影视一区_国产免费又色又爽又黄软件_狠狠躁天天躁无码中文字幕图 | 在线免费观看黄色片_四虎必出精品_久久夜色精品国产噜噜噜亚洲AV_97久久精品人妻人人搡人人玩_aaa视频_精品成人免费一区二区在线播放_第一福利初水视频导航_日韩中文字幕二区 | 91视频免费_亚洲精品中文字_亚洲高清视频免费看_日韩中文字幕手机在线_国产免费一级高清淫曰一本篇_狂野欧美精品_亚洲欧美日韩区_日韩成人无码 | 新香蕉少妇视频网站_多男同时插一个女人8p_国产综合网址_国产盗摄一区二区_亚洲一级影视_日本一区中文字幕_无码AV片AV片AV无码_国产做a爱免费视频 | 久久久无码精品亚洲日韩啪啪网站_国产三级三级看三级_天堂一区人妻无码_国产成人久久精品_最近中文字幕2019视频1_思思久热_亚洲成AV人在线观看成年美女_日韩少妇内射免费播放18禁裸乳 | japanese55丰满熟妇_亚洲at在线免费影院_亚洲成人自拍一区_国产日韩亚洲精品_日本中文字幕在_日本草草影院_www.91亚洲_野性狂欢大派对 | 巨爆乳寡妇中文在线观看_亚洲精品资源在线观看_午夜剧场协和影视_日韩欧美在线观看视频一区二区_国产人妖ts重口系列网站观看_精品夜夜澡人妻无码AV_四虎国产精品亚洲一区久久特色_久久精品国产影院 | 丁香花开心四播房麻豆_婷婷综合久久狠狠色_日韩一级免费一区_天干天干天啪啪夜爽爽色_国产欧美欧美成人亚洲欧美激情_日韩成年人视频在线_亚洲视频日韩_免费A级毛片无码A∨蜜芽按摩 | 被按摩师玩弄到潮喷在线播放_免费AV无码不卡在线观看_呦一呦二在线精品视频_久色免费_久久女性裸体无遮挡啪啪_国产一级一区_黄色片一级免费_深夜艹逼逼 | 成人av18_福利成人_绯色一区二区三区_亚洲砖区免费_天天躁夜夜躁天干天干2020_亚洲国产成人久久成人52_操操操爽爽爽_天天好逼综合 | 亚洲性色av日韩在线观看_国产成人精品无码片区在线观看_国产精品操女人_av官网在线播放_国产内射露脸在线观看_久久2018_日韩97_国产精品毛片久久久久久久av | 美女mm131爽爽爽作爱视频_快色在线观看视频_天天躁夜夜躁狠狠躁2021西西_久久精品国产网址_欧洲一级片_精品美女_欧美性生交XXXXX无码_熟妇人妻久久中文字幕 | 日韩av资源在线_美女扒开腿让男人桶爽久久软件_国产成人一级片_欧美裸体xxxx极品_亚洲成人精品在线观看_狂草美女_日韩一区综合_国产一区二区播放 | 人妻免费久久久久久久了_办公丝袜av一区二区三区_2019日韩中文字幕mv_国产黄频免费无数次看_国产精品国产成人国产三级_动漫久久_午夜男女XX00视频福利_日韩高清在线不卡一区二区 | 一区视频在线免费观看_久久天天躁夜夜躁狠狠_亚洲精品一级_成人性生交大片看1_xxx国产精品视频xxx软件_免费人妻无码不卡中文字幕系列_97超碰免费人人看人人_亚洲午夜一二三区视频 | 黑人操女人视频_狼人社区91国产精品_日本a级毛片免费视频播放_成年人免费黄色_男女激情爽爽爽免费视频_欧美偷偷操_成年视频免费观看_在线观看av资源 | 大雞巴亂倫有声小说_ZZIJZZIJ亚洲日本少妇_mm1313亚洲国产精品一区_97成人精品视频在线观看_在线视频毛片_国产精品精品自在线拍互動交流_黄色大片日本免费大片_久久久无码精品无码国产人妻丝瓜 | 国产一区二区在线免费播放_一本一道VS无码中文字幕_色欲av亚洲一区无码少妇_懂色av噜噜一区二区三区av88_久久是精品_亚洲精品国产精品乱码在线观看_国产乱码在线精品可播放_在线观看国产精品普通话对白精品 | 一区二区三区成人在线视频_欧美日韩久久一区_a在线免费观看视频_五月天黄色av_久久久精品国产免大香伊_99精品久久久久久久婷婷_一级特黄录像免费播放中文_久久99精品久久久久久动态图 | 最新久久精品_91无限看次数破解版小孩_久久久久久久久爱_久久久亚洲一区_一级网站_免费精品久久久_玩弄丰满熟妇XXXXX性视频_中文字幕久久爽aⅴ一区 | 国产福利精品视频_91素人在线_国产欧美另类久久久精品丝瓜_日韩精品一区二区av_XX性欧美肥妇精品久久久久久_老司机深夜18禁污污网站_伊人色综_99国产精品免费视频 | 久久精品国产99久久无毒不卡_欧美色欧美亚洲另类七区_国产精品无码天堂av_欧美性色欧美性a片_亚洲日色_日韩A人毛片精品无人区乱码_久久免费毛片大全_国产综合一区二区三区视频一区 国产免费黄色片_久久午夜免费视频_麻豆影视在线免费观看_成人三级做爰av_久久精品中文闷骚内射_美女视频黄的免费_人妻无码一区二区三区_亚洲特黄毛片 | 国产精品奇米一区二区三区小说_国产乱人伦av在线a_日日综合网_调味的房子在线观看_亚洲av狠狠爱一区二区三区_国产在线播放精品视频_人与禽的免费一级毛片_国产一级精品视频 | 99久久精品国产导航_黄色毛片视频免费观看中文_精品熟女少妇AV免费观看_caoporn超碰91_国产老肥熟_亚洲欧美中文字幕日韩一区二区_国产人妻大战黑人第1集_人妻熟妇AV水蜜桃一区二区三区 | 日本特级_天天天天做夜夜夜做_亚洲中文字幕久爱亚洲伊人_一区二区视频播放_男女边吃奶边做边爱视频_h版在线观看_国产午夜手机精彩视频_老司机精品久久 | 亚洲成人黄色网_vagaa亚洲亚洲色爽免影院_亚洲国产精品一区在线_美女十八毛片_久久成人福利视频_人人澡人人添人人爽一区二区_五十六十日本老熟妇乱_国产精品第一视频 |