精品97人妻I99无码人妻一区二区三区色I日批视频I麻豆一精品传二传媒短视频I131M久I丰满人妻一区二区三区免费视频I亚洲美女久久久久久BBBBBBI在线国产日韩I91九色免费视频

NFC手機二代身份證閱讀開發(fā)說明

2019-07-01 16:23:00
諾塔斯智能科技
原創(chuàng)
6780
摘要:隨著NFC手機的不斷普及,利用手機NFC進行身份證證件識別和判斷真?zhèn)?,檢測身份證信息并讀取內(nèi)容進行實名認證。未來,人們在線交易或簽署合同時,只需用手機掃描身份證即可完成身份驗證,隨后便可使用該身份進行交易、合同簽署,方便快捷的同時,安全性更是上升到更高層級。
人的身份是混亂的,最終將導(dǎo)致交易混亂,從而會出現(xiàn)大量的欺詐交易。如今網(wǎng)絡(luò)誠信,網(wǎng)絡(luò)安全等問題已經(jīng)嚴重制約的我國電子商務(wù),甚至威脅到我國互聯(lián)網(wǎng)的健康發(fā)展,實名認證有利于確定身份,讓商家和客戶之間彼此了解和交流,有利于網(wǎng)絡(luò)商城的開展,避免了一些不法分子在網(wǎng)絡(luò)上欺騙消費者。

實名認證是市場經(jīng)濟中不能跳過的流程,那是否意味著每一次的認證都要讓人百般懷疑的進行“拍照”、“上傳”這一系列步驟嗎,萬一真遇上“釣魚網(wǎng)站”,個人信息遭到泄露,后果將不堪設(shè)想,并且繁復(fù)的上傳回饋過程也大大降低了工作效率。再者,如遇到假冒偽造證件,普通民眾用肉眼并不能立即識別真假,

隨著NFC手機的不斷普及,利用手機NFC進行身份證證件識別和判斷真?zhèn)危瑱z測身份證信息并讀取內(nèi)容進行實名認證。未來,人們在線交易或簽署合同時,只需用手機掃描身份證即可完成身份驗證,隨后便可使用該身份進行交易、合同簽署,方便快捷的同時,安全性更是上升到更高層級。

NFC手機二代身份證閱讀開發(fā)說明

1、首先需要在AndroidManifest.xml文件中進行權(quán)限配置,我們需要手機上網(wǎng)和打開NFC功能的權(quán)限。


   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
    </uses-permission>
    <uses-permission android:name="android.permission.INTERNET" >
    </uses-permission>
   <uses-permission android:name="android.permission.NFC" />
<uses-feature
        android:name="android.hardware.nfc"
        android:required="true" />


2、在Android NFC手機二代身份證閱讀工程中建立一個libs文件夾并導(dǎo)入.so庫文件,我們提供了包括,arm64-v8a、armeabi、armeabi-v7a、mips、mips64、x86、x86_64等一系列的庫文件,開發(fā)者可以根據(jù)自己項目需求,選擇性的導(dǎo)入.so庫文件。

3、定義二代身份證閱讀過程中的關(guān)鍵參數(shù),如:姓名,性別,地址等。參數(shù)定義如下:

package cc.lotuscard;
public class TwoIdInfoParam {
	public TwoIdInfoParam()
	{
		arrTwoIdName = new byte[30];
		arrTwoIdSex = new byte[2];
		arrTwoIdNation = new byte[4];
		arrTwoIdBirthday = new byte[16];
		arrTwoIdAddress = new byte[70];
		arrTwoIdNo = new byte[36];
		arrTwoIdSignedDepartment = new byte[30];
		arrTwoIdValidityPeriodBegin = new byte[16];
		arrTwoIdValidityPeriodEnd = new byte[16];
		arrTwoIdNewAddress = new byte[70];
		arrTwoIdPhoto = new byte[1024];
		arrTwoIdFingerprint = new byte[1024];
		arrTwoIdPhotoJpeg = new byte[4096];
	}
	
	/**
	 * 姓名 UNICODE
	 */
	public byte[] arrTwoIdName;
	/**
	 * 性別 UNICODE
	 */
	public byte[] arrTwoIdSex;
	/**
	 * 民族 UNICODE
	 */
	public byte[] arrTwoIdNation;
	/**
	 * 出生日期 UNICODE YYYYMMDD
	 */
	public byte[] arrTwoIdBirthday;
	/**
	 * 住址 UNICODE
	 */
	public byte[] arrTwoIdAddress;
	/**
	 * 身份證號碼 UNICODE
	 */
	public byte[] arrTwoIdNo;
	/**
	 * 簽發(fā)機關(guān) UNICODE
	 */
	public byte[] arrTwoIdSignedDepartment;
	/**
	 * 有效期起始日期 UNICODE YYYYMMDD
	 */
	public byte[] arrTwoIdValidityPeriodBegin;
	/**
	 * 有效期截止日期 UNICODE YYYYMMDD 有效期為長期時存儲“長期”
	 */
	public byte[] arrTwoIdValidityPeriodEnd;
	/**
	 * 最新住址 UNICODE
	 */
	public byte[] arrTwoIdNewAddress;
	/**
	 * 照片信息
	 */
	public byte[] arrTwoIdPhoto;
	/**
	 * 指紋信息
	 */
	public byte[] arrTwoIdFingerprint;
	/**
	 * 照片信息 JPEG 格式
	 */
	public byte[] arrTwoIdPhotoJpeg;
	/**
	 * 照片信息長度 JPEG格式
	 */
	public int unTwoIdPhotoJpegLength;
}

注意,NFC手機二代身份證閱讀開發(fā)過程中,建立項目的時候,包名必須要遵循以下格式,否則無法編譯通過。

package cc.lotuscard;


4、創(chuàng)建一個Activity來實現(xiàn)NFC手機二代身份證閱讀的功能。實現(xiàn)代碼如下:


