国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

我用 Vue3+Ts+Vite2 寫了一個美女小黃站

共 37377字,需瀏覽 75分鐘

 ·

2021-04-06 15:16

首先使用以下命令創(chuàng)建項目

yarn create @vitejs/app vue3-ts-vite2 --template vue-ts

vite.config.js

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  base'./'// 打包路徑
  resolve: { // 解析
    alias: { // 重命名路勁
      '@': path.resolve(__dirname, './src')
    }
  },
  server: {
    port4000// 服務端口
    opentrue// 是否自動打開瀏覽器
    host'localhost'// 主機名字
    proxy: { // 代理
      '/api': {
        target'/api',
        changeOrigintrue,
        wsfalse,
        rewritepath => path.replace(/^\/api/'')
      }
    },
    corstrue
  }
})

tsconfig.json

{
  "compilerOptions": {
    "target""esnext",
    "module""esnext",
    "moduleResolution""node",
    "strict"true,
    "jsx""preserve",
    "sourceMap"true,
    "resolveJsonModule"true,
    "esModuleInterop"true,
    "lib": ["esnext""dom"],
    "types": ["vite/client"]
  },
  "include": ["src/**/*.ts""src/**/*.d.ts""src/**/*.tsx""src/**/*.vue"]
}

postcss.config.js

module.exports = {
    "plugins": {
        "postcss-pxtorem": {
            rootValue37.5,
            // Vant 官方根字體大小是 37.5
            propList: ['*'],
            selectorBlackList: ['.norem']
            // 過濾掉.norem-開頭的class,不進行rem轉換
        }
    }
}

package.json

{
  "name""vue3-vite2-ts",
  "version""0.0.0",
  "scripts": {
    "dev""vite",
    "build""vue-tsc --noEmit && vite build",
    "serve""vite preview"
  },
  "dependencies": {
    "@types/node""^14.14.37",
    "axios""^0.21.1",
    "jsonwebtoken""^8.5.1",
    "mockjs""^1.1.0",
    "vant""^3.0.11",
    "vue""^3.0.10",
    "vue-router""4",
    "vuex""^4.0.0"
  },
  "devDependencies": {
    "@vitejs/plugin-vue""^1.1.5",
    "@vue/compiler-sfc""^3.0.5",
    "postcss-pxtorem""^6.0.0",
    "sass""^1.32.8",
    "typescript""^4.1.3",
    "vite""^2.1.3",
    "vue-tsc""^0.0.8"
  }
}

index.html

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <link rel="icon"
        href="/favicon.ico" />

  <meta name="viewport"
        content="width=device-width, initial-scale=1.0, user-scalable=no" />

  <title>Vite App</title>
</head>

<body>
  <div id="app"></div>
  <script type="module" src="/src/main.ts"></script>
</body>

</html>

src/api/request.ts

import axios from 'axios'

const service = axios.create({ // 創(chuàng)建服務
    baseURL'/api/',
    timeout5000
})

service.interceptors.request.use(config => { // 請求攔截處理
    const token = window.localStorage.getItem("accessToken")
    if (token) {
        config.headers.common.Authorization = token
    }
    return config
}, error => {
    return Promise.reject(error)
})

service.interceptors.response.use(response => { // 響應攔截處理
    const res = response.data
    if (response.status !== 200) {
        return Promise.reject(new Error(res.message || 'Error'))
    } else {
        return res
    }
}, error => {
    return Promise.reject(error)
})

export default service

src/api/index.ts

import type { AxiosPromise } from 'axios'
import request from './request'

// 獲取首頁banner新聞數據
export const getBannerList = (): AxiosPromise => {
    return request({
        url'/bannerList'
    })
}

//  獲取首頁newsList數據
export const getNewsList = (): AxiosPromise => {
    return request({
        url'/newsList'
    })
}

//獲取newsDetail數據
export const getNewsDetail = (id: any): AxiosPromise => {
    return request.post('/detailList', {
        id
    })
}

// 登錄驗證
export const toLogin = (data: Object): AxiosPromise => {
    return request.post('/login', data)
}

export default {
    getBannerList,
    getNewsList,
    getNewsDetail,
    toLogin
}

src/api/mock.ts

import Mock from 'mockjs'
interface Data {
    id?: string | number,
    title?: string,
    images?: string | Array<string>,
    author?: string,
    token?: string
}

const bannerData: Array<Data> = [
    {
        "id""1",
        "images""./2021-02-27/1.jpg",
        "title""翹屁美女"
    },
    {
        "id""2",
        "images""./2021-02-27/2.jpg",
        "title""青春美女"
    },
    {
        "id""3",
        "title""翹屁美女",
        "images""./2021-02-27/3.jpg",
    },
    {
        "id""4",
        "title""性感美女",
        "images""./2021-02-27/4.jpg",
    },
    {
        "id""5",
        "title""哈哈美女",
        "images""./2021-02-27/5.jpg",
    },
    {
        "id""6",
        "title""性感美女",
        "images""./2021-02-27/6.jpg",
    },
    {
        "id""7",
        "title""愛笑美女",
        "images""./2021-02-27/7.jpg",
    },
    {
        "id""8",
        "title""哈哈美女",
        "images""./2021-02-27/8.jpg",
    },
    {
        "id""9",
        "title""愛笑美女",
        "images""./2021-02-27/9.jpg",
    },
    {
        "id""10",
        "title""愛笑美女",
        "images""./2021-02-27/10.jpg",
    },
    {
        "id""11",
        "title""愛笑美女",
        "images""./2021-02-27/11.jpg",
    },
    {
        "id""12",
        "title""愛笑美女",
        "images""./2021-02-27/12.jpg",
    },
    {
        "id""13",
        "title""愛笑美女",
        "images""./2021-02-27/13.jpg",
    },
    {
        "id""14",
        "title""愛笑美女",
        "images""./2021-02-27/14.jpg",
    },
    {
        "id""15",
        "title""愛笑美女",
        "images""./2021-02-27/15.jpg",
    },
]

