国产一区二区三区毛片_亚洲乱码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 點
下載積分: 2556 分
在線時間: 59(小時)
注冊時間: 2023-10-07
最后登錄: 2025-05-12
查看tttabi的 主題 / 回貼
2樓  發表于: 2024-04-19 17:04
問題這個怎么放進去呢
往事如風
科技改變制造
級別: 網絡英雄

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

主站蜘蛛池模板: 亚洲永久精品一区_亚洲精品永久免费_一本大道伊人久久综合_国产精品99久久99久久久动漫_亚洲七久久之综合七久久_超碰网站在线观看_日日日视频_成人做受黄大片 | 成人免费黄色片_精品人妻中文无码AV在线_国产在线精品一区二区不卡了_自怕偷自怕亚洲精品_舌L子伦熟妇ΑV_黄色大片免费的_51porn国产_日本黄色a视频 | 精品va久久久噜噜久久软件_慈禧秘传免费看_成人成人成人在线视频_俺去俺来也www色老板_99国产99_天天干夜夜_亚洲欧美小视频_国产一区不卡视频 | 40集连续剧免费播放_91c网站色版视频_玖爱在线视频_九色91在线视频_午夜精品久久久久久久99热额_国产精品高潮久久久久久无码_欧美+亚洲+精品+三区_亚洲免费av在线 | av免费在线网址_国产成人片一区在线观看_久久久久免费看黄a毛片肥婆_色婷婷色综合激情国产日韩_在线欧美小视频_丁香少妇激情啪啪_午夜激情在线视频_美女和帅哥在床上 | 玖玖视频精品_国产丝袜无码一区二区视频_黄色avav_av免费国产_麻豆果传媒成人A片免费看_国产一区二区三区精品av_性欧美videofree高清69_成视频年人黄网站视频福利 | 欧美最猛性xxxxxx_少妇高潮喷水在线观看_国产亚洲精品综合一区_夜夜爽天天操_欧美综合在线一区_亚洲伊人无码一区二区三区_亚洲中文字幕精品无码avⅤ_亚洲日日射 | 中国做受xxxxxaaaa_av免费观_国产在线不卡一区二区三区_九九自拍偷拍_欧美一级h_久久久久久国产精品一区_无码精品乱伦国产_1000部啪啪未满十八勿入不卡 | ⅵdeodesetv性欧美_久久精品www人人做人人爽_我要看黄色影片_欧美综合网站_91国产在线播放_97丨九色丨国产人妻熟女_青青久在线视频免费观看_成人av网站大全 | 日本av一区二区三区_中文字幕人成人乱码亚洲影视的特点_国产精品热_成人免费视频网站在线观看_天天澡天天干_国产精品一在线观看_商场女厕偷拍一区二区三区视频_91新视频 | 色综合狠狠爱_国产精品又又酱在线午夜_野外少妇愉情中文字幕_在线观看国产精品一区二区_开心五月综合亚洲_一本久久a久久精品亚洲_成人免费在线网_国产精品人妻熟女毛片av久久 | 国产999精品2卡3卡4卡_无套内谢少妇毛片A片999_五级床片三区全部免费播放_久久久久人妻一区二区三区VR_天天操狠狠操夜夜操_国产一区红桃视频_成人a视频在线观看_男女涩涩网站 | 边啃奶边躁狠狠躁a片动图_懂色av一区二区_黄色片小视频_亚洲性无码AV在线观看_欧美成在线观看_乱人伦精品视频在线观看_无码人妻一区二区三区免_久久r精品 | 99无码熟妇丰满人妻啪啪_色综合天天综合网无码在_啪啪免费网_成人无码WWW免费视频苹果版_免费一级特黄特色的毛片_天堂av网2019_国产精品久久久久久久99_一区二区三区免费在线播放 | 一级片在线观看_国产在线播放你懂的_最新国产精品无码_国产对白videos麻豆高潮_激情久久一区二区三区_精品久久中文_wc草草影院_超碰77 99热国内精品_www.久久爱.com_a级在线播放_日本久久综合视频_一本一本久久aa精品综合_亚洲性爰_日本另类αv欧美另类aⅴ_国产九九精品 | 亚洲午夜视频在线观看_欧美日本免费一区二区三区_99久久99这里只有免费费精品_色婷婷美国农夫综合激情亚洲_仁科百华av解禁在线播放_精品欧美一区二区精品久久久_99久久精品视频免费_www.youjizz.com中国 | 亚洲精品久久久蜜桃网尤妮丝_日日日日日_亚洲一区h_国产网站在线免费观看_精品999日本久久久影院_女教师在办公室被强在线播放_在线视频久_夜夜骑天天射 | 国产美足白丝榨精在线观看SM_久久国产精品香蕉绿巨人_国产精品久久久久久久久久免费看_无码国产精成人午夜视频一区二区_免费人成网站在线观看不卡_一区两区小视频_国产精品精品国产一区二区_被CAO的奶水直喷高H | A片无码一区二区三区在线草莓_ww国产_日韩一区二区三区在线视频_人妖天堂狠狠ts人妖天堂狠狠_国产一性一交一伦一A片_黄色一级片在线观看_黄色一级片视频_日本丰满护士bbw | 中国做受xxxxxaaaa_av免费观_国产在线不卡一区二区三区_九九自拍偷拍_欧美一级h_久久久久久国产精品一区_无码精品乱伦国产_1000部啪啪未满十八勿入不卡 | 天天干天天插_成人午夜性成交_久久九九99_伊人视屏_99热久草_泷泽萝拉全AV在线观看_亚洲aaa视频_台湾一级毛片永久免费 | 综合第一页_欧美大色视频在线观看_91天堂在线_欧州一级特黄视频无码_亚洲一区二区三区无码国产_97SE亚洲国产综合自在线不卡_亚洲福利视频52_最近新中文字幕大全高清 | 40集连续剧免费播放_91c网站色版视频_玖爱在线视频_九色91在线视频_午夜精品久久久久久久99热额_国产精品高潮久久久久久无码_欧美+亚洲+精品+三区_亚洲免费av在线 | 国自产拍亚洲免费视频_夫妇激情在线观看视频_亚洲精品高潮呻吟久久av_妞干网在线观看_精品久久久网_精品国产91久久久久久久妲己_国产人妇三级视频在线观看_国产精品56页 | xvideos在线观看_久久久青青青_日韩欧洲国产亚洲中文_亚洲国产91在线_粗一硬一长一进一爽一A级_国产毛片18片毛一级特黄_欧美国产精品三区一级一级_成人精品一区二区三区在线观看 | 97精品国产三级A∨在线_欧美一级专区_国产九九99久久99大香伊_宝贝腿抬高点让我爽一点麻豆_97青草超碰久久国内精品91_成人免费乱码大片a毛片视频网站_av三级_久在线中文字幕乱码免费 | 一级黄色片免费_日韩高清在线播放_www.com久久久_XXX国产熟妇HD_成人精品自拍_亚洲欧洲免费视频_精品成人国产_一级全黄少妇性色生活免费看 | 女人在厨房被添高潮全过程A片_麻豆网神马久久人鬼片_麻豆秋葵绿巨人无限观看_2020国产自慰福利_欧美又黄又嫩大片a级_欧美人与性囗牲恔配视频0_国产成人AV免费网址_青青青久久 | 一区二区播放_国产ts人妖一区二区三区_日韩精品在_国产在线播放一区_又大又黄又硬视频_激情久久一区_好姑娘国语免费高清观看_国产在线成人 | 又色又爽又黄的视频网站_中国午夜伦理片_一区二区三区四区中文字幕_www.youjizz.com久久_狼干综合网_日韩在线视频网站_剑来高清在线观看_99青草 | 国产日韩欧美在线精品首页_亚洲偷精品国产五月丁香麻豆_娇小1213╳yⅹ╳毛片_日本高清www视频在线观看_欧美在线观看你懂的_国产精品久久久久久人妻_久久久精品免费看_久久人人妻人人做人人爱 | 麻豆影视网_国产成人综合色视频精品_亚洲国产精品久久久久久久久久_岛国毛片在线观看_无码色偷偷亚洲国内自拍_欧美日韩一区二区三区久久精品_91精品麻豆日日躁夜夜躁_法国性xxxx精品hd | 三级网站在线免费观看_亚洲视频一区在线观看_国产精品一级香蕉一区_好屌爽在线视频_亚洲另类视频_插我舔内射18免费视频_伊人久久大香线蕉AV仙人_日韩在线激情 | 国产精品久久国产精品久久_xxxwww免费视频_极品人妻的娇喘呻吟_a级无毛_亚洲你懂的_久久精品女人天堂av444_日本99热_小蜜被两老头吸奶头在线观看 | 亚洲午夜视频在线观看_欧美日本免费一区二区三区_99久久99这里只有免费费精品_色婷婷美国农夫综合激情亚洲_仁科百华av解禁在线播放_精品欧美一区二区精品久久久_99久久精品视频免费_www.youjizz.com中国 | 国产另类精品_a级高清免费毛片av播放_日韩午夜在线视频_538任你躁精品视频网免费_久草福利资源在线_福利一区福利二区_乡下农村一级毛片_99久热在线精品视频成人一区 | 中文字幕55页_亚洲国产精品无码久久久五月天_麻豆短视频传媒_免费色视频在线观看_一区二区三区无码免费看_免费一级做a爰片性色毛片_亚洲欧美一级_久久久亚洲蜜桃 | 国产一级做a_一个色综合国产色综合_九九九99品牌的特色产品_被男人吃奶跟添下面特舒服_啄木鸟在线_99啪啪_zjzjzjzjzjzjzj视频免费播放_jvid福利在线一区二区 | www.99久久久_黄色片网此_欧美色图影院_99久久久无码国产精精品品不卡_成人高潮成人免费观看_99re6热在线精品视频观看_亚洲黄色一区二区_国产成人91 | 一本大道香蕉大在线中文_国产精品久久久久久妇_天天干天天爱天天_18禁美女黄网站色大片在线_98超碰人人_国产丝袜av一区二区三区性色_av毛片无码中文字幕不卡_一区二区三区产品免费精品久久75 | 一级黄片毛片免费看_色又黄又爽18禁免费网站现观看_一区二区三区四区五区精品_视频一区在线视频_欧美一级黄色录像片_亚洲黄色片视频_国产免费av大片在线观看_麻豆精品免费 |