package cn.highwillow.iddemo;
import android.Manifest;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.hardware.usb.UsbDevice;
import android.hardware.usb.UsbDeviceConnection;
import android.hardware.usb.UsbEndpoint;
import android.hardware.usb.UsbInterface;
import android.hardware.usb.UsbManager;
import android.net.DhcpInfo;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.nfc.NfcAdapter;
import android.nfc.Tag;
import android.nfc.tech.IsoDep;
import android.nfc.tech.MifareClassic;
import android.nfc.tech.Ndef;
import android.nfc.tech.NfcA;
import android.nfc.tech.NfcB;
import android.os.Parcelable;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import android.os.Build.VERSION;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.io.Reader;
import java.io.UnsupportedEncodingException;
import java.net.InetAddress;
import java.net.MalformedURLException;
import java.net.NetworkInterface;
import java.text.SimpleDateFormat;
import java.sql.Date;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import cc.lotuscard.ILotusCallBack;
import cc.lotuscard.LotusCardDriver;
import cc.lotuscard.LotusCardParam;
import cc.lotuscard.TwoIdInfoParam;
//import static GuoTeng.GtTermb.Wlt2Bmp2;
import static cc.lotuscard.LotusCardDriver.isZero;
public class MainActivity extends AppCompatActivity implements ILotusCallBack {
    private static final int REQUEST_READ_PHONE_STATE = 0; // 請求碼
    private UsbDeviceConnection m_UsbDeviceConnection = null;
    private UsbEndpoint m_InEndpoint = null;
    private UsbEndpoint m_OutEndpoint = null;
    private final static char[] HEX = {'0', '1', '2', '3', '4', '5', '6', '7',
            '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
    private LotusCardDriver mLotusCardDriver;
    private NfcAdapter m_NfcAdpater;
    private PendingIntent pendingIntent;
    private IntentFilter[] mFilters;
    private String[][] mTechLists;
    private Handler m_Handler = null;
    private EditText m_edtLog;
    private TextView m_txtCommandIndex;
    private ImageView m_imgIdPhoto;
    private Activity m_MainActivity = null;
    private UsbManager m_UsbManager = null;
    private UsbDevice m_LotusCardDevice = null;
    private UsbInterface m_LotusCardInterface = null;
    private UsbDeviceConnection m_LotusCardDeviceConnection = null;
    private final int m_nVID = 1306;
    private final int m_nPID = 20763;
    private static final String ACTION_USB_PERMISSION = "com.android.example.USB_PERMISSION";
    private Boolean m_bUseUsbHostApi = true;
    private Boolean m_bCanUseUsbHostApi = true;
    private String m_strDeviceNode;
    private long m_nDeviceHandle = -1;
    private int m_nSystemVersion = -1;
    private int m_nCommandInex = 0;
    private static final String Activity_TAG = "IdDemo";
    private EditText m_edtPostCode = null;
    private EditText m_edtAccoutCode = null;
    private EditText m_edtUserPassword = null;
    private void requestPermission() {
        List<String> permissionsNeeded = new ArrayList<>();
        if (ContextCompat.checkSelfPermission(this,
                Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED) {
            permissionsNeeded.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
        }
        if (ContextCompat.checkSelfPermission(this,
                Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED) {
            permissionsNeeded.add(Manifest.permission.READ_EXTERNAL_STORAGE);
        }
        if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) ==
                PackageManager.PERMISSION_DENIED) {
            permissionsNeeded.add(Manifest.permission.CAMERA);
        }
        if (permissionsNeeded.size() > 0) {
            ActivityCompat.requestPermissions(this, permissionsNeeded.toArray(new
                    String[permissionsNeeded.size()]), 1);
        }
    }
    @Override
    public void onRequestPermissionsResult(int requestCode, String permissions[], int
            [] grantResults) {
        switch (requestCode) {
            case 1: {
                boolean allowed = true;
                if (grantResults.length > 0) {
                    for (int i = 0; i < grantResults.length; i++) {
                        if (grantResults[i] == PackageManager.PERMISSION_GRANTED) {
                            //Timber.e("case 1權(quán)限沒有打開");
                            AddLog(permissions[i] + "打開");
                        } else {
                            //Timber.e("case 1權(quán)限沒有");
                            AddLog(permissions[i] + "關(guān)閉");
                            allowed = false;
                            break;
                        }
                    }
                }
                if (!allowed) {
                    //O TODO  自定義處理
                    //dialog();
                    //Timber.e("case 1自定義處理");
                }
                break;
            }
        }
    }
    /**
     * 獲取手機的MAC地址
     *
     * @return
     */
    public static String getMac() {
        String str = "";
        String macSerial = "";
        try {
            Process pp = Runtime.getRuntime().exec(
                    "cat /sys/class/net/wlan0/address ");
            InputStreamReader ir = new InputStreamReader(pp.getInputStream());
            LineNumberReader input = new LineNumberReader(ir);
            for (; null != str; ) {
                str = input.readLine();
                if (str != null) {
                    macSerial = str.trim();// 去空格
                    break;
                }
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        if (macSerial == null || "".equals(macSerial)) {
            try {
                return loadFileAsString("/sys/class/net/eth0/address")
                        .toUpperCase().substring(0, 17);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return macSerial;
    }
    public static String loadFileAsString(String fileName) throws Exception {
        FileReader reader = new FileReader(fileName);
        String text = loadReaderAsString(reader);
        reader.close();
        return text;
    }
    public static String loadReaderAsString(Reader reader) throws Exception {
        StringBuilder builder = new StringBuilder();
        char[] buffer = new char[4096];
        int readLength = reader.read(buffer);
        while (readLength >= 0) {
            builder.append(buffer, 0, readLength);
            readLength = reader.read(buffer);
        }
        return builder.toString();
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        m_MainActivity = this;
        try {
            m_NfcAdpater = NfcAdapter.getDefaultAdapter(this);
            if (m_NfcAdpater == null) {
                Toast.makeText(this, "Not Found NfcAdapter!", Toast.LENGTH_SHORT)
                        .show();
                // finish();
                // return;
            } else if (!m_NfcAdpater.isEnabled()) {
                Toast.makeText(this, "Please Enabled NfcAdapter",
                        Toast.LENGTH_SHORT).show();
                // finish();
                // return;
            }
        } catch (java.lang.NullPointerException e) {
            Toast.makeText(this, e.toString(),
                    Toast.LENGTH_SHORT).show();
        }
        m_edtLog = (EditText) findViewById(R.id.edtLog);
        m_imgIdPhoto = (ImageView) findViewById(R.id.imgIdPhoto);
        m_txtCommandIndex = (TextView) findViewById(R.id.txtCommandIndex);
        m_edtPostCode = (EditText) findViewById(R.id.edtPostCode);
        m_edtAccoutCode = (EditText) findViewById(R.id.edtAccountCode);
        m_edtUserPassword = (EditText) findViewById(R.id.edtUserPassword);
        pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this,
                getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
        IntentFilter ndef = new IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED);
        ndef.addCategory("*/*");
        mFilters = new IntentFilter[]{ndef};// 過濾器
        mTechLists = new String[][]{
                new String[]{MifareClassic.class.getName()},
                new String[]{NfcB.class.getName()},
                new String[]{IsoDep.class.getName()},
                new String[]{NfcA.class.getName()}};// 允許掃描的標簽類型
        // 設(shè)置USB讀寫回調(diào) 串口可以不用此操作
        m_bCanUseUsbHostApi = SetUsbCallBack();
        if (m_bCanUseUsbHostApi) {
            AddLog("Find  IC Reader!");
            AddLog("Device Node:" + m_strDeviceNode);
        } else {
            AddLog("Not Find  IC Reader!");
        }
        mLotusCardDriver = new LotusCardDriver();
        mLotusCardDriver.m_lotusCallBack = this;
        m_Handler = new Handler() {
            public void handleMessage(Message msg) {
                AddLog(msg.obj.toString());
                super.handleMessage(msg);
            }
        };
        int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE);
        if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_READ_PHONE_STATE);
        } else {
            //TODO
        }
        requestPermission();
        TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        String imsi = mTelephonyMgr.getSubscriberId();
        String imei = mTelephonyMgr.getDeviceId();
        //String tel = mTelephonyMgr.getLine1Number();
        String tel = mTelephonyMgr.getLine1Number();
        if (tel == null) tel = "";
        if (tel.equals("")) {
            tel = mTelephonyMgr.getSubscriberId();
        }
        if (tel == null) tel = "";
        String iccid = mTelephonyMgr.getSimSerialNumber();  //取出ICCID  }
    public static String int2ip(long ipInt) {
        StringBuilder sb = new StringBuilder();
        sb.append(ipInt & 0xFF).append(".");
        sb.append((ipInt >> 8) & 0xFF).append(".");
        sb.append((ipInt >> 16) & 0xFF).append(".");
        sb.append((ipInt >> 24) & 0xFF);
        return sb.toString();
    }
    public void OnClearLogListener(View arg0) {
        m_imgIdPhoto.setBackgroundColor(0);
        if (null == m_edtLog)
            return;
        m_edtLog.setText("");
    }
    public void OnIdOtgTestListener(View arg0) {
        if (m_nDeviceHandle == -1) {
            m_nDeviceHandle = mLotusCardDriver.OpenDevice("", 0, 0,
                    0, 0,// 使用內(nèi)部默認超時設(shè)置
                    true);
        }
        if (m_nDeviceHandle == -1) return;
        TwoIdInfoParam tTwoIdInfo = new TwoIdInfoParam();
        boolean bResult = false;
        int nResult = 0;
        boolean bWlDecodeResult = false;
        byte[] arrBmpAndWl = null;
        String temp;
        int nErrorCode = 0;
        LotusCardParam tLotusCardParam1 = new LotusCardParam();
        bResult = mLotusCardDriver.Beep(m_nDeviceHandle, 10);
        // bResult = mLotusCardDriver.Beep(nDeviceHandle, 10);
        if (!bResult) {
            AddLog("Call Beep Error!");
            return;
        }
        AddLog("Call Beep Ok!");
        bResult = mLotusCardDriver.SetCardType(m_nDeviceHandle, 'B');
        if (!bResult) {
            AddLog("Call SetCardType Error!");
            return;
        }
        //mLotusCardDriver.GetTwoGenerationIDCardNo(m_nDeviceHandle);
        AddLog("Call SetCardType Ok!");
        nResult = mLotusCardDriver.RequestB(m_nDeviceHandle,0, tLotusCardParam1);
        if(nResult== 0)
        {
            AddLog("Call RequestB Error!");
            return;
        }
        nResult = mLotusCardDriver.SelectB(m_nDeviceHandle, tLotusCardParam1);
        if(nResult== 0)
        {
            AddLog("Call SelectB Error!");
            return;
        }
        bResult = mLotusCardDriver.GetTwoIdInfoByMcuServer(this, null,
                m_nDeviceHandle, "samv.highwillow.cn", Integer.valueOf(m_edtAccoutCode.getText().toString()),
 
                m_edtUserPassword.getText().toString(),  tTwoIdInfo, Long.valueOf(m_edtPostCode.getText().toString()), 0, 2, true);
        if (!bResult) {
            nErrorCode = mLotusCardDriver.GetTwoIdErrorCode(m_nDeviceHandle);
            AddLog("Call GetTwoIdInfoByMcuServer Error! ErrorCode:" + nErrorCode);
            AddLog("ErrorInfo:" + mLotusCardDriver.GetIdErrorInfo(nErrorCode));
            return;
        }
        AddLog("Call GetTwoIdInfoByMcuServer Ok!");
        if (true == bResult) {
            // 姓名
            try {
                temp = new String(tTwoIdInfo.arrTwoIdName, 0, 30,
                        "UTF-16LE").trim();
                if (temp.equals("")) {
                    AddLog("數(shù)據(jù)為空");
                    return;
                }
                AddLog("姓名:" + temp);
                // 性別
                temp = new String(tTwoIdInfo.arrTwoIdSex, 0, 2,
                        "UTF-16LE").trim();
                if (temp.equals("1"))
                    temp = "男";
                else
                    temp = "女";
                AddLog("性別:" + temp);
                // 民族
                temp = new String(tTwoIdInfo.arrTwoIdNation, 0, 4,
                        "UTF-16LE").trim();
                try {
                    int code = Integer.parseInt(temp.toString());
                    temp = decodeNation(code);
                } catch (Exception e) {
                    temp = "";
                }
                AddLog("民族:" + temp);
                // 出生日期
                temp = new String(tTwoIdInfo.arrTwoIdBirthday, 0,
                        16, "UTF-16LE").trim();
                AddLog("出生日期:" + temp);
                // 住址
                temp = new String(tTwoIdInfo.arrTwoIdAddress, 0,
                        70, "UTF-16LE").trim();
                AddLog("住址:" + temp);
                // 身份證號碼
                temp = new String(tTwoIdInfo.arrTwoIdNo, 0, 36,
                        "UTF-16LE").trim();
                AddLog("身份證號碼:" + temp);
                // 簽發(fā)機關(guān)
                temp = new String(
                        tTwoIdInfo.arrTwoIdSignedDepartment, 0, 30,
                        "UTF-16LE").trim();
                AddLog("簽發(fā)機關(guān):" + temp);
                // 有效期起始日期
                temp = new String(
                        tTwoIdInfo.arrTwoIdValidityPeriodBegin, 0,
                        16, "UTF-16LE").trim();
                AddLog("有效期起始日期:" + temp);
                // 有效期截止日期 UNICODE YYYYMMDD 有效期為長期時存儲“長期”
                temp = new String(
                        tTwoIdInfo.arrTwoIdValidityPeriodEnd, 0,
                        16, "UTF-16LE").trim();
                AddLog("有效期截止日期:" + temp);
                if (tTwoIdInfo.unTwoIdPhotoJpegLength > 0) {
                    final Bitmap photo = BitmapFactory.decodeByteArray(
                            tTwoIdInfo.arrTwoIdPhotoJpeg, 0,
                            tTwoIdInfo.unTwoIdPhotoJpegLength);
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            m_imgIdPhoto.setBackgroundDrawable(new BitmapDrawable(photo));
                        }
                    });
                }  } catch (UnsupportedEncodingException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
        } else {
            AddLog("GetTwoIdInfoByMcuServer執(zhí)行失敗");
        }
    }
    public void AddLog(String strLog) {
        final String strText = strLog;
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                //SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
                //SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
                SimpleDateFormat formatter = new SimpleDateFormat("MM-dd HH:mm:ss:SSS");
                Date curDate = new Date(System.currentTimeMillis());// 獲取當(dāng)前時間
                String strDate = formatter.format(curDate);
                if (null == m_edtLog)
                    return;
                String strLogs = m_edtLog.getText().toString().trim();
                if (strLogs.equals("")) {
                    strLogs = strDate + " " + strText;
                } else {
                    strLogs += "\r\n" + strDate + " " + strText;
                }
                m_edtLog.setText(strLogs);
            }
        });
    }
    public void showCommandIndex(int nIndex) {
        final int nTmp = nIndex;
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                m_txtCommandIndex.setText("索引" + nTmp);
            }
        });
    }
    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        Log.i(Activity_TAG, "This is Information");
        if (m_NfcAdpater != null) {
            m_NfcAdpater.enableForegroundDispatch(this, pendingIntent, mFilters,
                    mTechLists);
            enableReaderMode();
        }
    }
    @Override
    protected void onPause() {
        super.onPause();
        if (m_NfcAdpater != null) {
            m_NfcAdpater.disableForegroundDispatch(this);
            disableReaderMode();
        }
    }
    @TargetApi(19)
    private void enableReaderMode() {
        if (m_nSystemVersion < 19)
            return;
        Bundle options = new Bundle();
        options.putInt(NfcAdapter.EXTRA_READER_PRESENCE_CHECK_DELAY, 5000);
        //int READER_FLAGS = NfcAdapter.FLAG_READER_NFC_A | NfcAdapter.FLAG_READER_SKIP_NDEF_CHECK;
        int READER_FLAGS = NfcAdapter.FLAG_READER_NFC_A | NfcAdapter.FLAG_READER_NFC_B | NfcAdapter.FLAG_READER_SKIP_NDEF_CHECK;
        if (m_NfcAdpater != null) {
            m_NfcAdpater.enableReaderMode(this, new IdReaderCallback(), READER_FLAGS, options);
        }
    }
    @TargetApi(19)
    public class IdReaderCallback implements NfcAdapter.ReaderCallback {
        @Override
        public void onTagDiscovered(Tag tag) {
            boolean bResult = false;
            boolean bWlDecodeResult = false;
            String temp;
            int nErrorCode = 0;
            byte[] arrBmpBuffer = new byte[38862];
            NfcB nfcbId = NfcB.get(tag);
            byte[] arrRequest = new byte[3];
            byte[] arrSelect = new byte[9];
            byte[] arrResult;
            //byte[] arrBmpAndWl = null;
            arrRequest[0] = (byte) 0x5;
            arrRequest[1] = (byte) 0x0;
            arrRequest[2] = (byte) 0x0;
            arrSelect[0] = (byte) 0x1D;//1D 00 00 00 00 00 08 01 08
            arrSelect[1] = (byte) 0x0;
            arrSelect[2] = (byte) 0x0;
            arrSelect[3] = (byte) 0x0;
            arrSelect[4] = (byte) 0x0;
            arrSelect[5] = (byte) 0x0;
            arrSelect[6] = (byte) 0x8;
            arrSelect[7] = (byte) 0x1;
            arrSelect[8] = (byte) 0x8;
            if (nfcbId != null) {
                try {
                    nfcbId.connect();
                    if (nfcbId.isConnected())
                        AddLog("connect");
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                if (nfcbId.isConnected()) {
                    TwoIdInfoParam tTwoIdInfo = new TwoIdInfoParam();
                    try {
                        arrResult = nfcbId.transceive(arrRequest);
                        AddLog("length" + arrResult.length);
                        arrResult = nfcbId.transceive(arrSelect);
                        AddLog("length" + arrResult.length);
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    if (m_nDeviceHandle == -1) {
                        m_nDeviceHandle = mLotusCardDriver.OpenDevice("", 0, 0,
                                0, 0,// 使用內(nèi)部默認超時設(shè)置
                                true);
                    }
                    m_nCommandInex = 0;
                    bResult = mLotusCardDriver.GetTwoIdInfoByMcuServer(m_MainActivity, nfcbId,
                            m_nDeviceHandle, "samv.highwillow.cn", Integer.valueOf(m_edtAccoutCode.getText().toString()),
                            //m_nDeviceHandle, "192.168.1.21", 99999,
                            m_edtUserPassword.getText().toString(), tTwoIdInfo, Long.valueOf(m_edtPostCode.getText().toString()), 0, 3, false);
                    if (!bResult) {
                        nErrorCode = mLotusCardDriver.GetTwoIdErrorCode(m_nDeviceHandle);
                        AddLog("Call GetTwoIdInfoByMcuServer Error! ErrorCode:" + nErrorCode);
                        AddLog("ErrorInfo:" + mLotusCardDriver.GetIdErrorInfo(nErrorCode));
                        return;
                    }
                    AddLog("Call GetTwoIdInfoByMcuServer Ok!");
                    if (true == bResult) {
                        // 姓名
                        try {
                            temp = new String(tTwoIdInfo.arrTwoIdName, 0, 30,
                                    "UTF-16LE").trim();
                            if (temp.equals("")) {
                                AddLog("數(shù)據(jù)為空");
                                return;
                            }
                            AddLog("姓名:" + temp);
                            // 性別
                            temp = new String(tTwoIdInfo.arrTwoIdSex, 0, 2,
                                    "UTF-16LE").trim();
                            if (temp.equals("1"))
                                temp = "男";
                            else
                                temp = "女";
                            AddLog("性別:" + temp);
                            // 民族
                            temp = new String(tTwoIdInfo.arrTwoIdNation, 0, 4,
                                    "UTF-16LE").trim();
                            try {
                                int code = Integer.parseInt(temp.toString());
                                temp = decodeNation(code);
                            } catch (Exception e) {
                                temp = "";
                            }
                            AddLog("民族:" + temp);
                            // 出生日期
                            temp = new String(tTwoIdInfo.arrTwoIdBirthday, 0,
                                    16, "UTF-16LE").trim();
                            AddLog("出生日期:" + temp);
                            // 住址
                            temp = new String(tTwoIdInfo.arrTwoIdAddress, 0,
                                    70, "UTF-16LE").trim();
                            AddLog("住址:" + temp);
                            // 身份證號碼
                            temp = new String(tTwoIdInfo.arrTwoIdNo, 0, 36,
                                    "UTF-16LE").trim();
                            AddLog("身份證號碼:" + temp);
                            // 簽發(fā)機關(guān)
                            temp = new String(
                                    tTwoIdInfo.arrTwoIdSignedDepartment, 0, 30,
                                    "UTF-16LE").trim();
                            AddLog("簽發(fā)機關(guān):" + temp);
                            // 有效期起始日期
                            temp = new String(
                                    tTwoIdInfo.arrTwoIdValidityPeriodBegin, 0,
                                    16, "UTF-16LE").trim();
                            AddLog("有效期起始日期:" + temp);
                            // 有效期截止日期 UNICODE YYYYMMDD 有效期為長期時存儲“長期”
                            temp = new String(
                                    tTwoIdInfo.arrTwoIdValidityPeriodEnd, 0,
                                    16, "UTF-16LE").trim();
                            AddLog("有效期截止日期:" + temp);
                            //顯示JPEG
                            //顯示BMP
                            if(true == mLotusCardDriver.GetIdPhotoBmpBuffer(m_nDeviceHandle,arrBmpBuffer)) {
                                final Bitmap photo = BitmapFactory.decodeByteArray(
                                        arrBmpBuffer, 0,
                                        38862);
                                runOnUiThread(new Runnable() {
                                    @Override
                                    public void run() {
                                        m_imgIdPhoto.setBackgroundDrawable(new BitmapDrawable(photo));
                                    }
                                });
                            }
                        } catch (UnsupportedEncodingException e1) {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                        }
                    } else {
                        AddLog("GetTwoIdInfoByMcuServer執(zhí)行失敗");
                    }
                }
            }
        }
    }
    @TargetApi(19)
    private void disableReaderMode() {
        if (m_nSystemVersion < 19)
            return;
        if (m_NfcAdpater != null) {
            m_NfcAdpater.disableReaderMode(this);
        }
    }
    //@Override
    protected void onNewIntent(Intent intent) {
        // TODO Auto-generated method stub
        super.onNewIntent(intent);
        boolean bResult = false;
        boolean bWlDecodeResult = false;
        String temp;
        int nErrorCode = 0;
        Log.d(Activity_TAG, intent.getAction());
        Log.i(Activity_TAG, "onNewIntent");
        if (m_nSystemVersion >= 19)
            return;
        if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(intent.getAction())) {
            Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
            NfcB nfcbId = NfcB.get(tagFromIntent);
            if (nfcbId != null) {
                try {
                    nfcbId.connect();
                    if (nfcbId.isConnected())
                        AddLog("connect");
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                if (nfcbId.isConnected()) {
                    TwoIdInfoParam tTwoIdInfo = new TwoIdInfoParam();
                    if (m_nDeviceHandle == -1) {
                        m_nDeviceHandle = mLotusCardDriver.OpenDevice("", 0, 0,
                                0, 0,// 使用內(nèi)部默認超時設(shè)置
                                true);
                    }
                    bResult = mLotusCardDriver.GetTwoIdInfoByMcuServer(this, nfcbId,
                            m_nDeviceHandle, "samv.highwillow.cn", 99999,
                            "123456", tTwoIdInfo, 400000, 0, 2, false);
                    if (!bResult) {
                        nErrorCode = mLotusCardDriver.GetTwoIdErrorCode(m_nDeviceHandle);
                        AddLog("Call GetTwoIdInfoByMcuServer Error! ErrorCode:" + nErrorCode);
                        AddLog("ErrorInfo:" + mLotusCardDriver.GetIdErrorInfo(nErrorCode));
                        return;
                    }
                    AddLog("Call GetTwoIdInfoByMcuServer Ok!");
                    //處理照片
                    if (0x00 == tTwoIdInfo.unTwoIdPhotoJpegLength) {
                        bWlDecodeResult = mLotusCardDriver.WlDecodeByServer(m_nDeviceHandle, "119.29.18.30", tTwoIdInfo);
                        if (!bWlDecodeResult) {
                            AddLog("Call WlDecodeByServer Error! ");
                        } else {
                            AddLog("Call WlDecodeByServer Ok!");
                        }
                    }
                    if (true == bResult) {
                        // 姓名
                        try {
                            temp = new String(tTwoIdInfo.arrTwoIdName, 0, 30,
                                    "UTF-16LE").trim();
                            if (temp.equals("")) {
                                AddLog("數(shù)據(jù)為空");
                                return;
                            }
                            AddLog("姓名:" + temp);
                            // 性別
                            temp = new String(tTwoIdInfo.arrTwoIdSex, 0, 2,
                                    "UTF-16LE").trim();
                            if (temp.equals("1"))
                                temp = "男";
                            else
                                temp = "女";
                            AddLog("性別:" + temp);
                            // 民族
                            temp = new String(tTwoIdInfo.arrTwoIdNation, 0, 4,
                                    "UTF-16LE").trim();
                            try {
                                int code = Integer.parseInt(temp.toString());
                                temp = decodeNation(code);
                            } catch (Exception e) {
                                temp = "";
                            }
                            AddLog("民族:" + temp);
                            // 出生日期
                            temp = new String(tTwoIdInfo.arrTwoIdBirthday, 0,
                                    16, "UTF-16LE").trim();
                            AddLog("出生日期:" + temp);
                            // 住址
                            temp = new String(tTwoIdInfo.arrTwoIdAddress, 0,
                                    70, "UTF-16LE").trim();
                            AddLog("住址:" + temp);
                            // 身份證號碼
                            temp = new String(tTwoIdInfo.arrTwoIdNo, 0, 36,
                                    "UTF-16LE").trim();
                            AddLog("身份證號碼:" + temp);
                            // 簽發(fā)機關(guān)
                            temp = new String(
                                    tTwoIdInfo.arrTwoIdSignedDepartment, 0, 30,
                                    "UTF-16LE").trim();
                            AddLog("簽發(fā)機關(guān):" + temp);
                            // 有效期起始日期
                            temp = new String(
                                    tTwoIdInfo.arrTwoIdValidityPeriodBegin, 0,
                                    16, "UTF-16LE").trim();
                            AddLog("有效期起始日期:" + temp);
                            // 有效期截止日期 UNICODE YYYYMMDD 有效期為長期時存儲“長期”
                            temp = new String(
                                    tTwoIdInfo.arrTwoIdValidityPeriodEnd, 0,
                                    16, "UTF-16LE").trim();
                            AddLog("有效期截止日期:" + temp);
                            if (tTwoIdInfo.unTwoIdPhotoJpegLength > 0) {
                                Bitmap photo = BitmapFactory.decodeByteArray(
                                        tTwoIdInfo.arrTwoIdPhotoJpeg, 0,
                                        tTwoIdInfo.unTwoIdPhotoJpegLength);
                                m_imgIdPhoto.setBackgroundDrawable(new BitmapDrawable(photo));
                            }
                        } catch (UnsupportedEncodingException e1) {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                        }
                    } else {
                        AddLog("GetTwoIdInfoByMcuServer執(zhí)行失敗");
                    }
                }
            }
        }
    }
    private String decodeNation(int code) {
        String nation;
        switch (code) {
            case 1:
                nation = "漢";
                break;
            case 2:
                nation = "蒙古";
                break;
            case 3:
                nation = "回";
                break;
            case 4:
                nation = "藏";
                break;
            case 5:
                nation = "維吾爾";
                break;
            case 6:
                nation = "苗";
                break;
            case 7:
                nation = "彝";
                break;
            case 8:
                nation = "壯";
                break;
            case 9:
                nation = "布依";
                break;
            case 10:
                nation = "朝鮮";
                break;
            case 11:
                nation = "滿";
                break;
            case 12:
                nation = "侗";
                break;
            case 13:
                nation = "瑤";
                break;
            case 14:
                nation = "白";
                break;
            case 15:
                nation = "土家";
                break;
            case 16:
                nation = "哈尼";
                break;
            case 17:
                nation = "哈薩克";
                break;
            case 18:
                nation = "傣";
                break;
            case 19:
                nation = "黎";
                break;
            case 20:
                nation = "傈僳";
                break;
            case 21:
                nation = "佤";
                break;
            case 22:
                nation = "畬";
                break;
            case 23:
                nation = "高山";
                break;
            case 24:
                nation = "拉祜";
                break;
            case 25:
                nation = "水";
                break;
            case 26:
                nation = "東鄉(xiāng)";
                break;
            case 27:
                nation = "納西";
                break;
            case 28:
                nation = "景頗";
                break;
            case 29:
                nation = "柯爾克孜";
                break;
            case 30:
                nation = "土";
                break;
            case 31:
                nation = "達斡爾";
                break;
            case 32:
                nation = "仫佬";
                break;
            case 33:
                nation = "羌";
                break;
            case 34:
                nation = "布朗";
                break;
            case 35:
                nation = "撒拉";
                break;
            case 36:
                nation = "毛南";
                break;
            case 37:
                nation = "仡佬";
                break;
            case 38:
                nation = "錫伯";
                break;
            case 39:
                nation = "阿昌";
                break;
            case 40:
                nation = "普米";
                break;
            case 41:
                nation = "塔吉克";
                break;
            case 42:
                nation = "怒";
                break;
            case 43:
                nation = "烏孜別克";
                break;
            case 44:
                nation = "俄羅斯";
                break;
            case 45:
                nation = "鄂溫克";
                break;
            case 46:
                nation = "德昂";
                break;
            case 47:
                nation = "保安";
                break;
            case 48:
                nation = "裕固";
                break;
            case 49:
                nation = "京";
                break;
            case 50:
                nation = "塔塔爾";
                break;
            case 51:
                nation = "獨龍";
                break;
            case 52:
                nation = "鄂倫春";
                break;
            case 53:
                nation = "赫哲";
                break;
            case 54:
                nation = "門巴";
                break;
            case 55:
                nation = "珞巴";
                break;
            case 56:
                nation = "基諾";
                break;
            case 97:
                nation = "其他";
                break;
            case 98:
                nation = "外國血統(tǒng)中國籍人士";
                break;
            default:
                nation = "";
        }
        return nation;
    }
    public String toHexString(byte[] d, int s, int n) {
        final char[] ret = new char[n * 2];
        final int e = s + n;
        int x = 0;
        for (int i = s; i < e; ++i) {
            final byte v = d[i];
            ret[x++] = HEX[0x0F & (v >> 4)];
            ret[x++] = HEX[0x0F & v];
        }
        return new String(ret);
    }
    public String toHexStringR(byte[] d, int s, int n) {
        final char[] ret = new char[n * 2];
        int x = 0;
        for (int i = s + n - 1; i >= s; --i) {
            final byte v = d[i];
            ret[x++] = HEX[0x0F & (v >> 4)];
            ret[x++] = HEX[0x0F & v];
        }
        return new String(ret);
    }
    public boolean callBackExtendIdDeviceProcess(Object objUser,
                                                 byte[] arrBuffer) {
        // TODO Auto-generated method stub
        boolean bResult = false;
        NfcB nfcbId = (NfcB) objUser;
        if (null == nfcbId)
            return false;
        byte[] arrCommnad = new byte[arrBuffer[0]];
        System.arraycopy(arrBuffer, 1, arrCommnad, 0, arrBuffer[0]);
        //AddLog("執(zhí)行指令"+arrCommnad.length);
        m_nCommandInex++;
        showCommandIndex(m_nCommandInex);
        try {
            //Log.i("LOTUS_CARD_DRIVER","Send   "+toHexString(arrCommnad, 0, arrCommnad.length));
            byte[] arrResult = nfcbId.transceive(arrCommnad);
            //Log.i("LOTUS_CARD_DRIVER","Receive "+toHexString(arrResult, 0, arrResult.length));
            if (LotusCardDriver.isZero(arrResult)) {
                AddLog("讀取卡片數(shù)據(jù)全部為0");
            } else {
                if (arrResult.length > 2) {
                    if (((byte) 0x90 == arrResult[arrResult.length - 3]) &&
                            ((byte) 0x00 == arrResult[arrResult.length - 2]) &&
                            ((byte) 0x00 == arrResult[arrResult.length - 1])) {
                        arrBuffer[0] = (byte) (arrResult.length - 1);
                    } else {
                        arrBuffer[0] = (byte) (arrResult.length);
                    }
                } else {
                    arrBuffer[0] = (byte) (arrResult.length);
                }
                System.arraycopy(arrResult, 0, arrBuffer, 1, arrBuffer[0]);
                bResult = true;
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            AddLog(e.getMessage());
        }
        return bResult;
    }
    private Boolean SetUsbCallBack() {
        Boolean bResult = false;
        PendingIntent pendingIntent;
        pendingIntent = PendingIntent.getBroadcast(this, 0, new Intent(
                ACTION_USB_PERMISSION), 0);
        m_UsbManager = (UsbManager) getSystemService(USB_SERVICE);
        if (null == m_UsbManager)
            return bResult;
        HashMap<String, UsbDevice> deviceList = m_UsbManager.getDeviceList();
        if (!deviceList.isEmpty()) {
            for (UsbDevice device : deviceList.values()) {
                if ((m_nVID == device.getVendorId())
                        && (m_nPID == device.getProductId())) {
                    m_LotusCardDevice = device;
                    m_strDeviceNode = m_LotusCardDevice.getDeviceName();
                    break;
                }
            }
        }
        if (null == m_LotusCardDevice)
            return bResult;
        m_LotusCardInterface = m_LotusCardDevice.getInterface(0);
        if (null == m_LotusCardInterface)
            return bResult;
        if (false == m_UsbManager.hasPermission(m_LotusCardDevice)) {
            m_UsbManager.requestPermission(m_LotusCardDevice, pendingIntent);
        }
        UsbDeviceConnection conn = null;
        if (m_UsbManager.hasPermission(m_LotusCardDevice)) {
            conn = m_UsbManager.openDevice(m_LotusCardDevice);
        }
        if (null == conn)
            return bResult;
        if (conn.claimInterface(m_LotusCardInterface, true)) {
            m_LotusCardDeviceConnection = conn;
        } else {
            conn.close();
        }
        if (null == m_LotusCardDeviceConnection)
            return bResult;
        // 把上面獲取的對性設(shè)置到接口中用于回調(diào)操作
        m_UsbDeviceConnection = m_LotusCardDeviceConnection;
        if (m_LotusCardInterface.getEndpoint(1) != null) {
            m_OutEndpoint = m_LotusCardInterface.getEndpoint(1);
        }
        if (m_LotusCardInterface.getEndpoint(0) != null) {
            m_InEndpoint = m_LotusCardInterface.getEndpoint(0);
        }
        bResult = true;
        return bResult;
    }
    @Override
    public boolean callBackReadWriteProcess(long nDeviceHandle, boolean bRead, byte[] arrBuffer) {
        int nResult = 0;
        boolean bResult = false;
        int nBufferLength = arrBuffer.length;
        int nWaitCount = 0;
        if (null == m_UsbDeviceConnection)
            return false;
        if (null == m_OutEndpoint)
            return false;
        if (null == m_InEndpoint)
            return false;
        //AddLog("callBackReadWriteProcess nBufferLength:" + nBufferLength);
        if (nBufferLength < 65)
            return false;
        if (true == bRead) {
            arrBuffer[0] = 0;
            while (true) {
                nResult = m_UsbDeviceConnection.bulkTransfer(m_InEndpoint,
                        arrBuffer, 64, 5000);
                if (nResult <= 0)
                    break;
                if (arrBuffer[0] != 0) {
                    //此處調(diào)整一下
                    System.arraycopy(arrBuffer, 0, arrBuffer, 1, nResult);
                    arrBuffer[0] = (byte) nResult;
                    break;
                }
                nWaitCount++;
                if (nWaitCount > 1000)
                    break;
            }
            if (nResult < 64) AddLog("m_InEndpoint bulkTransfer Read:" + nResult);
            if (nResult == 64) {
                bResult = true;
            } else {
                bResult = false;
            }
        } else {
            nResult = m_UsbDeviceConnection.bulkTransfer(m_OutEndpoint,
                    arrBuffer, 64, 3000);
            //AddLog("m_OutEndpoint bulkTransfer Write:"+nResult);
            if (nResult == 64) {
                bResult = true;
                //AddLog("m_OutEndpoint bulkTransfer Write Ok!");
            } else {
                bResult = false;
            }
        }
        return bResult;
    }
}

注意:以下兩個文本框需要輸入并獲取正確的用戶名和密碼才能接入解析服務(wù)器。


  m_nDeviceHandle, "samv.highwillow.cn", Integer.valueOf(m_edtAccoutCode.getText().toString()),
  m_edtUserPassword.getText().toString(),  tTwoIdInfo, Long.valueOf(m_edtPostCode.getText().toString()), 0, 2, true);


以上內(nèi)容是關(guān)于NFC手機二代身份證閱讀開發(fā)說明,僅供參考!

發(fā)表評論
評論通過審核后顯示。
熱門文章推薦
關(guān)于PSAM卡、SAM卡、SIM卡的特征和區(qū)別 2019-03-22 由于人們對PSAM卡、SAM卡、SIM卡的概念理解不到位加之很少仔細的對PSAM卡、SAM卡、SIM卡實物進行區(qū)別,容易將PSAM卡、SAM卡、SIM卡混為一談。諾塔斯智能科技就PSAM卡、SAM卡、SIM卡三者特征和作用進行介紹,幫助大家對PSAM卡、SAM卡、SIM卡進行深刻的認識和區(qū)分。
M1卡常見問題和處理方法 2019-02-21 M1卡是恩智浦出品的芯片縮寫,全稱為NXP Mifare1系列,常用的有S50及S70兩種型號,截止到2013年11月4日,已經(jīng)有國產(chǎn)芯片與其兼容,利用PVC封裝M1芯片、感應(yīng)天線,然后壓制成型后而制作的卡即是智能卡行業(yè)所說的M1卡。M1卡的優(yōu)點是可讀可寫的多功能卡,缺點是:價格稍貴,感應(yīng)距離短,目前適合非定額消費系統(tǒng)、停車場系統(tǒng)、門禁考勤系統(tǒng)等,目前應(yīng)用最廣泛的非接觸式IC卡。
NFC數(shù)據(jù)交換格式(NDEF)規(guī)范 2019-05-28 為實現(xiàn)標簽和NFC設(shè)備,及NFC設(shè)備之間的交互通信,NFC論壇定義了稱為NFC數(shù)據(jù)交換格式(NDEF)的通用數(shù)據(jù)格式。 NDEF是輕量級的緊湊的二進制格式,可帶有URL,vCard和NFC定義的各種數(shù)據(jù)類型。
非接觸式IC卡(M1卡)區(qū)塊讀寫控制 2019-02-21 非接觸式IC卡系列中的Mifare One (M1卡)的優(yōu)點是可讀可寫的多功能卡,缺點是:價格稍貴,感應(yīng)距離短,目前適合非定額消費系統(tǒng)、停車場系統(tǒng)、門禁考勤系統(tǒng)等,目前應(yīng)用最廣泛的 非接觸式IC卡。諾塔斯智能科技專業(yè)從事非接觸式IC卡讀寫器的研發(fā)與銷售,為各行業(yè)用戶提供專業(yè)的IC卡系統(tǒng)解決方案。
聯(lián)系我們
聯(lián)系人: 張經(jīng)理
電話: 400-023-6659
傳真: 023-68798110
Email: 843718693@qq.com
QQ: 843718693
微信: Lotus-Smart
微博: lotusreader
旺旺: 諾塔斯智能科技有限公司
地址: 重慶市江北區(qū)宏帆路36號宏帆天地1棟6樓
  • 諾塔斯智能科技在線客服
    在線客服
  • 重慶諾塔斯智能科技有限公司微信公眾號
    關(guān)注微信
  • 諾塔斯智能科技網(wǎng)上商城
    網(wǎng)上商城
移動訪問
电影《强伦女教师2》 | 91精品国产综合久久久久久 | 在线成人 | 黄色一级片 | 欧美大片在线看免费观看 | 成人精品 | 成人a毛片| 精品视频一区二区三区 | 污视频在线免费观看 | 亚洲天堂 | 毛片无码一区二区三区a片视频 | 手机在线观看av | 免费三片60分钟 | www久久久| 免费爱爱视频 | 91视频在线看 | 欧美性派对 | 在线免费观看 | 午夜精品久久久久久久99老熟妇 | 国产伦精品一区二区三区妓女 | 国产欧美日韩综合精品一区二区三区 | 91蜜桃婷婷狠狠久久综合9色 | 激情五月综合 | 一区二区三区视频在线观看 | 亚洲一区在线视频 | 高清乱码免费看污 | 久久精品在线观看 | 色欲av无码一区二区三区 | 成人在线免费 | 国产在线麻豆精品观看 | 国产一区二区三区免费播放 | 91丝袜一区二区三区 | 在线观看免费视频 | 成人精品视频在线观看 | 国产高清一区 | 黑巨茎大战欧美白妞 | 国产精品久久久久久 | 国产一区| 韩国伦理片在线观看 | 神马午夜精品95 | 国产一区二区精品 | 人妻熟女一区二区三区 | 人妻在客厅被c的呻吟 | 韩国《漂亮的女邻居3》 | 国产精品一区在线观看 | 阿姨免费高清在线电视剧观看 | 天天看天天爽 | 成人福利视频 | 被室友玩屁股眼子h男男 | 99re在线 | 精品蜜桃一区二区三区 | 国产激情视频 | 欧美肥老妇| 91av在线播放 | 日韩a级片 | 欧美性生活 | 嫩草视频在线观看 | 国产一区二区视频在线观看 | 草莓污视频 | 蜜桃传媒 | 久久久精品 | 今天高清视频在线观看 | 打屁股sp惩罚调教视频 | 四虎在线视频 | 中国熟老太另类 | 国产一区在线播放 | 国产一区| 天天草天天干 | 人人精品 | 四虎免费视频 | 在线播放你懂的 | 午夜免费视频 | 日韩精品在线播放 | 91在线观看免费高清完整版在线观看 | 久久黄色网 | 成人黄色网 | 无人高清电影电视剧在线观看免费 | 国产精品无码一区二区三区免费 | 欧美激情视频一区二区三区不卡 | 欧美精品在线播放 | 亚洲免费网站 | 爱爱免费视频 | 黄色免费网站 | 色姑娘综合网 | 成人a毛片 | 国产精品揄拍一区二区 | 欧美伊人 | 国产精品综合 | 操女人的逼 | 香蕉视频在线看 | 国产成人在线观看免费网站 | 大美女100%露出奶 | h片在线观看 | 在线播放你懂的 | h片在线观看 | 久久精品网 | 久久成人精品 | 黄色片视频 | 国精产品乱码一区一区三区四区 | 欧美大逼 | 欧美精品在线播放 | 91免费观看网站 | 国内老熟妇对白xxxxhd | 三上悠亚在线播放 | 嫩草视频在线观看 | 九九热在线观看 | 漂亮的护士伦理hd中文 | 国产视频二区 | 五月天婷婷丁香 | 黄色激情小说 | 美女被爆操 | 亚洲激情网站 | 精品久久久久久久 | 扒开伸进免费视频 | 天堂中文在线资源 | 这里有精品 | 精品日韩| 久久久久亚洲av成人无码电影 | 男人操女人逼 | 天堂在线观看 | 久久视频在线观看 | 久久久精品国产 | 成人在线网站 | 女人天堂网 | 国产69精品久久久久久 | 国产精品一区在线观看 | 国产综合视频 | 淫话……粗话……脏话小说 | 波多野结衣在线观看 | 久久激情网 | 欧美激情视频一区二区三区不卡 | 中文字幕一区二区三区四区 | 久久精品影视 | 国产区在线观看 | 爱情交叉点 | 欧美在线播放 | 在线观看国产免费视频 | 欧美一区二区三区在线观看 | 香蕉成视频人app下载安装 | 双性少爷挨脔日常h惩罚h动漫 | 超碰在线免费 | 男人资源站 | 青青操在线视频 | 欧美一区二区三区在线 | 91免费看片| 九九av| 久久久91| 日韩av一区二区三区 | 国产一区二区在线视频 | 天天操天天操天天操 | 亚洲视频在线观看 | 一区二区三区精品 | 欧美视频一区二区 | 亚洲不卡 | 黄色片视频 | 中文字字幕一区二区三区四区五区 | 爱情交叉点| 欧美一级在线观看 | 人人妻人人澡人人爽久久av | 日韩a级片 | 一级性爱视频 | 天天躁日日躁狠狠很躁 | 免费观看毛片 | 成人免费在线视频 | 日日爽| 午夜免费 | 九九免费视频 | 国产精品吴梦梦 | 水多多| 激情五月综合网 | 久久在线视频 | 国产视频久久 | 91视频网址| 97在线观看 | 国产一区二区 | 波多野つ上司出差被中在线出 | 视频在线观看 | 国产精品www | 国产三级电影 | 黄色特级片 | 香蕉污视频 | 美女被c | 狠狠操狠狠操 | 好大好紧好硬好硬口述 | 免费毛片视频 | 韩国《漂亮的女邻居3》 | 97超碰人人 | 欧美日韩成人 | 一区二区三区在线播放 | 999国产精品 | 亚洲欧美精品 | 午夜精品一区二区三区在线视频 | 亚洲欧美在线观看 | 亚洲福利 | 亚洲一区av| 久久久一区二区 | 国产一区二区视频在线观看 | 日韩一区二区三区在线观看 | 久久久久久久久久久久久久久久久久久久 | 蜜臀99久久精品久久久久久软件 | 久久国产电影 | 五月婷婷丁香 | 成年人在线视频 | 特黄老太婆aa毛毛片 | 午夜精品一区二区三区在线视频 | 亚洲天堂影院 | 羞羞色院91蜜桃 | 亚洲激情图片 | 中文字幕日韩人妻在线视频 | 国产视频网 | 欧美一区视频 | 一级片在线播放 | 亚洲欧美精品 | 久久精品亚洲 | 欧美视频一区 | 国产a级片 | 无码人妻精品一区二区 | 日韩毛片 | 日韩在线一区二区 | 亚洲午夜精品久久久久久app | 日本爱爱视频 | 国产高清一区二区 | 激情五月综合网 | 亚洲综合激情五月久久 | 中文字幕在线免费看 | 日韩一区二区三区在线观看 | 午夜精品久久久久久久99黑人 | 禁欲总裁被揉裆呻吟故事动漫 | 天天干天天草 | 国产精品久久久久久久久久 | 成全世界免费高清观看 | 中文一区二区 | 免费观看av | 日本三级片在线观看 | 久久黄色网 | 嫩草嫩草嫩草 | 亚洲精品一二三区 | www.久久久| 波多野结衣在线电影 | 欧美精产国品一二三产品特点 | 亚洲高清av | 天堂va蜜桃一区二区三区 | 欧美肥婆猛交 | 天天插天天干 | 第一福利视频 | 久久久久国产精品 | 精品欧美一区二区三区 | 亚洲精品久久久久久 | 免费在线 | 国产黄色大片 | 免费网站观看www在线观 | www.午夜 | 欧美日韩国产一区二区三区 | 69视频在线观看 | 男女激情网站 | 亚洲播播 | 91精品国产综合久久久久久 | 在线成人av | 亚洲天堂| 欧美一二三 | 久久久久久久久久久久久久久久久 | 邻居校草天天肉我h1v1 | 伊人久久综合 | 黄色小视频在线观看 | 欧美乱码精品一区二区三区 | 玖玖在线| 日韩精品久久久 | 日本一区二区三区在线观看 | 综合伊人| 日韩一级| 久久这里有精品 | 久久激情网 | 日韩a级片 | 双性少爷挨脔日常h惩罚h动漫 | 天天干天天干天天干 | 国产激情在线 | 天天操狠狠操 | 国产在线麻豆精品观看 | 国产一区二区视频在线观看 | 蜜乳av红桃嫩久久 | 99视频| 调教小荡货h办公室打屁股视频 | 秋霞在线视频 | 成全世界免费高清观看 | 天天色天天| 捆绑调教视频网站 | av少妇| 18国产免费视频 | 中国老熟女重囗味hdxx | 少妇又紧又色又爽又刺激视频 | 午夜免费视频 | 麻豆网址 | 六十路息与子猛烈交尾 | 潘金莲一级淫片aaaaaa播放 | 日韩精品第一页 | 国产欧美一区二区 | 国产福利视频 | 久久久999 | 日本黄色小视频 | 嫩草视频在线观看 | 久久香蕉网 | 欧美日韩精品 | 免费网站观看www在线观 | 国产精品一二三 | 99热精品在线 | 久久这里有精品 | 羞羞色院91蜜桃 | 91调教打屁股xxxx网站 | 国语对白做受69 | 欧美大逼 | 毛片毛片毛片 | 成人在线免费观看视频 | 嫩草视频 | 九九热九九| 三妻四妾免费观看完整版 | 天天弄 | 日韩成人精品 | 欧美黄色小说 | 久久精品中文字幕 | 日韩高清一区 | 插曲30分钟高清免费观看 | 欧美怡红院 | 蜜桃一区二区三区 | 福利视频一区二区 | 免费的av | 91蜜桃婷婷狠狠久久综合9色 | 中文字幕精品无码一区二区 | www久久| 国产中文字幕在线观看 | 五月丁香啪啪 | 亚洲一区二区 | 亚洲精品自拍 | 在线免费看黄 | 成人免费毛片男人用品 | 日本理论片 | 国产一级黄色电影 | 亚洲色图15p | 奶妈的诱惑 | 高清欧美性猛交xxxx黑人猛交 | 熟女俱乐部一区二区视频在线 | av手机在线观看 | 狠狠干狠狠爱 | 亚洲国产精品视频 | 天天射天天干 | 亚洲性视频 | 中文字幕免费高清 | 深夜福利| 猛烈顶弄h禁欲老师h春潮视频 | 日本理伦片午夜理伦片 | 日韩欧美在线观看 | 午夜在线| 美女极品粉嫩美鲍35p | 国产一区二区三区免费播放 | 亚洲精品免费视频 | 欧美日韩久久 | 强开乳罩摸双乳吃奶羞羞www | 亚洲一卡二卡 | 无码精品一区二区三区在线 | 亚洲色图图片 | 成人免费毛片入口 | 欧美一区二区三区视频 | 韩国av| av少妇| 欧洲影院| 久久久网 | 光明影院手机版在线观看免费 | 被c到喷水嗯h厨房交换视频 | 久草福利视频 | 天天操夜夜操 | 麻豆传媒在线观看 | 午夜一区二区三区 | 91精品91久久久中77777 | 欧美在线观看视频 | 少妇又紧又色又爽又刺激视频 | 18国产免费视频 | 18在线观看 | 韩国《漂亮的女邻居3》 | 天堂一区 | 日本一区二区三区在线观看 | 久久精品亚洲 | 国产免费一区 | 国产高清在线观看 | 最新中文字幕在线观看 | 女人床技48动态图 | 久久久久国产 | 夜夜嗨老熟女av一区二区三区 | 亚洲精品一区二区三区蜜桃久 | 桃色视频| 精品视频 | 日韩三级视频 | 亚洲激情 | 天堂网在线观看 | 黄色片免费 | 91成人在线观看喷潮 | 精品网站999www | 日韩欧美一区二区三区 | 新3d金梅龚玥菲 | 日韩天堂| 激情视频网站 | 老司机av | 99综合| 久久精品电影 | 久久视频在线观看 | 国产成人av | 性生活大片 | 青青草视频在线观看 | 亚洲午夜精品久久久久久人妖 | 丰满少妇在线观看网站 | 91一区| 青青青在线视频 | 九九热在线观看 | 欧美成人免费 | 插曲30分钟高清免费观看 | 国产午夜视频 | 人妻在客厅被c的呻吟 | 一区二区视频在线观看 | 国产成人在线视频 | 精品麻豆| 特黄视频| 国产精品久久久久久久久久久久 | 午夜一区二区三区 | 岛国av在线 | 无码免费一区二区三区 | 国产精品一区在线观看 | 中文字幕乱码中文乱码b站 裸体丰满老女人hd 香蕉视频在线下载 | 国产在线不卡 | 亚洲中文字幕在线观看 | 亚州一区二区 | 亚洲午夜精品久久久久久app | 精品视频一区二区三区 | 麻豆国产精品 | 久久久999 | 香蕉视频网站 | 精品乱子伦一区二区三区 | 青青青在线视频 | 国产成人在线视频 | 91视频在线观看 | 精品成人| 一区二区三区在线观看 | 精品一二三区 | 日韩一区二区三区在线观看 | 91在线网站 | 精品日韩| 三级网站| 香蕉久久国产av一区二区 | www久久| 亚洲精品久久久久中文字幕二区 | 日韩中文字幕无砖 | 精品蜜桃一区二区三区 | 久久黄色网 | 青青草视频在线观看 | 日韩欧美亚洲 | 欧美三级网站 | 成全世界免费高清观看 | 青青草原在线视频 | 日韩a | 成人免费av | 精品人妻午夜一区二区三区四区 | 亚洲一二三四区 | www黄色| 狠狠影院| 亚洲精品一区二区三区在线观看 | 国产精品黄色 | 少妇精品无码一区二区免费视频 | 国产精品九九 | 嗯~啊~快点死我男男91 | 91婷婷| 高跟肉丝丝袜呻吟啪啪网站av | 国产精品亚洲一区二区 | 日韩免费在线观看 | 国产麻豆剧传媒精品国产av | 亚洲熟女一区二区三区 | 亚洲看片| 91视频免费| 国产一区二区三区18 | 熊出没之古宅探宝 | 日韩成人在线观看 | 日韩免费电影 | 国产精品视频在线观看 | 国产精品美女高潮无套 | 午夜精品久久久久久久 | 在线观看黄| 欧洲做受高潮免费看 | 91精品国产综合久久久久久 | 日韩在线不卡 | 好妞在线观看免费高清版电视剧 | 日本在线免费观看 | 亚洲黄色片 | 欧美高清 | 香蕉视频91 | 欧美日韩国产一区二区 | 二级毛片| 天天躁日日躁狠狠很躁 | 国产传媒在线观看 | 99热在线播放 | 色导航| 日本全黄裸体片 | 免费看裸体网站视频 | 久久草视频 | 亚洲激情图片 | 欧美日韩中文字幕 | 第一福利视频 | 国产伦精品一区二区三区妓女 | 国产电影一区二区三区 | 性の欲びの女javhd | 日韩在线视频观看 | 黄网在线 | 少妇高潮灌满白浆毛片免费看 | 乖…忍一下我就进一点视频 | 久久天堂网 | 亚洲视频一区二区 | 99久久精品国产毛片 | 国产欧美在线观看 | 欧美日本国产 | 无码精品人妻一区二区三区漫画 | 日韩另类 | 偷拍第一页 | 国产欧美日韩综合精品一区二区三区 | 欧美一二三 | 91导航 | 麻豆视频免费观看 | 精品视频 | 国产全肉乱妇杂乱视频 | 久久久久久久久久久久久久久久久 | 国产高清在线观看 | 美女一级片| 波多野结衣乳巨码无在线观看 | 欧美熟妇精品黑人巨大一二三区 | 亚洲激情综合 | 天天干夜夜操 | 日日夜夜精品 | 久久久久麻豆v国产精华液好用吗 | 亚洲高清在线 | 八戒网剧在线看9高清国语 欧美日韩精品一区二区 | 中文字幕永久在线 | 国产伦精品一区二区三区88av | a片在线免费观看 | 国产精品乱码一区二区 | 老司机免费视频 | 嫩草视频在线观看 | 日韩免费电影 | 玖玖视频| 日韩成人片 | 女人做爰猛烈叫床视频 | 小受受扒开屁股挨网站 | 国产在线拍揄自揄拍无码视频 | 麻豆视频在线播放 | 国产精品久久久久久吹潮 | 91美女视频| 国产裸体美女永久免费无遮挡 | 欧美aⅴ| 国产成人网 | 综合激情网 | www久久久| 国产在线不卡 | 伦理《法国护士长》观看 | 韩国《漂亮的女邻居3》 | 91超碰在线 | 国产一级视频 | 国产精品无码在线 | 亚洲一区二区三区在线 | 日韩福利视频 | 国产裸体美女永久免费无遮挡 | 蜜乳av红桃嫩久久 | 少妇被按摩师摸高潮了 | 国产裸体美女永久免费无遮挡 | 91视频在线免费观看 | 亚洲免费在线视频 | 午夜精品久久久久久久 | 国产伦精品一区三区精东 | 一级a毛片 | 福利在线观看 | 日韩精品第一页 | 麻豆传媒在线播放 | 日韩高清国产一区在线 | 亚洲一区二区视频 | 草莓视频www.5.app | 蜜桃一区二区三区 | 久免费一级suv好看的国产 | 日韩小视频 | 欧美黄色片| 免费的毛片| 久久久天堂国产精品女人 | 和两个小婕子做受hd | 色婷婷影院| 亚洲天堂久久 | 日本中文字幕在线 | 国产做受高潮 | av在线免费播放 | 亚洲精品一区二区三区蜜桃久 | 在线视频在线观看 | 日韩天堂| 欧美性猛交69 | 国产一区二区三区在线 | av少妇| 啦啦啦电视剧免费高清在线观看 | 插曲30分钟高清免费观看 | 精品无码在线观看 | 欧美福利视频 | 久久久中文字幕 | av毛片 | 插曲免费高清在线观看 | 国产精品日韩无码 | 9i看片成人免费看片 | 在线观看成人 | 大尺度叫床戏做爰视频 | 夜夜视频 | 风间由美av| 黄色a级片 | 日本精品在线 | 久久精品亚洲 | 中文字幕在线播放 | 九九热精品视频 | 玖玖在线| 国产三级在线观看 | 九色在线 | 国产一区二区三区免费播放 | 麻豆视频免费观看 | 嫩草一区二区三区 | 人妻熟女一区二区三区 | 日本在线观看 | 日本欧美久久久久免费播放网 | 电影《强伦女教师2》 | 天天操一操| 成人精品 | 午夜免费 | 亚洲免费在线视频 | 免费一区| 日韩二区| 一区二区亚洲 | 久久成人精品 | 999国产精品 | 国产精品9999 | 欧美一级片在线观看 | 日本中文字幕在线 | 日韩三级在线 | 少妇高潮灌满白浆毛片免费看 | 免费视频一区二区 | 国产黄色电影 | 欧美高清| 日韩在线中文字幕 | 午夜精品久久久久久久久久久久 | 国产小视频在线观看 | 免费看片成人 | 51成人做爰www免费看网站 | 人人妻人人澡人人爽人人dvd | 不卡的av | 毛片无码一区二区三区a片视频 | 性xxxx | 美国少妇在线观看免费 | 中文字幕一区二区三区四区 | 国产精品乱码一区二区 | 日韩欧美在线播放 | 六十路息与子猛烈交尾 | 亚洲欧美日韩国产 | 国产成人精品视频 | 亚洲一区二区三区 | 嫩草视频在线观看 | 亲嘴激烈床视频大全床 | 国产精品日韩无码 | 日本免费网站 | 日韩在线不卡 | 亚洲国产精品视频 | 欧美极品欧美精品欧美图片 | 波多野结衣视频在线观看 | 久久青青 | 欧美日韩激情 | 乖乖女的野男人们np | 插曲30分钟高清免费观看 | 嫩草嫩草嫩草 | 亚洲第一网站 | 成人久久| 91成人在线观看国产 | 欧美多人 | 亚洲欧美视频 | 日本一区二区在线 | 国产一区二区 | 色导航 | 精品无码一区二区三区 | 91天堂| 亚洲精品成人 | 色婷婷网| 欧美精产国品一二三区 | 精品蜜桃一区二区三区 | 激情一区 | 国产黄色大片 | 欧美视频在线观看 | 国产一区二区三区在线 | 免费看a | 99国产精品| 国产一区二区三区在线 | 电影《强伦女教师2》 | 亚洲欧美精品 | 中文字幕人妻一区二区 | 天堂网在线观看 | av高清 | 五月婷婷丁香 | 亚洲字幕| 福利视频一区 | 一区二区亚洲 | 五月婷婷丁香 | 日日碰狠狠添天天爽无码 | 99人妻碰碰碰久久久久禁片 | 日韩第一页 | 99视频| 欧美久久精品 | 国产精品无码一区二区三区免费 | 在线视频在线观看 | 强伦轩人妻一区二区电影 | 黑巨茎大战欧美白妞 | 4438成人网 | 色婷婷av| 男人添女人下部高潮全视频 | 精品欧美一区二区精品久久 | 亚洲综合在线视频 | 中文字幕在线免费 | 麻豆乱淫一区二区三区 | 日韩精品免费 | 天天干天天操天天射 | 黑巨茎大战欧美白妞 | 久色网 | 一起草av| 激情五月婷婷 | 亚洲精品一区二区三 | 国产伦精品一区二区三区88av | 欧美一区二区在线 | 日本一级一片免费视频 | 91婷婷 | 国产黄色av | 91美女视频| 超碰免费在线观看 | 成人黄色大片 | 国产成人+综合亚洲+天堂 | 特级西西人体444www高清大胆 | 成人免费看| 给我免费观看片在线电影的 | 国产精品高潮呻吟 | 成人播放器 | 一区二区三区电影 | 黄色一级电影 | 国产麻豆剧传媒精品国产av | 久久久久国产一区二区三区 | 欧美 日本 国产 | 成人免费看片' | 精品国产91乱码一区二区三区 | 久久国产精品视频 | 露出调教羞耻91九色 | 午夜精品久久久久久久99黑人 | 日本特级片 | 一级片免费观看 | 亚洲一级电影 | 亚洲精品一区二区 | 国产免费视频 | 男人天堂网站 | 日日摸日日添日日碰9学生露脸 | 激情小视频 | 中文久久 | 少妇搡bbbb搡bbb搡澳门 | 成人免费毛片男人用品 | 亚洲色图图片 | 日韩小视频 | 久久免费精品视频 | 日日摸夜夜爽 | 四虎网站| 精品欧美 | 国产亚洲色婷婷久久99精品91 | 国产精品一区在线观看 | 美女毛片 | 人妻熟女一区二区三区 | 久久av一区二区三区 | 久久久久久久久久久久久久久久久 | 免费看一级片 | 强开乳罩摸双乳吃奶羞羞www | 天天操天天操天天操 | 日韩欧美视频 | www四虎 | 中文字幕精品无码一区二区 | 日本不卡一区 | 午夜免费视频 | 91在线观看 | 波多野结衣一区 | 麻豆一级片 | 国产在线麻豆精品观看 | 久久精品99 | 99国产精品99久久久久久 | 天天爽夜夜爽 | 97在线观看| 久久久久久国产精品 | 日韩在线 | 亚洲天堂一区 | 久久久久久国产精品 | 黑人巨大猛烈捣出白浆 | 男女日皮视频 | 久久性视频 | 国产三级电影 | 欧美一区二区三区在线 | 探花视频在线观看 | 天天干天天操 | 蜜桃av色偷偷av老熟女 | 国产一区二区视频在线观看 | 国产免费一区 | 韩国三级电影在线观看 | 久久精品亚洲 | 成人av影视| 日本69视频 | 中文字幕日韩人妻在线视频 | 国产精品视频 | 亚洲欧美日韩在线 | 亚洲性视频 | 中文字幕电影 | 国产毛片视频 | 草莓视频www.5.app | 韩国《漂亮的女邻居3》 | 青青草视频 | 麻豆网址| 午夜18视频在线观看 | 粗长+灌满h双龙h男男室友猛 | 欧美亚韩一区二区三区 | 日韩福利视频 | 国产精品815.cc红桃 | 男女日皮视频 | 黑料网在线观看 | 欧亚乱熟女一区二区在线 | 欧美三级在线 | 日韩三级电影 | 日韩中文字幕在线 | 国产精品一区二区三区四区 | 麻豆一级片| 99人妻碰碰碰久久久久禁片 | 波多野结衣在线 | 成人做爰www看视频软件 | 伊人网在线观看 | 一级片免费观看 | www.午夜| 国精产品一二三区精华液 | 日韩成人无码 | 毛片大全 | 国产精品久久久久久久 | 91成人在线观看喷潮动漫 | 91在线观看免费高清完整版在线观看 | 奶妈的诱惑 | 国产传媒在线观看 | 成人18视频免费69 | 欧美另类视频 | 国产主播在线观看 | 欧美视频一区 | 国产精品久久 | 久久久91| 爱爱视频网站 | 99视频| 四虎免费视频 | 500部大龄熟乱视频 欧美成人影院 | 波多野结衣一区二区三区 | 国产伦精品一区二区三区妓女 | 成人做爰www看视频软件 | 欧美大片视频 | 欧美片网站免费 | 精品久久久久久久 | 神马午夜影院 | 丰满少妇在线观看网站 | 国产高清网站 | 精品一区二区三区四区 | 国产电影一区二区三区 | 天天草天天干 | 福利视频网站 | 亚洲精品乱码久久久久 | 国产你懂的 | 国产电影一区二区三区 | 日日摸日日添日日碰9学生露脸 | 91久久精品日日躁夜夜躁国产 | 综合伊人 | 图书馆的女朋友 | 999国产精品 | www.久久| 国产av毛片| 香港黄色片 | 国产欧美精品 | 成人网址在线观看 | 国产1区2区| 午夜小电影 | 乖乖女的野男人们np | 金瓶3d三a级做爰 | 麻豆网站 | 午夜一区二区三区 | 精品一区二区三区四区 | 中国熟老太另类 | 中国熟老太另类 | 一区二区精品 | 少妇高潮灌满白浆毛片免费看 | 九九热在线观看 | 中文字幕一区二区三区四区 | 好大好紧好硬好硬口述 | 亚洲成人一区 | 天堂va蜜桃一区二区三区 | 久久亚洲视频 | 中文在线视频 | 狂野欧美性猛交xxⅹ李丽珍 | 日本精品久久 | 超碰超碰| 亚洲一区二区视频 | 日日夜夜精品 | 欧美成人影院 | 中国黄色大片 | 久久精品在线观看 | 91在线观看免费高清完整版在线观看 | 欧美乱码精品一区二区三区 | 午夜的呻吟| 欧美一级黄色片 | 精品人妻少妇嫩草av无码专区 | 亚洲精品一区二区三 | av中文在线 | 欧美黄色一级 | 国产在线一区二区 | 日本在线| 亚洲无人区码一码二码三码的含义 | 婷婷久久综合 | 日韩免费电影 | 久久成人精品 | 九九色| 打屁股sp惩罚调教视频 | 蜜桃av一区二区三区 | 久久性视频 | 国产三级电影 | 久久一级片| 久久成人免费视频 | 亚洲中文字幕在线观看 | 暖暖爱免费观看高清在线遇见你 | 俄罗斯av | 扒下女教师的内衣 | 婷婷午夜精品久久久久久性色av | 波多野つ上司出差被中在线出 | 成人av影院 | 日本三级片在线观看 | 日韩一区二区在线观看 | 自拍偷拍av | 污视频在线免费观看 | 久久天堂网 | 一级片在线播放 | 久久夜色精品国产欧美乱极品 | 强开乳罩摸双乳吃奶羞羞www | 欧美自拍偷拍 | 日本黄色小视频 | 无码国产精品一区二区免费式直播 | 中文字幕永久在线 | 91成人在线观看喷潮动漫 | 国产小视频在线观看 | 久久夜色精品国产欧美乱极品 | 欧美伊人 | 五月婷婷激情 | 秋霞在线视频 | 99这里只有精品 | 精品一二三 | 日韩在线一区二区三区 | 久久久无码人妻精品无码 | 欧美一二三 | 中文字幕在线观看 | 欧美日韩国产在线观看 | 天天操夜夜爽 | 中文字幕码精品视频网站 | 高清免费视频日本 | 国产一二三 | 青青av | 国产精品无码久久久久 | 精品夜夜澡人妻无码av | 国产伦精品一区二区三区88av | 久久成人精品 | 欧美大片视频 | 夜夜视频| www.午夜| 天天干天天插 | 羞羞成人漫画入口 | 一区二区中文字幕 | 羞羞成人漫画入口 | 久久激情网 | 精品无码国产一区二区三区51安 | 久久久久久久久久久久久久久久久 | 久久亚洲视频 | 亚洲精品区 | 嫩草嫩草嫩草 | 久久久久久久久久久久久久久久久久久 | 校草调教喷水沦为肉奴高h视频 | 国产欧美在线观看 | 奇米影视7777 | 女人床技48动态图 | 波多野结衣乳巨码无在线观看 | 亚洲第一av| 天堂视频在线 | 国产全肉乱妇杂乱视频 | 91av视频| 国产拗女| 先锋av资源 | 日韩综合网 | 日韩av毛片 | 中文字幕一区二区三区四区 | 伊人网站 | 电影《强伦女教师2》 | 欧美一区二区三区在线观看 | 暖暖爱免费观看高清在线遇见你 | 免费在线观看av | 麻豆视频在线 | 黑人巨大猛烈捣出白浆 | 阿姨免费高清在线电视剧观看 | 人妻一区二区三区 | 亚洲精品成人 | 秋霞成人| 日韩一区二区三区四区 | 在线永久看片免费的视频 | 国产午夜视频 | gogo人体做爰大胆视频 | 一区二区三区在线观看视频 | 亚洲精品一区二区三区四区高清 | 强h被cao哭高h打桩机崩溃 | 日韩三级电影 | 亚洲理论片 | 华丽的外出在线观看 | 五月天综合网 | 少妇精品 | 在线观看视频 | 一区二区三区视频在线观看 | 97在线观看 | 在线爱情大片免费观看大全 | 强伦轩人妻一区二区电影 | 天堂中文在线资源 | 欧美性受xxxx黑人xyx性爽 | 四虎av| 一级片黄色 | 人妻一区二区三区 | 电影《色戒》hd未删减 | 亚洲午夜久久久久久久久久久 | 色姑娘综合网 | 香蕉视频在线播放 | 女人做爰猛烈叫床视频 | 污视频在线免费观看 | 狠狠干影院 | 国产精品无码一区二区三区免费 | 午夜少妇 | 欧美一级在线观看 | 国产在线拍揄自揄拍无码视频 | 91视频污 | 日韩精品 | 精品人伦一区二区三区 | 狠狠操狠狠操 | 欧美一区二区在线 | 香蕉视频在线下载 | 国产欧美熟妇另类久久久 | 天堂中文网 | 91蝌蚪91九色| 一区二区av | 欧亚乱熟女一区二区在线 | 韩国三级在线 | 日韩欧美一区二区三区 | 桃色视频 | 精品一二三 | 嫩草一区二区三区 | 真实交videos乱叫娇小 | 午夜的呻吟| 欧美精产国品一二三区 | 国产精品视频 | 成人免费在线视频 | 国产午夜视频 | 日本在线免费观看 | 中文一区二区 | 漂亮的护士伦理hd中文 | 少妇高潮灌满白浆毛片免费看 | 免费在线观看av | 日日干夜夜操 | 500部大龄熟乱视频 欧美成人影院 | 大乳巨大乳j奶hd | 91丝袜一区二区三区 | 亚洲色图欧美 | 国产黄色一级片 | 麻豆精品久久久久久久99蜜桃 | 免费看片网站91 | 亚洲天堂 | 无码人妻一区二区三区免费n鬼沢 | 国产欧美精品 | 羞羞网站 | 一区二区电影 | 午夜少妇 | 伦伦影院午夜理伦片 | 男女做爰猛烈高潮描写 | 国产麻豆剧传媒精品国产av | 欧美精品在线播放 | 国产成人精品视频 | 校花喂我乳还玩我视频 | 日韩天堂 | 日韩精品在线视频 | 欧美视频一区二区 | 免费看a | 91小视频| 成人黄色小视频 | 另类老妇性bbwbbw | 嫩草视频 | 精品久久久久久久久久 | 天天干天天插 | 欧美性猛交| 国产探花在线观看 | 秋霞理论 | 91一区| 91在线视频观看 | 亚洲无码一区二区三区 | 亚洲色图第一页 | 一区二区亚洲 | 久久久久久国产 | 91视频在线免费观看 | 波多野结衣在线播放 | xxx综合网 | 青青av | av不卡在线 | 91爱爱视频 | 双腿张开被9个男人调教 | 亲嘴激烈床视频大全床 | 日韩欧美精品 | 欧美做受 | 一级欧美 | 午夜影院在线观看 | 久草免费在线 | 美女被c | 无人高清电影电视剧在线观看免费 | 国产高清自拍 | 中文一区二区 | 500部大龄熟乱视频 欧美成人影院 | 日日摸夜夜爽 | 久久久久久91香蕉国产 | 少妇高潮灌满白浆毛片免费看 | 午夜少妇 | 91精品国产综合久久久久久 | 国产三级午夜理伦三级 | 亚洲久久久 | 久草免费在线 | 国产精品久久久精品 | 伦理《法国护士长》观看 | 国产精品国产自产拍高清av | 浓精灌孕h校园h乱小视频 | 亚洲免费网站 | 欧美爱爱视频 | 国产免费无码一区二区 | av一级片| 91玉足脚交嫩脚丫在线播放 | 色欲狠狠躁天天躁无码中文字幕 | 亚洲成人av在线 | 久久久久久久久久久久久久 | 国产一区二区在线视频 | 亚洲小说春色综合另类 | 少妇喷水 | 中文字幕永久在线 | 潘金莲一级淫片aaaaaa播放 | 韩国三级hd中文字幕的背景音乐 | 尤物视频在线观看 | 久久久久久av | 香蕉视频在线看 | 日韩在线不卡 | 在线免费视频 | 乖…忍一下我就进一点视频 | 免费的毛片 | 99热最新| 无码精品人妻一区二区三区漫画 | 日韩一区二区三区四区 | 国产在线麻豆精品观看 | 120分钟淫片免费看 国产主播在线观看 | 91玉足脚交嫩脚丫在线播放 | 国产激情综合五月久久 | 日韩a| 黄色小说视频 | 人人妻人人澡人人爽人人欧美一区 | 在线观看日韩 | 国产精品久久久久久久久久 | 波多野结衣一区二区三区 | 欧美视频在线播放 | 91视频在线| 日韩免费在线观看 | 91麻豆精品| 特级黄色录像 | 怡红院av | 中文字幕免费高清 | 少妇特黄a一区二区三区 | 国产香蕉视频 | 午夜免费 | 日韩免费在线观看 | 成人三级视频 | 国产三级午夜理伦三级 | 精品乱子伦一区二区三区 | 欧美人与野 | 日本理伦片午夜理伦片 | 日韩福利视频 | 黄色av免费 | 亚洲精品视频在线 | 激情婷婷| 欧美成人一区二区 | 爱的精灵 | 日本理论片 | 一区二区av | 亚洲小视频 | 波多野结衣一区 | 潘金莲一级淫片aaaaaa播放 | 欧美精品一区二区三区蜜臀 | 欧美一二三区 | 国产日韩欧美 | 欧美大片在线看免费观看 | 三上悠亚在线播放 | 18在线观看 | 久久国产精品网站 | 99re在线视频 | 重囗另类bbwseⅹhd | 91调教打屁股xxxx网站 | 久久久久国产一区二区三区 | 艳妇乳肉豪妇荡乳av无码福利 | 91小视频| 日本激情视频 | 青娱乐91 | 日日摸日日添日日碰9学生露脸 | 天堂资源 | 国产欧美日韩综合精品一区二区三区 | 国产一区二区在线视频 | 天天干天天日 | 波多野结衣一区二区三区 | 亚洲成人自拍 | 在线观看欧美日韩视频 | 国产一区二区三区视频 | 国产香蕉视频 | 亚洲无人区码一码二码三码的含义 | 国产精品视频在线观看 | 黄色美女网站 | 日批视频 | 久久久国产精品 | 黄色大片网站 | 成人动漫在线观看 | 美女久久久| 99精品久久毛片a片 国内老熟妇对白xxxxhd | 国产精品久久久精品 | 香蕉视频91| 成人免费av| 在线成人 | 伦伦影院午夜理伦片 | 黄色在线免费观看 | 精品人伦一区二区三区 | 一区二区三区在线播放 | 免费播放片大片 | 国产成人一区 | 一区二区三区免费 | 免费av在线 | 少妇特黄a一区二区三区 | 亚洲精品一区二区 | 亚洲一区二区 | 成人免费网站 | 日韩视频一区二区 | 在线观看91 | 小婷的性泛滥日记h | 天堂在线 | 无码精品一区二区三区在线 | 拍国产真实乱人偷精品 | 99热精品在线 | 亚洲aa | 在线观看国产 | 黑人巨大猛烈捣出白浆 | 天天干天天插 | 国产福利在线观看 | 亚洲第一色 | av入口| a级片网站 | 九九免费视频 | 成人免费看片' | 国产九九九 | 免费的黄色网址 | 国产免费视频 | 国产在线一区二区三区 | 无码人妻精品一区二区三区不卡 | 亚洲欧美在线观看 | 久久久中文字幕 | 在线成人 | 特级毛片 | 麻豆影视 | 国产精品视频在线观看 | 一级免费毛片 | 扒开伸进免费视频 | 91视频入口 | 嫩草视频| 国产www免费观看 | 天天弄| 日本在线播放 | 影音先锋男人站 | 91视频播放| 国产精品免费看 | 成人av影院 | 激情视频网站 | 人妻在客厅被c的呻吟 | 日韩二区| 日本一级做a爱片 | 精品久久久久久久 | 天天干天天日 | 年轻善良的少妇 | 免费国产视频 | 中文字幕人妻一区二区 | 婷婷久久综合 | 黄色91| 拍真实国产伦偷精品 | 日韩一级视频 | 国产精品一品二区三区的使用体验 | 人妻在客厅被c的呻吟 | 影音先锋在线视频 | 亚洲天堂一区 | 手机av在线 | 欧美色综合 | 欧美日韩国产在线观看 | 天堂中文在线资源 | 成年人在线观看 | 精品一二三区 | 国产免费看 | 欧美一区二区三区在线 | 午夜少妇 | 日韩剧在线观看免费熊出没 | 暖暖爱免费观看高清在线遇见你 | 久久久久久久久久久久久久 | 中文天堂| 少妇搡bbbb搡bbb搡澳门 | 插曲30分钟高清免费观看 | 久久精品99 | 中国黄色一级片 | 综合激情网 | 欧美一区| 桃色av | 亚洲爆乳无码一区二区三区 | 四虎影库 | 久草网站 | 青青在线| 亚洲一级电影 | 97国产精品 | 成人精品在线 | 午夜黄色 | 久草免费在线视频 | 亚洲精品久久久久久 | 欧美黄色片 | 嗯~啊~快点死我男男91 | 欧美日韩激情 | 久久精品在线观看 | av少妇 | 免费成人av| 天堂va蜜桃一区二区三区 | 高跟肉丝丝袜呻吟啪啪网站av | 亚洲第一av| 嫩草视频 | 黄色一区二区三区 | 伊人网在线观看 | 手机av在线 | 视频在线观看 | 亚洲天堂影院 | 国产精品815.cc红桃 | 青青草原av | 免费国产视频 | 光明影院手机版在线观看免费 | 男女日皮视频 | 高清免费视频日本 | 少妇被按摩师摸高潮了 | 韩国伦理片在线观看 | 一区二区精品 | 99久久精品国产毛片 | 国产乡下妇女做爰 | 国产精品揄拍一区二区 | 91一区二区 | 日韩中文字幕 | 亚洲福利 | 亚洲久久久 | 一区二区免费 | 成人做爰www看视频软件 | 日韩精品久久久 | 97精品视频 | 精品乱子伦一区二区三区 | 国产成人av | 调教小荡货h办公室打屁股视频 | 91久久精品日日躁夜夜躁国产 | 欧美日韩在线播放 | 国产欧美在线观看 | 免费网站观看www在线观 | 日韩av一区二区三区 | 午夜免费福利视频 | 日韩在线不卡 | 日本一区二区三区在线观看 | 天美传媒在线观看 | 无码精品人妻一区二区三区漫画 | 男生操女生的视频 | 日韩高清国产一区在线 | 欧美日韩中文字幕 | 午夜一区二区三区 | 亚洲精品一区二区三 | 91禁和美女聊天 | 亚洲综合激情五月久久 | 日本黄色片 | 亚洲免费观看高清 | 欧美怡春院 | 在线成人 | 女人高潮叫床骚话污话 | 日本一道本 | 91涩漫成人官网入口 | 欧美视频一区二区三区 | 西西人体大胆4444ww张筱雨 | 97视频| 校草调教喷水沦为肉奴高h视频 | 在线视频在线观看 | 天堂va蜜桃一区二区三区 | 韩国伦理大全 | 97在线观看视频 | 亚洲综合在线视频 | 被c到喷水嗯h厨房交换视频 | 蜜臀99久久精品久久久久久软件 | 少妇又紧又色又爽又刺激视频 | 麻豆免费版 | 国产精品www | 成人国产精品久久久网站 | av色图 | 超碰免费在线 | 亚洲一区二区av | 青青在线视频 | 国产精品九九 | 青青操在线视频 | 国产美女在线观看 | 亚洲视频二区 | 影音先锋在线视频 | 精品国产91乱码一区二区三区 | 中文字幕在线免费 | 打屁股sp惩罚调教视频 | 97超碰人人 | 国产欧美在线观看 | 黄色网战 | av在线资源 | 中文字幕在线播放 | 亚洲精品免费视频 | 中文字幕日韩人妻在线视频 | 色综合久久天天综合网 | 91蜜桃婷婷狠狠久久综合9色 | 韩国三级hd中文字幕的背景音乐 | 亚洲精品久久久久中文字幕二区 | 欧美怡春院 | 蜜桃网站 | 午夜精品一区二区三区在线视频 | 亚洲精品999 | 99热这里 | 奇米影视7777 | 亚洲色吧 | 久久久久久国产精品 | 精东影视| 熊出没之古宅探宝 | 国产一级黄色电影 | 不许穿内裤随时挨c调教h苏绵 | 中文字幕在线免费看 | 韩国三级电影在线观看 | 92看片| 成人免费毛片男人用品 | 拨开岳两片肥嫩的肉视频 | 人妻熟女一区二区三区app下载 | 欧美老熟妇乱大交xxxxx | 亚洲午夜久久久久久久久久久 | 男男网站 | 51精产品一区一区三区 | 欧亚乱熟女一区二区在线 | 久久久久国产一区二区三区 | 黄色一级大片 | 激情亚洲 | 日韩精品| 两性囗交做爰视频 | 粗长+灌满h双龙h男男室友猛 | 国产精品一区在线观看 | 久久福利 | 成人久久| 波多野结衣在线播放 | 岛国av在线| 在线观看av网站 | 成人免费观看视频 | 日韩在线一区二区三区 | 日韩精品免费 | 欧美高清 | 99人妻碰碰碰久久久久禁片 | 日日夜夜精品视频 | 午夜精品久久久久久久99黑人 | 成人一级片 | 厨房掀开馊了裙子挺进 | 嫩草91| 亚洲男人天堂网 | 日韩欧美在线播放 | 日本一区二区在线 | 日韩三级 | 午夜18视频在线观看 | 51精产品一区一区三区 | gogo人体做爰大胆视频 | 国产亚洲色婷婷久久99精品91 | 精品视频一区二区三区 | 蜜臀av在线| 国产www免费观看 | 免费一区二区三区 | 激情五月综合 | 99久久精品国产色欲 | 久久成人免费视频 | 熊出没之古宅探宝 | 性爱视频免费 | 黄色电影免费看 | 一级a毛片 | 青娱乐极品盛宴 | 亚洲熟女一区二区三区 | www.婷婷| 一本色道久久加勒比精品 | 成人a毛片| 精品久久久久久久久久 | 国产精品久久久久久久 | 亚洲视频在线观看 | 亚洲视频在线播放 | 日韩少妇| 91视频黄 | 草莓视频www入口在线播放 | 性xxxx| 捆绑调教视频网站 | 精品交短篇合集 | 91在线观看| 欧美大片视频 | 国产精品123 | 在线观看欧美日韩视频 | 91在线看| 久久久久国产一区二区三区 | 小受受扒开屁股挨网站 | 亚洲免费在线 | 久久久久麻豆v国产精华液好用吗 | 91视频观看 | 黄色特级片 | 青青青在线视频 | 午夜小电影| 美女福利视频 | 亲嘴激烈床视频大全床 | 成人午夜影院 | 伊人网在线观看 | 国产伦精品一区二区三区妓女 | 免费69视频 | 美女被爆操 | 亚洲午夜视频 | 欧美精品久久久 | 强伦轩人妻一区二区电影 | 亚洲精品成人无码 | 国产av一区二区三区 | 99国产视频 | 福利电影网 | 日本三级片在线观看 | 污视频在线免费观看 | 一区二区三区在线观看视频 | 天堂va蜜桃一区二区三区 | 天堂在线| 高跟肉丝丝袜呻吟啪啪网站av | 九九热精品视频 | 好吊视频一区二区三区 | 人人草人人 | 色欲av无码一区二区三区 | 免费性爱视频 | 黄色三级视频 | a级黄色片| 少妇精品| 久久视频在线观看 | 不许穿内裤随时挨c调教h苏绵 | 天堂一区| 99热这里| 国产在线一区二区三区 | 成人黄色av | 两性囗交做爰视频 | 午夜看片| 国精产品一区一区三区 | 电影《色戒》hd未删减 | 婷婷伊人| 91免费在线 | 大j8黑人w巨大888a片 | 少妇搡bbbb搡bbb搡澳门 | 亚洲精品一区二区 | 久久香蕉网 | 狠狠综合 | 人妻熟女一区二区三区 | 好妞在线观看免费高清版电视剧 | 不卡av在线 | 搡bbb,搡bbbb,搡bbbb | 强h被cao哭高h打桩机崩溃 | 欧美日韩在线播放 | 尤物视频在线观看 | 男人操女人的视频 | 一起草av | 免费三片在线观看网站v888 | 国产在线一区二区三区 | 免费av在线播放 | 国产精品无码在线 | 天天干夜夜操 | 午夜少妇 | 三级视频网站 | 西西人体www大胆高清 | 免费的黄色网址 | 调教小荡货h办公室打屁股视频 | 日韩欧美综合 | 国产精品一区在线观看 | 亚洲精品在线视频 | 麻豆精品国产传媒 | 粗长+灌满h双龙h男男室友猛 | 欧美日本国产 | 欧美视频一区二区三区 | 久久久久国产一区二区三区 | 国产又黄又爽 | 每晚被弄嗷嗷叫高潮 | 国产欧美日韩综合精品一区二区三区 | 插曲免费高清在线观看 | 亚洲欧美日韩国产 | 真实交videos乱叫娇小 | 欧美日韩国产一区 | 久久久久久国产精品 | 打屁股sp惩罚调教视频 | 99精品在线| 国产精品久久久久久久久 | 欧洲影院| 扒下女教师的内衣 | 自拍偷拍一区 | 夜夜嗨老熟女av一区二区三区 | 搡bbb,搡bbbb,搡bbbb | 亚洲激情视频 | 精品欧美一区二区精品久久 | 天堂一区 | 日韩高清在线观看 | 91免费看 | 打屁股sp惩罚调教视频 | 伦伦影院午夜理伦片 | 午夜理伦三级理论 | 国产一区二区精品 | 韩国伦理片在线观看 | 午夜精品久久 | 国产做受高潮 | 草草浮力影院 | 国产精品9999 | 免费69视频| 青春草视频 | 天天摸天天操 | 激情综合五月 | 中文字幕在线免费看线人 | 在线观看免费视频 | 娇妻被老王脔到高潮失禁视频 | 免费观看已满十八岁 | 欧美精品在线观看 | www.国产精品 | 色综合视频 | 日本一区二区三区在线观看 | 日韩视频一区二区 | 成年人视频网站 | 秋霞成人| 伊人网站 | 91视频免费在线观看 | 91成人在线观看国产 | 色欲av无码一区二区三区 | 怡红院av| 香港黄色片 | 久久精品一区二区 | 性生活毛片 | 久久久久亚洲av成人无码电影 | 免费h漫禁漫天天堂 | 日本人dh亚洲人ⅹxx | 日本久久久久 | 欧美亚韩一区二区三区 | 国产精品九九九 | 久久精品一区二区 | 人妻在客厅被c的呻吟 | 天天干夜夜操 | 免费成人av | 中国黄色一级片 | 久久精品99 | 强伦轩人妻一区二区电影 | 色豆豆| 免费看裸体网站视频 | 好妞在线观看免费高清版电视剧 | 亚洲免费观看高清 | 少妇喷水| 香蕉爱视频| 日本黄色小说 | 国产99精品 | 青青草视频在线观看 | 欧美三级视频 | 色欲av无码一区二区三区 | 少妇熟女视频一区二区三区 | 亚洲中文字幕在线观看 | 日韩欧美综合 | 天天躁日日躁狠狠很躁 | 无码国产精品一区二区免费式直播 | 天堂久久精品忘忧草 | 亚洲精品字幕 | 欧美怡春院 | 双腿张开被9个男人调教 | 熟妇女人妻丰满少妇中文字幕 | 五月丁香啪啪 | 尤物视频在线 | 无码精品一区二区三区在线 | 午夜天堂| 伦理《禁忌11》 | 麻豆传媒在线观看 | 国产精品久久久久久吹潮 | 五月激情综合 | 91蜜桃婷婷狠狠久久综合9色 | 成人一级片 | 一区二区三区在线播放 | 久久精彩视频 | 国产欧美一区二区 | 国产精品乱码一区二区 | 欧美三级网站 | 天堂中文在线资源 | 校花喂我乳还玩我视频 | 女人做爰猛烈叫床视频 | 深夜福利网站 | 亚洲综合激情五月久久 | 韩国三级hd中文字幕的背景音乐 | 性少妇xx生活 | 蜜臀99久久精品久久久久久软件 | 国产精品久久久久久吹潮 | 校草调教喷水沦为肉奴高h视频 | 国产黄色大片 | 波多野结衣毛片 | 夜夜嗨老熟女av一区二区三区 | 日韩黄色网址 | 国产一区在线播放 | 天堂中文在线资源 | 日韩av免费在线观看 | 午夜视频在线播放 | 拍国产真实乱人偷精品 | 伦伦影院午夜理伦片 | 中文字幕观看 | 欧美久久久 | 夜夜操天天干 | 成人av影视 | 亚洲第一av | 91久久| 亚洲精品一区二区三区蜜桃久 | 午夜精品视频 | 婷婷综合 | 成人精品在线 | 日韩小视频 | 日韩成人免费视频 | 日韩成人免费视频 | 毛片无码一区二区三区a片视频 | 黄色在线网站 | 国产精品天美传媒入口 | 国产欧美熟妇另类久久久 | 黄色免费网站 | 少妇被按摩师摸高潮了 | 国产一区二区不卡 | 麻豆免费版 | 爱的精灵 | 在线看片| 亚洲九九| 亚洲观看黄色网 | 欧美三级视频 | 无码国产精品一区二区免费式直播 | 综合伊人| 在线观看www| 国产在线观看 | 色戒电影未测减除版 | 国产欧美日韩综合精品一区二区三区 | 天堂资源在线 | 黑人毛片 | 日本黄色录像 | 国产免费一区 | 免费毛片网站 | 男生操女生的视频 | 麻豆视频在线 | 日本高清一区 | 在线免费看黄 | 五月天综合网 | 国产一区二区视频在线观看 | 草莓视频www.5.app | 久久久久久国产精品 | 欧美视频 | www欧美 | 91av在线播放 | 午夜毛片 | 欧美精产国品一二三产品特点 | 在线观看一区 | 亚洲黄色片 | 日韩三级视频 | 中文字幕精品无码一区二区 | 大美女100%露出奶 | 漂亮的护士伦理hd中文 | 骚虎视频在线观看 | 91视频在线| 天天射天天干 | 97精产国品一二三产区 | 被黑人女人30分钟视 | 玖玖在线| 天天躁日日躁狠狠很躁 | www.婷婷 | 性の欲びの女javhd | 国产乡下妇女做爰 | 黄色91| 在线爱情大片免费观看大全 | av网站免费观看 | 欧美日韩中文 | 亚洲熟女一区二区三区 | 人妻熟女一区二区三区 | 91免费在线| 亚洲精品视频在线 | 国产精品视频免费观看 | 国产三级在线 | 91在线看| 一区二区不卡 | 国产乡下妇女做爰 | 亚洲码无人客一区二区三区 | gogo人体做爰大胆视频 | 日韩免费av | 亚洲激情av | 人人爽人人爽 | 欧美国产精品 | 亚色图| 久久夜色精品国产欧美乱极品 | 国产三级在线观看 | 中文字幕免费观看 | 日本全黄裸体片 | 欧美成人影院 | 欧美在线 | 人人妻人人澡人人爽人人欧美一区 | 日韩高清在线观看 | 久久久久亚洲av成人无码电影 | 91在线观看18 | 中文字幕乱码中文乱码b站 裸体丰满老女人hd 香蕉视频在线下载 | 午夜激情福利 | 91久久精品日日躁夜夜躁国产 | 亚洲综合伊人 | 999久久久 | 国产成人在线视频 | 欧美巨鞭大战丰满少妇 | 天堂网在线观看 | 亚洲免费观看高清完整版在线观看 | 成全世界免费高清观看 | 成人av影院 | 国产精品久久久精品 | 欧美性派对| 与子敌伦刺激对白播放的优点 | 日韩在线免费 | 天天干天天干天天干 | 日韩成人免费视频 | 亚洲成人av| 男女爱爱动态图 | 亚洲不卡视频 | 在线视频免费观看 | 天堂久久精品忘忧草 | 欧美日韩成人 | 日韩一二三区 | 女人做爰猛烈叫床视频 | 国产精品亚洲一区二区 | 大j8黑人w巨大888a片 | 苍井空亚洲精品aa片在线播放 | 日本午夜视频 | 特级毛片| 麻豆app | 欧亚乱熟女一区二区在线 | 一级性爱视频 | 一区二区三区国产 | 亚洲成人自拍 | 麻豆影视 | 伊人网在线观看 | www.蜜桃 | 久久人体| 精品毛片| 九色在线| 成人一区二区三区 | 久久久久久国产精品 | 熟妇女人妻丰满少妇中文字幕 | 久久午夜无码鲁丝片午夜精品 | 亚洲成人av电影 | 国产精品一品二区三区的使用体验 | 99人妻碰碰碰久久久久禁片 | 四虎av | 激情五月综合网 | 精品人妻一区二区三区含羞草 | 国产精品三级 | 六十路息与子猛烈交尾 | 两性囗交做爰视频 | 成人免费在线 | 在线观看中文字幕 | 国产精品无码一区二区三区免费 | 999久久久 | 国产超碰在线 | 高跟91白丝 | 羞羞网站 | av中文在线 | 国产suv精品一区二区6 | 黑人巨大猛烈捣出白浆 | 插曲30分钟高清免费观看 | 国产精品一区二区视频 | 五月激情综合网 | 在线免费视频 | 中文字幕免费视频 | 青娱乐极品盛宴 | 国产三级在线 | 双性少爷挨脔日常h惩罚h动漫 | 国产自产21区 | 欧美自拍偷拍 | 五月婷婷综合网 | 日韩欧美在线播放 | 一区二区三区在线观看视频 | 手机在线看片 | 欧美大片视频 | 亚洲激情网| 已满18岁免费观看电视连续剧 | 狠狠干狠狠操 | 蜜乳av红桃嫩久久 | 亚洲性猛交富婆 | 国产精品成人国产乱 | 欧美一区二区三区在线观看 | 开心激情站 | 免费的毛片 | 欧美性生交片4 | 麻豆免费版 | 一区二区三区欧美 | 三级网站 | 三级视频网站 | 性xxxx| 国产真实乱人偷精品视频 | 久久激情网 | 午夜黄色 | 黑料网在线观看 | 亚洲国产精品视频 | 欧美日韩国产一区二区 | 日韩高清在线观看 | 特级丰满少妇一级aaaa爱毛片 | 久久久久亚洲av成人无码电影 | 一区二区三区中文字幕 | 久艹在线 | 国产一级电影 | 光明影院手机版在线观看免费 | 天天艹| 香蕉视频91 | 精品乱子伦一区二区三区 | 中文字幕精品无码一区二区 | 午夜av在线| 国产欧美一区二区 | 麻豆传媒在线 | 91在线观看视频 | 亚洲色图偷拍 | 两性囗交做爰视频 | 亚洲成人av| 香蕉视频在线下载 | 香蕉视频网站 | 日韩精品视频在线 | 亚洲视频二区 | av入口| 天天躁日日躁狠狠很躁 | 久久黄色网 | 婷婷激情五月 | 国产一区二区三区18 | 尤物在线| 亚洲一区av| 男女日皮视频 | 影音先锋在线视频 | 欧美做受高潮1 | 国产三级在线 | 免费看一级片 | 波多野结衣乳巨码无在线观看 | 电影《强伦女教师2》 | 羞羞网站 | 精品国产区一区二 | 国产三级在线播放 | 乖…忍一下我就进一点视频 | 今天高清视频在线观看 | 91蜜桃婷婷狠狠久久综合9色 | 国产精品乱码一区二区 | 日韩欧美视频 | 日本一级做a爱片 | 中文天堂| 国产精品成人国产乱 | 亚洲一区二区三区 | 日韩一级视频 | 90岁肥老奶奶毛毛外套 | 精品无码在线观看 | 亚洲精品一区二区三区在线观看 | 日韩国产欧美 | 无码人妻一区二区三区免费n鬼沢 | 大尺度做爰呻吟舌吻情头 | 和亲女洗澡时伦了h雯雯 | 免费在线观看视频 | 欧美一区二区三区视频 | 国产一区二区不卡 | 秋霞在线视频 | 91在线看片 | 国产va | 青娱乐极品盛宴 | 午夜视频福利 | 黄色国产 | 黄色特级片 | 91看片看淫黄大片 | 91免费观看网站 | 午夜视频在线免费观看 | 日韩91| 久久天堂网| 男人舔女人下面视频 | 亚洲精品电影 | 成人免费在线视频 | 三级视频在线观看 | 暖暖爱免费观看高清在线遇见你 | 国产精品无码一区二区三区免费 | 欧美视频一区 | 国产精品一二 | 性少妇xx生活 | 国产精品久久久久久久久久 | 欧美一区二区在线 | 欧美一区二区三区视频 | 一级免费视频 | 性の欲びの女javhd | 午夜精品久久久久久久99老熟妇 | 天天弄 |