const newsData: Array<Data> = [
    {
        "id""1",
        "images": ["../assets/logo.png"],
        "title""金發(fā)碧眼為什么很少在白人以外的種族出現?",
        "author""作者 / biokiwi"
    },
    {
        "id""2",
        "title""《哈利波特》原著中與電影中人物有哪些差別?",
        "author""作者 / kalinnn",
        "images": ["../assets/logo.png"]
    },
    {
        "id""3",
        "title""有哪些適合情侶兩個人一起玩的桌游?",
        "author""作者 / 北邙",
        "images": ["../assets/logo.png"]
    }
]

const loginData: Data = {
    "token""eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiJhZG1pbiIsInVzZXJfaWQiOjEsImlhdCI6MTU5NDI2MjQ5NSwiZXhwIjoxNTk0MzQ4ODk1fQ.1MJ_MAFgpBjOjpggj69Xz8F_evBcMAenRK_7a8fdVrc"
}

Mock.mock('/api/bannerList''get', {
    "data": bannerData
})

Mock.mock('/api/newsList''get', {
    "data": newsData
})


Mock.mock('/api/login''post', {
    "data": loginData
})

src/api/token.ts

import jwt from 'jsonwebtoken'
const jwtScrect: string = "accessToken"
const genToken = (username: string, password: string): string => {
    const token: string = jwt.sign({ username, password }, jwtScrect, { expiresIn'24h' })

    return token
}

export default {
    genToken
}

src/components/Banner/index.vue

<template>
  <div class="swipe-content">
    <van-swipe class="my-swipe" :autoplay="3000" indicator-color="white" lazy-render>
      <van-swipe-item v-for="item in bannerData" :key="item.id">
        <img :src="item.images" class="img" :alt="item.title" @click="toDetail(item)" />
      </van-swipe-item>
    </van-swipe>
  </div>
</template>
<script>
import { useRouter } from "vue-router";
export default {
  name"Banner",
  props: {
    bannerData: {
      typeArray
    }
  },
  setup(props) {
    const router = useRouter();
    const toDetail = item => {
      router.push({
        name"Detail",
        params: {
          id: item.id,
          itemJSON.stringify(item)
        }
      });
    };

    return {
      toDetail
    };
  }
};
</script>
<style lang="scss" scoped>
.img {
  width: 100%;
  height: 100%;
}
.my-swipe {
  width: 100%;
}
.my-swipe .van-swipe-item {
  width: 100%;
  //   color: #fff;
  font-size: 1rem;
  //   line-height: 6rem;
  text-align: center;
  background-color: #fff;
}
</style>

src/router/index.ts

import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'

const routes: Array<RouteRecordRaw> = [
    {
        path'/',
        name'Home',
        meta: {
            title"首頁",
            keepAlivetrue,
            requireAuthtrue
        },
        component() => import("../views/Home/index.vue")
    },
    {
        path'/select',
        name'Select',
        meta: {
            title"選項",
            keepAlivetrue,
            requireAuthtrue
        },
        component() => import("../views/Select/index.vue")
    },
    {
        path'/detail/:id/:item',
        name'Detail',
        meta: {
            title"選項",
            keepAlivetrue,
            requireAuthtrue
        },
        component() => import("../views/Detail/index.vue")
    },
    {
        path'/login',
        name'Login',
        meta: {
            title"登錄",
            keepAlivetrue
        },
        component() => import("../views/Login/index.vue")
    }
]

const router = createRouter({
    history: createWebHashHistory(),
    routes
})

router.beforeEach((to, from, next) => {
    if (to.meta.requireAuth) {  // 判斷該路由是否需要登錄權限
        if (window.localStorage.getItem('accessToken')) {  // 通過vuex state獲取當前的token是否存在
            next();
        }
        else {
            next({
                path'/login',
                query: { redirect: to.fullPath }  // 將跳轉的路由path作為參數,登錄成功后跳轉到該路由
            })
            window.localStorage.clear()
        }
    }
    else {
        next();
    }
})

export default router

src/store/index.ts

import { createStore } from 'vuex'
export default createStore({
    state: {
        listData: { 110 },
        num10
    },
    mutations: {
        setData(state, value) {
            state.listData = value
        },
        addNum(state) {
            state.num = state.num + 10
        }
    },
    actions: {
        setData(context, value) {
            context.commit('setData', value)
        }
    },
    modules: {}
})

src/utils/rem.ts

import { stringifyQuery } from "vue-router"

const baseSize: number = 37.5

