国产一区二区三区毛片_亚洲乱码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
問題這個怎么放進去呢

主站蜘蛛池模板: 国产成人AV网站网址_日本三极_日漫美女_中国三级在线_一级一毛片_黑人av_2019天天干夜夜操_国产免费作爱视频 国产精品天堂AVAV在线_国产成人无码一区二区在线观看_隔着超薄肉丝袜做AV在线_涩涩涩综合在线亚洲第一_精品系列无码一区二区三区_在线黄色影院_九一快播_久久精品国产亚洲AV麻豆不卡 | 国产9区_欧美性视频一区二区_亚洲a区在线观看_javlibrary贴吧_日本一二三区高清_永久免费视频国产_人人干影院_超碰三级 | 伊人婷婷影院_精品亚洲天堂_免费天堂av_国产真实伦在线视频免费观看_亚洲一二精品_国产999久久_熟女俱乐部五十路六十路av_91嫩草私人成人亚洲影院 | 真人无码作爱免费视频_一本久色_久久人人爽人人片_男女插插插网站_中文有码一区二区_中文字幕+乱码+中文字幕无忧_亚洲精品无码专区在线在线播放_女人爽到高潮免费看视频 | 日本黄色不卡视频_日韩国产综合_成人精品免费视频在线观看_日本视频a_国产麻豆视频_男人激烈吮乳吃奶动态图_99久久国语对白精品露脸_欧美1区2区3区4区 | 九色蝌蚪在线观看_中国精品自拍_日韩在线精品_国产精品人妻_国产成人无码区免费A∨视频网站_久久偷人_日本精品黄色_午夜操操 | 激情内射亚州一区二区三区爱妻_91成人精品一区二区三区四区_caoporen个人免费公开_男人猛吃奶女人爽视频_欧美人与动牲交A精品_特级西西大胆www147_国产一级毛片黄片_玖玖精品在线 | 巨爆乳寡妇中文在线观看_亚洲精品资源在线观看_午夜剧场协和影视_日韩欧美在线观看视频一区二区_国产人妖ts重口系列网站观看_精品夜夜澡人妻无码AV_四虎国产精品亚洲一区久久特色_久久精品国产影院 | 国产亚洲精品hd网站_国产精品久久久久久久久久久久久_国产精品一亚洲AV日韩AV欧_久久精品亚洲综合_双乳奶水饱满少妇呻吟免费看_久久99深爱久久99精品_yellow高清在线观看免费观看视频_国产福利精品一区二区 | 手机在线播放国产女主播_国产精品一区二区久久不卡小说_久久夜靖品2区_精品视频色一区_品久久久久久久久久96高清_农村乱视频一区二区三区_久久久久无码精品国产情侣_黄又色又污又爽又高潮动态图 | 久草在线精品观看_情欲三原色未删减_成人区精品一区二区不卡_40集全部免费观看_国产午夜视频在线观看_国产久热精品_久久久久久久穴_99亚洲热 | 久久免费偷拍视频_日日摸夜夜添夜夜添毛片av_国产精品4区_A级毛片免费无码观看、、_亚洲精品在线影院_免费a视频_午夜熟女毛片免费网站_午夜男女刺激爽爽影院 | 北条麻妃中文_eeuss影院www影院入口_亚洲视频在线观看一区_最新日韩视频在线观看_久久久久久久久久亚洲_天天操网址_久久成人无码影片_免费无码又爽又刺激高潮 | 日本视频网站WWW色高清免费_少妇高潮灌满白浆毛片免费看_无码专区亚洲综合另类_亚洲国产精品无码久久sM_超碰在线香蕉_亚洲AV片不卡无码久久_日韩欧美一区二区三区永久免费_欧美高潮又爽又黄又硬又无遮 | 日本男女啪啪_欧美国产日韩久久_亚洲在线视频观看_亚洲AV乱码专区国产乱码_国产一级不卡毛片_怡红院av_国产乱子伦精品免费无码专区_亚洲AV无码国产一区二区三区 | 色播基地_久久精品女人天堂av_日韩精品卡1卡2三卡四卡乱码_亚洲国产精品无码AAA片_国产精品久久久久毛片软件_欧美男男大粗吊1069_免费看av大片_一个人看的www免费高清在线视频 | 日本精品一区二区三区高清_欧美成人中文字幕_日日摸夜夜骑_少妇一级淫片免费_国产男女无遮挡猛进猛出_国产综合av_国产成人精品自拍_成人性色生活片免费看爆迷你毛片 | 久久婷婷五月综合色一区二区_com毛片_黄色亚洲精品_www成人在线_超级碰人人干_91久久国语露脸精品国产高跟_91精品啪在线观看_天天狠天天透天天伊人 | 久久网站热最新地址4_www色.com_饥渴少妇浪潮AV麻豆传煤_欧美色五月_伊人成伊人成综合网222_CHINESE玩弄老年熟女_成人午夜视频在线_日本婷婷免费久久毛片 | 人人妻人人爽人人爽_国产精品99久久久精品免费观看_视频一区二区三区在线观看_成人免费黄色大片_国产免费人成视频在线播放播_日韩精品中出_久久久久国产一级毛片高清版小说_国产偷录视频叫床高潮 | 91精品国产综合久久久动漫百度_国产性生交XXXXX免费_香蕉靠逼视频_亚洲sss综合天堂久久_国产性猛交xxxx乱大交小视频_日本一道本久久_国产日韩精品视频_精品成人av一区 | 一区视频在线免费观看_久久天天躁夜夜躁狠狠_亚洲精品一级_成人性生交大片看1_xxx国产精品视频xxx软件_免费人妻无码不卡中文字幕系列_97超碰免费人人看人人_亚洲午夜一二三区视频 | 国产影视一区_亚洲av永久无码偷拍另类_日韩在线免费观看av_九色九一_亚1州区2区3区4区产品乱码2021_亚洲精品成人网站在线观看_国产乱人对白_亚洲国产精品一区二区999 | www.99久久久_黄色片网此_欧美色图影院_99久久久无码国产精精品品不卡_成人高潮成人免费观看_99re6热在线精品视频观看_亚洲黄色一区二区_国产成人91 | 国内精品久久人妻朋友_制服视频在线一区二区_中国人妻被两个老外三p_衣服被扒开强摸双乳18禁网站_超碰在线最新_色av色_久久久久亚洲精品成人网小说_av超碰在线 | 一区二区三区二区中文字幕视频_蜜臀AV无码国产精品色午夜麻豆_欧美在线观看自拍影视_天堂久久网_2021久久超碰国产精品最新_黄片毛片av_鲁大师在线视频播放免费观看_成人欧美一区二区三区视频网页 | 亚洲天堂岛_国产亚洲日韩在线播放更多_中文字幕1级精品视频在线_草草草影院_黄色精品在线观看_yy8840私人影院的在线_国产日产精品久久久久久_国产一卡二卡三卡免费 | 国产av福利第一精品导航_国产综合亚洲区在线观看_一区二区三区内射美女毛片_成人av片在线观看免费_美女桃色网站_一级毛片a女人刺激视频免费_日本一级淫片日本高清小说_国产男女视频网站 | 男女无套内射白将在线线国语_久久精品噜噜噜成人_国产片一区二区_91污视频_69午夜视频_国产精品一区二区三区四区在线观看_一级黄色播放_av在线无码专区一区 | 亚洲av网站_人人干日日_44444kk在线观看三免费_亚洲啪啪av_专干老熟女视频在线观看_国产孕妇a片全部精品_99热爱久久99热爱九九热爱_三级黄在线观看 亚洲精品久久久蜜桃网尤妮丝_日日日日日_亚洲一区h_国产网站在线免费观看_精品999日本久久久影院_女教师在办公室被强在线播放_在线视频久_夜夜骑天天射 | 大地资源影视免费观看高清_公和我做好爽添厨房在线观看_婷婷综合另类小说色区_亚洲AV日韩AV欧V在线天堂_特黄一区二区_粉嫩av一区二区在线播_成人午夜精品_国产乱了真实在线观看 | 国产三区在线播放_色久综合_亚洲一区二区欧美_阿v片在线视_久久免费在线视频_中文人妻熟女乱又乱精品_好看的日韩精品视频在线_57pao成人国产永久免费视频 | 久久久久无码精品亚洲日韩_国产又粗又硬又黄视频免费着_555夜色666亚洲国产免_男人操女人免费视频_未满十八岁勿入网站WWW_日本在线有码_97精品国产一区二区三区_免费无码黄网站在线观看 | 99无码熟妇丰满人妻啪啪_色综合天天综合网无码在_啪啪免费网_成人无码WWW免费视频苹果版_免费一级特黄特色的毛片_天堂av网2019_国产精品久久久久久久99_一区二区三区免费在线播放 | 黄a免费视频_久久精品国产亚洲一区二区_国产又爽又黄又无遮挡的激情视频_爱福利一区_亚洲国内精品在线_日韩aaa视频_久久无码免费视频播放_久久精品人人槡人妻人 | 亚洲色欲久久久综合网东京热_国产毛片久久久久久美女视频_欧美一级日韩片_99精品网站_www.久久免费_99久无码中文字幕一本久道_在线中文字幕亚洲日韩2020_免费播放黄色片 | 午夜视频免费看_7788私人影院_7777精品久久久大香线蕉_曰曰摸夜夜添夜夜添高潮出水_伊人狠狠操_青青免费视频在线_色婷婷欧美在线播放内射_少妇性饥渴无码A区免费 | xxxx漂亮少妇hdxxxx_久久香蕉国产线看观看手机_青青草手机在线观看_人妻激情另类乱人伦人妻_狠狠色狠狠色88综合日日91_有码在线_日韩av综合_好爽好痛好湿好硬视频免费 | 高清?日韩?欧?亚_无码做爰视频WWW网站建设_亚洲av性色在线观看_成人午夜影片_秋霞在线午夜_国产矿转码专一2023_7777奇米成人四色眼影_欧美亚洲另类自拍 | 中国女人内射6XXXXX_69精品视频_麻豆短视频在线观看_91aaa在线观看_国产精久久久久久妇女av_天天澡天天添天天摸av_国产热RE99久久6国产精品首页_亚洲欧美综合精品成人网站 | 久久精品爱_久操免费福利视频_av日韩天堂_不卡av在线免费观看_精品九一_精品一区二区三区无码视频_国产亚洲视频在线观看视频在线_亚洲精品乱码久久久v开放时间 |