function setRem({
    const scale: number = document.documentElement.clientWidth / 375
    document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px'
}

setRem()

window.onresize = function ({
    setRem()
}

src/views/Detail/index.vue

<template>
  <div class="detail-wrap">
    <p class="title">{{item.title}}</p>
    <div class="img" v-for="(img, index) in item.imgs" :key="index">
      <img :src="img" class="img" />
    </div>
  </div>

</template>

<script lang="ts">
import { useRoute } from "vue-router";
import { reactive, toRefs, computed } from "vue";
export default {
  name: "Detail",
  setup(props) {
    interface Data {
      id?: string | Array<string>;
      item?: Object;
    }
    let data: Data = {
      id: "",
      item: Object
    };
    const state = reactive(data);

    const route = useRoute();
    const item = computed(() => route.params.item).value;
    state.id = computed(() => route.params.id).value;
    state.item = JSON.parse(item);

    return {
      ...toRefs(state)
    };
  }
};
</
script>

<style lang="scss" scoped>
.detail-wrap {
  width: 100%;
  .title {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    color: #cccc;
    font-size: 20px;
    margin-block-start: 0;
    margin-block-end: 0;
    background-color: #2c323c;
  }
  .img {
    width: 100%;
    height: 100%;
  }
}
</style>


src/views/Select/index.vue

<template>
  <div class="select-wrap">
    <van-radio-group
      v-model="state.checked"
      direction="horizontal"
      :icon-size="30"
      @change="change"
    >

      <van-radio name="1"></van-radio>
      <van-radio name="2"></van-radio>
    </van-radio-group>
  </div>

</template>

<script lang="ts" setup="props">
import { ref, getCurrentInstance } from "vue";
import { useRouter } from "vue-router";
const router = useRouter();
const state = ref({
  checked: ""
});
const { ctx } = getCurrentInstance();

const change = (e: string) => {
  const num = parseInt(e);
  switch (num) {
    case 1:
      console.log("男");
      ctx.$toast({
        type: "text",
        message: "暫無帥哥"
      });
      break;
    case 2:
      console.log("女");
      setTimeout(() => {
        router.push("/
");
      }, 1000);
      break;
    default:
  }
};
</script>

<style lang="
scss" scoped>
.select-wrap {
  width: 100%;
  height: 100%;
  background-color: #ebfff0;
  display: flex;
  justify-content: center;
  flex-direction: row;
  align-items: center;
  ::v-deep .van-radio__label {
    font-size: 30px;
  }
}
</style>

src/views/Home/index.vue

<template>
  <div class="home">
    <p class="text">美女圖片預覽</p>
    <banner :bannerData="state.bannerData"></banner>
    <van-loading color="#1989fa" v-if="state.loading" />
  </div>
</template>
<script lang="ts" setup="props">
import { reactive, onMounted, getCurrentInstance } from "vue";
import { useRouter } from "vue-router";
import { useStore } from "vuex";
import { getBannerList } from "../../api/index";

const router = useRouter();
const store = useStore();

// 獲取上下文對象
const { ctx } = getCurrentInstance();

// 定義響應式數據
const state = reactive({
  color"#ccc",
  bannerData: [],
  loadingfalse
});

const initFN = () => {
  ctx.$toast({
    type"fail",
    message"請求失敗"
  });
  state.loading = false;
};

// DOM 加載完成后更新數據
onMounted(() => {
  state.loading = true;
  getBannerList()
    .then(
      (res: any) => {
        state.loading = false;
        state.bannerData = res.data;
        ctx.$toast({
          type"success",
          message"請求成功"
        });
        console.log(res);
      },
      error => {
        initFN();
      }
    )
    .catch(error => {
      initFN();
    });
});
</script>
<style lang="scss" scoped>
.home {
  height100%;
}
.text {
  colorv-bind("state.color");
  font-size20px;
  margin-block-start0;
  margin-block-end0;
  background-color#2c323c;
}
.login {
  width100%;
  height100px;
  line-height100px;
  background-color: pink;
}
</style>

src/views/Login/index.vue

<template>
  <div class="login">
    <div class="passw-name-box">
      <div class="name">
        <i class="name-img"></i>
        <input v-model="state.userName" type="text" placeholder="請輸入用戶名" />
      </div>
      <div class="name">
        <i class="passw-img"></i>
        <input v-model="state.passWord" type="password" placeholder="請輸入密碼" />
      </div>
      <div>
        <van-button type="primary" @click="login">登錄</van-button>
      </div>
    </div>
  </div>
</template>
<script lang="ts" setup="props">
import { reactive, getCurrentInstance } from "vue";
import { useRouter } from "vue-router";
import { toLogin } from "../../api/index";
const router = useRouter();

const { ctx } = getCurrentInstance();

const state = reactive({
  userName"",
  passWord""
});

const initError = () => {
  ctx.$toast({
    type"fail",
    message"登錄失敗"
  });
  window.localStorage.clear();
  router.push("/login");
};

const login = async () => {
  if (!state.userName) {
    ctx.$toast({
      type"text",
      message"請輸入用戶名"
    });
    return;
  }

  if (!state.passWord) {
    ctx.$toast({
      type"text",
      message"請輸入密碼"
    });
    return;
  }
  toLogin({ userName: state.userName, passWord: state.passWord })
    .then(
      res => {
        ctx.$toast({
          type"success",
          message"登錄成功"
        });

        // 設置 token
        window.localStorage.setItem("accessToken", res.data.token);
        console.log("res===>", res);
        router.push("/select");
      },
      error => {
        initError();
      }
    )
    .catch(error => {
      initError();
    });
};
</script>

<style lang="scss" scoped>
.login {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  background: url("./login/bgimg.jpg") no-repeat;
  background-size: 100% 100%;
  background-position: 100% 100%;
  .passw-name-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    .name {
      display: flex;
      justify-content: center;
      padding: 5px 10px;
      input {
        width: 250px;
        height: 32px;
        outline: none;
        border: none;
        font-size: 16px;
        margin-left: 10px;
      }
      .name-img {
        display: block;
        width: 32px;
        height: 32px;
        background: url("./login/sno.png") no-repeat;
        background-size: 100% 100%;
      }
      .passw-img {
        display: block;
        width: 32px;
        height: 32px;
        background: url("./login/pasw.png") no-repeat;
        background-size: 100% 100%;
      }
    }
  }
}
</style>

src/App.vue

<template>
  <div style="height: 100%;">
    <router-view></router-view>
  </div>
</template>

<script lang="ts">
import { defineComponent } from "vue";

export default defineComponent({
  name"App"
});
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color#2c3e50;
  /* width: 100%; */
  height100%;
}
html,
body {
  height100%;
  /* width: 100%; */
  overflow-x: hidden;
}
</style>

src/main.ts

import { createApp } from 'vue'
import App from './App.vue'
import router from './router/index'
import store from './store/index'
import 'vant/lib/index.css'
import vant from 'vant'

import { Toast } from 'vant'
import "./utils/rem"
import './api/mock'
import Banner from "./components/Banner/index.vue"
const app = createApp(App)
app.component('banner', Banner).use(router).use(store).use(vant).mount('#app')
app.config.globalProperties = {
    "$toast": Toast,
}

src/shims-vue.d.ts

declare module '*.vue' { // 定義 .vue 文件模塊
  import { DefineComponent } from 'vue'
  const component: DefineComponent<{}, {}, any>
  export default component
}

declare module 'mockjs' // 定義 mockjs 模塊
declare module 'jsonwebtoken' // 定義 jsonwebtoken 模塊



瀏覽 424
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 AAA一区二区三区| 亚洲成人无码视频在线观看| 蜜桃视频91| 中国操逼网| 日本三级韩三级99久久| 成人一区在线观看| 亚洲综合免费观看高清完整版在线观 | 欧美成人三级在线播放| 性欧美一区二区| 无码三级视频| 亚洲香蕉在线| 91精品国产综合久久久蜜臀主演| 亚洲有码中文字幕| 亚洲va欧美va| 全部免费黄色视频| 怡春院免费视频| 麻豆国产一区二区三区四区| 日韩一级黄色毛片| 99久久久无码国产精品性波多| 久久综合伊人7777777| 综合导航无码| 性v天堂| 中文字幕免费视频在线观看| 日韩乱伦中文字幕| 天天插天天拍| 无码孕妇| av色站| 伊人网在线播放| 91精品国产综合久久久蜜臀九色| 亚洲成人第一页| 在线天堂999| 久久久精品在线| 欧美aaaaaa| 肏逼网| 人人干人人色| 成人在线精品视频| 国产欧美综合在线| 一本到在线视频| 日本A在线播放| 曰韩一级A片| 国产黄h| 成人在线网| 人人妻人人澡人人爽人人DVD| 91久久久久国产一区二区| 国产一级a一片成人AV| 亚洲国产精品精JIZZ老师| 中文在线а√天堂8| 操碧一区| 无码视频播放| 黄色片在线看| 山东wBBBB搡wBBBB| 在线看黄片| 国产综合久久777777麻豆| 男人av在线| 久久夜色精品国产噜噜亚洲AV| 日韩欧美在线免费| 久久久久亚洲AV无码专区成人| 日韩欧美国产黄色电影| 佳佳女王footjob超级爽| 狠狠肏| 图片区视频区小说区| HEZ-502搭讪绝品人妻系列| 各国熟女HD合集| 日韩中文字幕精品| 国内精品久久久久久久久久| 青青草网址| 国产Av资源| 99精品一区二区三区| 久久精品99视频| 久久久久久久| 蜜桃视频| 日韩无码久久久| 中文字幕在线观看免费高清完整版在线观看| 亚洲欧洲精品在线| 91国语对白| 日韩不卡一区| 日韩区一中文字幕a∨| 97国产精品久久| 亚洲大胆视频| 亚洲天堂无| 久久99高清| 无码九九九| 91久久久久久久久久久| 无码人妻精品一区二区50| 午夜视频在线| 国产欧美精品成人在线观看| 91香蕉视频在线| 爱爱打炮影院| 一区视频| 日日干天天干| 少妇无码视频| 高hnp| 一区在线播放| 午夜日逼| 日韩精品人妻一区二区| 影音先锋三级| 天天日天天操天天射| 无码av在线播放| 97人人插| 五月天性爱视频| 三级小说| 怡红院av| 操逼视频国产| 波多野结衣黄色视频| caobi视频| 韩日在线| 麻豆AV在线| 久久一本| 黄片网站免费| 青青草视频在线观看| 亚洲日韩中文字幕在线观看| 人人干人人爱| 天天日天天爽| 苍井空亚洲精品AA片在线播放| 国产日韩欧美在线| 丁香六月婷婷| 欧美自拍性爱视频| 天天躁狠狠躁av| 青娱乐偷窥成| 北条麻妃一区二区三区在线| 免费的一级A片| 一道本无码免费视频| 激情婷婷亚洲| 97精品无码| 激情五月天亚洲| 国产精品女人777777| 少妇人妻一区二区三区| 69人人| 人人操人人模| 日韩A片在线| 人人澡超碰碰| 国产精品高潮无套内谢| 人人射视频| 色婷婷激情| 九九视频在线观看| 国产秘久久一区二区| 午夜激情av| 男人天堂影院| 内射午夜福利在线免费观看视频| 全部免费黄色视频| 爱搞在线观看wwww| 亚洲视频A| 黄色AV免费观看| 久草欧美| 人妻熟女在线| 国产精品不卡在线观看| 337p西西人体大胆瓣开下部| 国产成人免费观看| 免费成人黄片| 99热在线免费观看| 91最新在线播放| 久艹久| 国模无码在线| www99精品| 九九九九九精品| 黑人AV在线观看| 色屁屁草草影院ccyycom| 老熟妇一区二区三区啪啪| 久久与婷婷| 成人无码动漫A片| 日日摸日日| 天天综合视频| 国产喷水ThePorn| 在线观看无码AV| 91逼| 亚洲精品国产精品国自产| 国产精品一区二区三区在线| 成人小视频18| 亚洲国产精品久久| 激情欧美| 强伦轩人妻一区二区三区最新版本更新内容 | 黄色网页免费观看| 91理论片| 在线无码免费视频| 亚洲A级| 久久嫩草精品久久久久| 一区免费视频| 人人爱人人妻人人操| 亚洲Av在线观看| 国产又爽又黄视频| 老太色HD色老太HD-百度| 最新无码在线| 成人网站一区| 国产色视频| 91性爱小视频| 先锋资源男人站| 一级AAAAA片裸体做受| 天天爽天天爽夜夜爽毛片| 乱子伦国产精品一区二区| 18国产免费视频在线观看| 日韩成人中文字幕| 国产中文字幕片| 亚洲成人电影AV| 免费av观看| 京东热av| 99久久久国产精品无码| 黄色国产在线观看| 中文字幕在线观看1| 亚洲无码在线高清| 靠逼网站免费观看| 婷婷五月欧美| 特级毛片www| 影音先锋一区二区三区| 欧美性爱天天| 一区二区免费在线观看| 亚洲一区二区三区在线视频| 成人无码区免费| 中文字幕有码视频| 亚洲激情性爱| 久久免费视频网站| 欧美三级网站在线观看| 99自拍| 色网在线观看| 中文字幕成人av| 久久黄色视屏| 国产精品无码专区AV免费播放 | 大地资源38页| 狠狠狠狠干| 国产精品一区在线观看| 欧美精品18videosex性欧美| 日韩精品毛片| 国产三级片精品| 性猛交AAAA片免费看蜜桃视频| 91综合网| 国产1区在线观看| 国产亚洲成人综合| 国产女人18毛片水真多1| 婷婷性爱| 国产一级性爱视频| 国产91久久婷婷一区二区| 激情操逼网| 99re久久| 久草黄色电影| 亚洲高清福利视频| 亚洲女人在线| 中文字幕一区二区三区的重点问题 | 永久免费不卡在线观看黄网站| 中文字幕日韩有码| 日韩大片在线观看| 亚洲精品高清无码| 日韩三级片AV| 手机在线操B视频| 成人av中文字幕| 天天干天天射天天操| 亚洲高清无码播放| 中文字幕在线成人| 操日本美女| 成人三区| 亚洲久爱| 亚洲区中文字幕| 日本爱爱免费视频| 翔田千里无码精品| 国产AV剧情| 日日摸日日操| 精品欧美无人区乱码毛片| 插穴网| 亚洲AV一二三区| 2017天天干| 无码一区二区三区四区| 九色蝌蚪9l视频蝌蚪9l视频成人熟妇 | 大荫蒂hd大荫蒂视频| 日韩毛片在线观看| 好逼天天操| 丰满人妻一区二区三区免费| 西西444WWW大胆无视频软件亮点 | 人妻体内射精一区二区三区| 久久久在线| 一级无码在线| 内射无码视频| 国产有码视频| 中文字幕一二三| 亚洲AV无码专区在线播放中文 | 亚洲高清无码在线观看| 国产精品一区二区三区不卡 | 波多野结衣高清av久久直播免| 夸克看成人片一级A片| 综合在线视频| 亚洲美女喷水视频| 欧美日韩国产91| 亚洲乱伦中文字幕| 日本三级片在线| 狠狠2021| 午夜欧美| 黄频美女日本免费| 国产又粗又黄| 亚洲无码中文字幕在线播放| 黄色A网站| 久久伊人综合| 国产无码高潮在线| 亚洲性爱一区二区三区| 西西特级WWW444无码| 亚洲成人视频网站| 亚洲人成高清| 韩日AV| 亚洲AV无码国产精品| 国产精品免费久久| 亚洲色在线观看| 日韩在线| 日日操人人操| 一道本一区| 亚洲AV无码一区二区三区少妇 | 色五月网站| 欧美动态视频| 日本黄色的视频| 综合激情AV| 91香蕉视频在线播放| 五月色婷婷综合| 无码人妻精品一区| 亚洲中文字幕在线观看视频| 国产精品理论片| 国产成人精品一区二区三区| 操操操操一本到| 国产无遮挡又黄又爽又色| 日本无码嫩草一区二区| 内射一区二区三区| 亚洲成人精品在线| 不卡一二三区| 日本色电影在线观看| 欧美激情在线| PORNY九色视频9l自拍| 国产无码在线看| 亚洲无码三级片在线观看| ww免费视频| 日韩精品无码一区二区| 91婷婷射| 大香蕉999| 日韩极品视频在线| 男女拍拍免费视频| 丝袜制服中文字幕无码专区| 亚洲日韩欧美一厂二区入| 青青草无码成人天堂免费| 日韩大片在线| 亚洲精品成人av无码| 国产操屄网| 中文字幕35页| 麻豆传媒在线观看| 18禁一区二区| 欧美性爱综合网| 在线观看欧美黄片| 玖玖国产| 成人中文字幕网站| 欧美成人第一页| 国产AV日韩AⅤ亚洲AV中文| 午夜理伦| 日韩中文字幕| 99精品国自产在线| 国产欧美熟妇另类久久久| 成人AV一AV二| 国产香蕉在线| 强开小嫩苞毛片一二三区| 狠狠综合网| 欧美精品一区二区少妇免费A片| 亚洲高清成人| 轻轻操内射无码| 日本在线一区二区| 日本Sm/调教/捆绑/紧缚| 53岁露大奶熟女偷情贴吧| 亚洲无码视频免费看| 久操麻豆| 久操视频网| 色噜噜狠狠一区二区三区300部| 撸一撸在线| 激情青青草| 亚洲视频中文字幕在线观看| 巨爆乳肉感一区二区三区视频 | 伊人久久大香蕉视频| 偷拍亚洲| 91色五月| 操日韩| 草逼免费看| 91小视频在线观看| 亚洲五月激情| 嫩小槡BBBB槡BBBB槡漫画| 日韩在线大香蕉| 欧美日韩精品一区二区| 亚洲aaaaaa| 午夜激情视频网站| 欧美三级不卡| 国产精品一卡二卡| 大香蕉青青| 操逼大香蕉| 国产欧美日韩一区| 中文无码人妻| 中文字幕av网| 天堂精品| 一个人看的视频www| 69无码| 天堂网在线播放| 91人妻视频| 日本欧美在线视频| 激情小视频国产在线播放| 深爱激情网五月天| 国产AV一区二区三区四区五区 | 内射无码视频| 久久99精品国产麻豆婷婷洗澡| 亚洲国产成人91PORN| 青娱乐国产AV| 国产性爱在线视频| jizz免费观看| jizz在线免费观看| 爱搞搞搞搞| 97精品人妻一区二区三区| 精品码产区一区二亚洲国产| 成人一区二区三区| 五月婷婷五月| 日韩一级无码毛片| 亚洲无码精品在线观看| 蜜臀网在线观看| 亚洲AV中文| 99久久国产热无码精品免费| 日韩综合在线| 免费欧美性爱| 欧美区在线观看| 东京热无码免费视频| 青青国产在线观看| 怡春院国产| av在线一区二区三区| 国产一级美女操逼视频免费播放| 婷婷无码在线| 婷婷五月免费视频| 欧美香蕉| 丁香六月婷婷综合缴| 麻豆性爱| 丁香五月婷婷五月天| 国产精品AV片| 高清无码一区二区三区四区| 狠狠2021| 久久v| 天天爽天天搞| 五月色婷婷综合| 久久精品小视频| 国产中文字幕av| 国产精品果冻传媒| 无码区一区二区三区| 黄色三极片| 国产黄色片在线观看| 亚洲乱伦小说网| 美女网站黄a| 男女www视频| 老司机午夜免费精品视频| 黄片视频免费在线观看| www.操| 精品国产一区二区三区性色AV| 欧美成人午夜视频| 91无码人妻东京热精品一区| 午夜av在线| 久久精品苍井空免费一区二 | 麻豆传媒免费观看| 亚洲高清无码电影| 一本大道DVD中文字幕| 欧美成人精品激情在线观看| 成人喷水亚洲一区无码| 在线黄色AV| 久久久久久久久久久久成人| 黄色视频网站在线| 久久免费在线视频| 大香蕉亚洲网| 激情视频网址| 国产做受91电影| 久久燥| 毛片区| 激情婷婷综合| 学生妹一级| 国产精品色哟哟| 91狠狠色丁香婷婷综合久久精品| 能看的操逼网站| 亚洲va国产va天堂va久久| 无码水蜜桃一区二区| 91免费在线视频观看| 91新视频| 国产乱子伦-区二区三区熟睡91 | 久久99久久99久久| 丝袜美腿亚洲综合| av牛牛| 亚洲高清人妻| 亚洲A片在线观看| 无码欧美成人AAAA三区在线| 亚洲人妻免费视频| 无码免费婬AV片在线观看| h片网站在线观看| 成人福利免费视频| 国产AA| 天堂AV在线免费观看| 欧美精品在线免费观看| 水蜜桃在线视频| 亚洲人妻无码视频| 国产精品福利在线播放| 欧美日本成人网站入口| 国产在线一区二区三区| 欧美色图888| 国内无码精品| 无码一道本| 黄色操屄视频| 免费av观看| 国产18欠欠欠一区二区| 中文字幕无码Av在线看| 国产手机精品视频| 先锋资源男人站| 黄色在线免费看| 亚洲无码大全| eeuss久久| 涩久久久| 免费a网站| 五月丁香亭亭| 亚洲午夜成人精品一区二区| 色第一页| 日韩第一页| 香蕉AV777XXX色综合一区 | 久久理论| 91丨熟女丨露脸| 天堂亚洲AV无码精品成人| 一区二区三区成人电影| 亚洲精品国产成人AV在线| 黄色污污污网站| a在线视频| 大鸡吧网| 亚洲天堂在线看| 日韩无码第四页| 91在线精品视频| 在线中文无码| 日韩操屄视频| 欧美精品久| 熟女探花精选| 婷婷五月综合网| 午夜AV在线观看| 国产成人精品久久二区二区91 | 人妻无码中文字幕蜜桃| 中国乱伦视频| 黄色亚洲| 日韩黄色视频网站| 麻豆传媒在线| 中文字幕无码精品| 久艹| 岛国免费av| 亚洲色图欧美另类| www,色婷婷| 91视频福利网| 国产操逼视频| av电影在线观看| 又黄又爽无遮挡| 欧美做受高潮白| 欧美亚洲小说| 久草福利| 2014天堂网| 亚洲AV无一区二区三区久久| 青草青在线| 一级a一级a爰片免费免免在线| 大香蕉一区二区| 成人自拍视频在线观看| 亚洲熟妇视频| 亚洲无码视频在线免费观看 | 国产迷奸在线| 国产精品4| 国产做受精品网站在线观看| 91精品电影18| 中文字幕人妻一区| 亚洲一区二区AV| 西西WWW888大胆无码| 国产青青操| 爆操表妹| 国产成人视频在线观看| 精品国产一区二区三区久久久蜜月 | 99热精品在线观看| 91狠狠综合久久久| 成人免看一级a一片A片| 午夜福利播放| 免费观看亚洲视频| 欧美成人福利视频| 德美日三级片在线观看| 国产无码久久| 欧美成人精品欧美一级私黄| 开心色情| 成人A片在线| 91AV在线观看视频| 人妻精品一区二区在线| 亚洲麻豆| 四虎精品影院| 色婷婷一级A片AAA毛片| 日韩在线视频免费播放| 性爱91视频| 粉嫩99国产精品久久久久久人妻| 成人激情片| 黄片视频在线观看| 黄色小视频免费看| 免费高潮视频| 中文有码在线观看| 午夜探花在线观看| 亚洲丰满熟妇| 国产欧美精品一区二区三区| AAA片网站| 激情婷婷| 欧美、日韩、中文、制服、人妻 | 91丨九色丨熟女丰满| 69成人视频| 成人精品一区二区三区无码视频| 中文色片| 无码999| 一本色道88久久加勒比精品| 麻豆成人91精品二区三区| 亚洲欧美人妻| 国产精品自拍小视频| 91色综合| 丁香婷婷激情| 69视频在线播放| 免费A级黄片| 青娱乐亚洲视频在线| 久久午夜无码鲁丝午夜精品| 黄色av影院| 亚洲无码免费观看| 一本色道久久加勒比精品| 久久久久久精| 无码成人av| 91av无码| 国产毛片毛片毛片毛片毛片| 欧美日韩小电影| 青青欧美| 黑人在线视频| 日韩精品无码人妻| 日本少妇中文字幕| 欧洲成人无码| 国产三级国产三级国产普通话| 麻豆三级片| 亚洲AV无码国产精品| 天天激情| 波多野结衣AV在线播放| 成人久久视频| 伊人久久爱| 黄色AV网| 亚洲www在线观看| 99精品全国免费观看| 97大香蕉在线视频| 五月丁香欧美综合| 在线色综合| 91乱了伦国产乱子伦| 狠狠干老司机| 免费av毛片| 伊人久久大香色综合久久| 亚洲精品国产精品乱玛不99| 怡红影院美乳| 北条麻妃无码视频| 国产精品福利在线观看| 亚洲欧美久久| 强伦轩农村人妻| 日本午夜视频| 无码人妻av黄色一区二区三区 | 在线播放一区| 夜色福利在线| WWW久久| 天堂网中文| 人人色人人操人人干| 亚洲片在线观看| www.99爱| 美女一级片| 精品人妻一区二区乱码一区二区| 中文免费高清在线| 亚洲精品中文字幕成人片| 狼友无码| 人人爽人人爽| 一级操逼大片| 无码欧美成人| 操逼网站在线观看| 亚洲天堂影院| 五月亭亭在线视频| 婷婷午夜福利| 亚洲欧洲日韩| 日本欧美在线| 亚洲人妻免费视频| 欧美国产精品一区二区三区| 深爱激情网五月天| 91精品综合| 人妻熟女字幕一区二区| 人人干人人操人人爽| 成人一区二区在线观看| 久久久久久久久久8888| 大鸡吧在线| 蜜臀网在线观看| 亚洲精品乱码久久久久久| 九九热精品在线| www.黄色大片| 日韩人妻AV| 伊人午夜| 久久久精品中文字幕麻豆发布 | 欧美v在线观看| 久久国内| 美日韩视频欧美一区二区视频| a片在线观看视频| 躁BBB躁BBB添BBBBBB| 91羞羞网站| 影音先锋成人在线资源| 污视频免费在线观看| 亚洲无码免费视频在线观看| 国产精品黄色片| 免费在线观看黄色视频网站| 无码一区二区三区免费看| 男女日逼网站| 悠悠无码一区日韩妇女| 欧美成人三级在线播放| 国产av黄色| 无码专区av| 日本五十路熟女视频| 亚洲精品中文字幕在线| 九九自拍视频| 亚洲最大黄色| 91吴梦梦无码一区二区| 在线看v| 日本一区二区三区视频在线观看| 免费中文字幕AV| 国产精品一麻了麻了| 国产免费www| 91探花足浴店少妇在线| 四虎亚洲无码| 国产成人三级片| 精品久久久999| 综合色婷婷一区二区亚洲欧美国产| gogogo高清在线观看免费直播中国 | 久热免费视频在线观看| 欧美性爱综合网| 日本豆花视频| 国产婷婷久久| 韩国无码中文| 国产传媒视频| 日韩黄色免费网站| 欧美黄色片在线观看| 精品人人人| 日本久久网站| 天天操大香蕉| 在线免费看a| 日韩毛片在线视频x| 六月婷婷中文字幕| 白浆四溢av| 婷婷精品免费久久| 骚妇p| 日韩性做爰免费A片AA片| 欧洲三级片网站| 久久精品99久久久久久| 无套内射在线免费观看| 欧美日韩精品在线视频| 五月丁香六月情| 日一日干一干| 精品九九九九九九| 成人做爰黄AA片免费看三区| 亚洲无码免费在线视频| 黄色成人视频在线免费观看| 亚洲一区二区视频在线观看| 黄色亚洲| 偷拍亚洲色图| 伊人久久综合| 黄色视频在线观| 日本三级AAA三级AAAA97| 久久与婷婷| 激情二区| 一区日韩| 国产成人激情| 啪啪啪啪网站| 丁香五月婷婷久久| 人人草人人搞| 日韩午夜成人电影| 制服.丝袜.亚洲.中文.豆花| 污视频免费在线观看| 男女av网站| 欧美日本成人网站入口| 欧洲成人在线视频| 中文字幕北条麻妃| 人妻人人爱| 精品乱子伦一区二区三区在线播放| 亚洲夜夜爱| 午夜无码精品一区二区三区99午| 亚洲欧美日韩中文字幕在线观看| 日本色综合| 91精品人妻少妇无码影院| 久久日韩无码| 国产在线秘麻豆精品观看| 日韩欧美在线中文字幕| 亚州一级成人片| 好色婷婷| 午夜操逼逼| 女生自慰在线观看| 在线中文字幕AV| 激情五月天在线视频| 日本精品人妻无码77777| 永久免费无码中文字幕| 色老板av| av高清无码| 亚洲色偷精品一区二区三区| 色婷婷激情在线| 欧美伊人网| 久草国产视频| 黑种人配中国少妇HD| 青娱乐精品| 婷婷综合五月天| 韩国无码视频在线观看| 午夜性爽视频男人的天堂| 97午夜| 日韩动态视频| 操你啦青青草| 潮喷在线| 中国黄色学生妹一级片| 日日摸日日添日日躁AV| 逼特逼视频| 中文三级片| 国产亚洲成人综合| www.色在线观看| 西西人体WW大胆无码| 插逼视频网站| 久久人视频| 人人操碰成人网| 日韩欧美亚洲| 密臀久久| 久久久国产AV| 欧美淫秽视频| 亚洲无码免费在线| 亚洲逼逼| 天堂性爱AV| 欧美又粗又大AAA片| 日本黄色视频在线| AV无码在线免费观看| 日韩不卡一区二区三区| 蜜桃导航-精品导航| 国产成人视频在线| 欧美成人天堂| 国产三级视频在线| 天天干夜夜操| 狼人社區91國產精品| 人人干人人艹| 亚洲精品成AV人片天堂无码 | 3d啪啪动漫| 国产婷婷五月| 亚洲婷婷三级成人网| 日韩在线综合| 色色热热| 亚洲69v久久久无码精品| 五月色视频| 91福利在线观看| 大香蕉日逼| 一级中国毛片| 一本加勒比HEZYO东京热无码| 国产91页| 一级黄色视频日逼片| 国产一级大片| 最新在线中文字幕| 黑人猛躁白人BBBBBBBBB| 大香蕉综合网站| 欧美va视频| 国产免费观看av| 精品一二三区| 超碰在线人人操| 不卡无码av| 色网在线观看| 人人干人人干人人| 成年人在线播放| 丁香婷婷综合网| 久了中文字幕| 久久R5| 国产精品一二三区夜夜躁| 四季AV一区二区夜夜嗨| 国产乱仑视频| 蜜芽成人精品久久久视频| 在线视频三区| 亚洲国产精品自在自线| 国产三级在线播放| 大香蕉精品视频| 成人毛片在线播放| 二区三区免费视频| 插插插综合| 亚洲免费视频网站| 久久久人妻无码精品蜜桃| 国产情趣网站| 亚洲在线免费| 大香蕉网视频| 日批免费网站| 欧美国产日韩在线观看| 四川性BBB搡BBB爽爽爽小说| 亚洲av无码精品| 成人毛片在线播放免费| 久久三级视频| 国产免费一区二区在线A片视频| 欧美色视频一区二区三区在线观看 | 天天干天天舔| 在线观看免费黄色| 97精品人妻一区二区三区香蕉| 日韩精品无码人妻| 婷婷电影网| 亚洲一级av无码毛片精品| 99热在线观看| www.sesese| 精品视频一区二区三区| 色哟哟AV| 亚洲女人被黑人巨大的原因| 高清无码视频网站| 全国最大成人网站| 久草婷婷| 久久99久久99精品免视看婷婷 | 日韩欧美黄| 91人人妻人人| 久久成人一区| 国产午夜影视| 日日夜夜超碰| 黄色三极片| 亚洲无码人妻在线| 亚洲免费AV在线|