黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術(shù)文章
文章詳情頁

Vue組件封裝上傳圖片和視頻的示例代碼

瀏覽:131日期:2023-02-09 13:43:28

Vue組件封裝上傳圖片和視頻的示例代碼

首先下載依賴:

cnpm i -S vue-uuid ali-oss

圖片和視頻字段都是數(shù)組類型,保證可以上傳多個文件。

UploadImageVideo:

<!--UploadImageVideo 分片上傳 --><template> <div class='UploadImageVideo'> <el-upload action :on-change='handleChange' :on-remove='handleRemove' :limit='limitFileNumber' :on-exceed='handleExceed' :file-list='_fileList' :http-request='handleHttpRequest' :before-upload='handleBeforeUpload' :multiple='isMultiple' > <el-button slot='trigger' size='small' type='primary'>選擇文件</el-button> <div slot='tip' class='el-upload__tip'>{{ tip }}</div> </el-upload> <el-dialog :visible.sync='dialogTableVisible' :close-on-click-modal='false' :modal-append-to-body='false' > <el-progress :text-inside='true' :stroke- :percentage='percentage'></el-progress> </el-dialog> </div></template> <script>import { uuid } from 'vue-uuid';const OSS = require('ali-oss'); export default { name: '', components: {}, props: { region: { type: String, default: 'oss-cn-chengdu' }, accessKeyId: { type: String, default: 'xxx' }, accessKeySecret: { type: String, default: 'xxx' }, //存儲位置 bucket: { type: String, required: true }, currentUrls: { type: Array, default: () => [], required: true }, //限制上傳文件數(shù)量 limitFileNumber: { type: Number, default: 1 }, //是否支持多選 isMultiple: { type: Boolean, default: false }, //文件格式 fileType: { type: String, default: '' }, //提示 tip: { type: String } }, data() { return { client: new OSS({region: this.region,accessKeyId: this.accessKeyId,accessKeySecret: this.accessKeySecret,bucket: this.bucket }), percentage: 0, dialogTableVisible: false, fileList: [] }; }, computed: { //注意:計算屬性里面慎用console.log()來打印,因為有可能打印的變量是依賴某個屬性而出現(xiàn)該計算屬性重復(fù)調(diào)用!!!!!! _fileList() { const arr = []; //一定要this.currentUrls判斷一下是否非空,否則要報錯 if (this.currentUrls.length !== 0) {for (const item of this.currentUrls) { let { pathname } = new URL(item); arr.push({ name: decodeURIComponent(pathname), url: item });} } this.fileList = arr; //這行代碼很重要!! return arr; } }, created() {}, mounted() {}, methods: { handleChange(file, fileList) { this.fileList = fileList; }, handleRemove(file, fileList) { this.fileList = fileList; }, handleExceed(files, fileList) { this.$message.warning(`當(dāng)前限制選擇 ${this.limitFileNumber} 個文件,本次選擇了 ${ files.length} 個文件,共選擇了 ${files.length + fileList.length} 個文件` ); }, //注意:為了讓自定義上傳handleHttpRequest生效,需滿足: // 1、設(shè)置:auto-upload=’true’或者不寫這個屬性,因為它默認(rèn)為true 2、設(shè)置action=’#’或者直接寫action handleHttpRequest(file) { //雖然沒有內(nèi)容,但是這個函數(shù)不能少! }, //注意:自定義上傳handleHttpRequest必須要生效,才會觸發(fā)before-upload鉤子函數(shù) handleBeforeUpload(file) { if (this.fileType == 'image') {let { type, size, name } = file;let isJPEG = type === 'image/jpeg';let isJPG = type === 'image/jpg';let isPNG = type === 'image/png';let isLt5M = size / 1024 / 1024 < 5;if (!isJPEG && !isJPG && !isPNG) { this.$message.error('上傳圖片只能是 JPEG/JPG/PNG 格式!'); return false;}if (!isLt5M) { this.$message.error('單張圖片大小不能超過 5MB!'); return false;} } if (this.fileType == 'video') {let { type, size, name } = file;let isMP4 = type === 'video/mp4';let isLt50M = size / 1024 / 1024 < 50;if (!isMP4) { this.$message.error('上傳視頻只能是 MP4 格式!'); return false;}if (!isLt50M) { this.$message.error('單個視頻大小不能超過 50MB!'); return false;} } }, // 分片上傳數(shù)據(jù),可展示進度條。上傳重命名后的文件到alioss, 并返回單個文件url字符串。可支持中文文件名 async UploadImageVideo(filename, file) { let newFileName =filename.split('.')[0] + '-' + uuid.v1() + '.' + filename.split('.')[1]; let that = this; that.dialogTableVisible = true; let {res: { requestUrls } } = await this.client.multipartUpload(newFileName, file, {progress: function(p, checkpoint) { that.percentage = parseFloat((p * 100).toFixed(2));} }); if (that.percentage == 100) {that.dialogTableVisible = false; } let { origin, pathname } = new URL(requestUrls[0]); return origin + decodeURIComponent(pathname); }, //批量上傳文件。返回成功上傳的url數(shù)組 async addFiles() { let urls = []; if (this.fileList.length !== 0) {for (const item of this.fileList) { let { name, raw } = item; let pathname = await this.UploadImageVideo(name, raw); urls.push(pathname);} } return urls; }, //更新文件數(shù)據(jù)。上傳新數(shù)據(jù)到服務(wù)器,并刪除服務(wù)器中的舊數(shù)據(jù),返回更新后的url數(shù)組 async UpdateFiles() { let arr_newUploaded = []; //新上傳的圖片url。 let arr_original = []; //原有的圖片url。不用刪除 let arr_delete = []; //需要刪除的圖片url。 if (this.fileList.length !== 0) {for (const { raw, name, url } of this.fileList) { //注意:這里一定要判斷raw是否存在。存在,則表示是新上傳的;不存在,則表示是原有的 if (raw) { let pathname = await this.UploadImageVideo(name, raw); arr_newUploaded.push(pathname); } if (this.currentUrls.includes(url)) { arr_original.push(url); }} } for (const element of this.currentUrls) {if (!arr_original.includes(element)) { arr_delete.push(element);} } await this.deleteMultiFiles(arr_delete); return [...arr_original, ...arr_newUploaded]; }, //批量刪除服務(wù)器中的文件。參數(shù):待刪除到服務(wù)器文件url數(shù)組。 async deleteMultiFiles(urls = []) { let arr_pathname = []; if (urls.length !== 0) {for (const item of urls) { //不要用let url=require('url');url.parse();已失效。要用new URL() let { pathname } = new URL(item); // decodeURIComponent()函數(shù)將中文亂碼轉(zhuǎn)為中文 arr_pathname.push(decodeURIComponent(pathname));}//刪除服務(wù)器中的圖片await this.client.deleteMulti(arr_pathname); } } }, watch: {}};</script> <style lang='scss' scoped>.UploadImageVideo { /*去除upload組件過渡效果*/ ::v-deep .el-upload-list__item { transition: none !important; }}</style>

使用:

<UploadImageVideo ref='ref_UploadImageVideo' bucket='xxx' :currentUrls='formData.imgurl' :limitFileNumber='3' tip='1、最多上傳3張照片; 2、上傳圖片只能是 JPEG/JPG/PNG 格式; 3、單張圖片大小不能超過 5MB!' fileType='image' :isMultiple='true'></UploadImageVideo> fileType可選。默認(rèn)不寫,表示圖片、視頻都可上傳。fileType='image'表示只能上傳圖片。fileType='video'表示只能上傳視頻 bucket必選。 isMultiple可選。默認(rèn)為false currentUrls必選。當(dāng)前目前已有的文件服務(wù)器url數(shù)組。通常新增文件時,傳入的currentUrls為空數(shù)組[];更新文件時,傳入到currentUrls為非空數(shù)組 tip可選。提示內(nèi)容

提供的方法:(當(dāng)前組件中所有的上傳都是批量上傳,且為分片上傳,以展示上傳進度條)

UpdateFiles()。更新文件數(shù)據(jù)。上傳新數(shù)據(jù)到服務(wù)器,并刪除服務(wù)器中的舊數(shù)據(jù),返回更新后的url數(shù)組 addFiles()。批量上傳文件。返回成功上傳的url數(shù)組 deleteMultiFiles(urls = [])。批量刪除服務(wù)器中的文件。參數(shù):待刪除到服務(wù)器文件url數(shù)組。 UploadImageVideo(filename, file)。分片上傳數(shù)據(jù),可展示進度條。上傳重命名后的文件到alioss, 并返回單個文件url字符串。可支持中文文件名

調(diào)用組件中的方法:例如可通過 let urls = await this.$refs['ref_UploadImageVideo'].addFiles();調(diào)用批量上傳圖片或視頻的方法

例1:

Vue組件封裝上傳圖片和視頻的示例代碼Vue組件封裝上傳圖片和視頻的示例代碼 Vue組件封裝上傳圖片和視頻的示例代碼

<!--userManage--><template> <div class='userManage'> <el-card> <div style='margin-bottom: 10px'><el-input v-model='searchName' clearable placeholder='輸入用戶名稱搜索' /><el-button sizi='mini' type='success' icon='el-icon-search' @click='searchUser(searchName)'>搜索</el-button><el-button sizi='mini' type='warning' icon='el-icon-refresh-left' @click='searchName = ’’'>重置</el-button><el-button sizi='mini' @click='handleAdd()' type='primary' icon='el-icon-plus'>新增</el-button><el-button @click='getUserList()' sizi='mini' icon='el-icon-refresh' style='float: right'>刷新</el-button> </div> <el-table :data='tableData' border v-loading='isLoading'><el-table-column label='用戶名' prop='username' width='150px'></el-table-column><el-table-column label='密碼' prop='password' align='center'></el-table-column><el-table-column label='圖片' align='center'> <template slot-scope='scope'> <div > <el-image v-for='(item, index) in scope.row.imgurl':key='index':src='http://m.propowerdrill.cn/bcjs/item':preview-src-list='scope.row.imgurl' ></el-image> <!-- <a :href='http://m.propowerdrill.cn/bcjs/scope.row.imgurl' rel='external nofollow' target='_blank'>{{scope.row.imgurl}}</a> --> </div> </template></el-table-column><el-table-column label='操作' align='center'> <template slot-scope='scope'> <el-button size='mini' @click='showEditDialog(scope.row)'> <i /> 編輯 </el-button> <el-button size='mini' type='danger' @click='handleDelete(scope.row)'> <i /> 刪除 </el-button> </template></el-table-column> </el-table> </el-card> <UserManageDialog :dialog='dialog' :formData='formData' @addUser='addUser' @editUser='editUser'></UserManageDialog> </div></template> <script>import UserManageDialog from './userManageDialog.vue';import { client_alioss, deleteMultiFiles } from '@/utils/alioss.js'; import { addUser, getUserList, editUser, deleteUser, searchUser} from '@/api/userManage/index';export default { name: 'userManage', components: { UserManageDialog }, data() { return { searchName: '', isLoading: false, dialog: {show: false,title: '' }, formData: {}, tableData: [{ _id: '', username: 'admin', password: '123', imgurl: []} ], currentImgs: [] }; }, props: {}, created() {}, mounted() { this.getUserList(); }, computed: {}, methods: { //獲取用戶列表 async getUserList() { this.isLoading = true; let { data } = await getUserList(); this.tableData = data.data; this.isLoading = false; }, //打開新增用戶窗口 handleAdd() { this.dialog = {show: true,title: '新增用戶',option: 'add' }; this.formData = {username: '',password: '',imgurl: [] }; }, //打開編輯用戶窗口 showEditDialog(row) { this.currentImgs = row.imgurl; this.dialog = {show: true,title: '編輯用戶',option: 'edit' }; this.formData = {_id: row._id,username: row.username,password: row.password,imgurl: row.imgurl }; }, //新增用戶 async addUser(urls) { this.formData.imgurl = urls; await addUser(this.formData); this.dialog.show = false; this.$notify({title: '成功',message: '新增用戶成功!',type: 'success' }); this.getUserList(); }, //編輯用戶 async editUser(urls) { this.formData.imgurl = urls; await editUser(this.formData, this.formData._id); //更新數(shù)據(jù)庫,尤其是圖片url this.dialog.show = false; this.$notify({title: '成功',message: '編輯用戶成功!',type: 'success' }); this.getUserList(); }, //刪除用戶 handleDelete({ _id }) { this.$confirm('此操作將永久刪除該文件, 是否繼續(xù)?', '提示', {confirmButtonText: '確定',cancelButtonText: '取消',type: 'warning' }).then(async () => { this.$message({ type: 'success', message: '刪除成功!', showClose: true }); let { data: { imgurl } } = await deleteUser(_id); //刪除服務(wù)器中的文件。傳入待刪除的url數(shù)組 await deleteMultiFiles(imgurl); this.getUserList();}).catch(() => { this.$message({ type: 'info', message: '已取消刪除', showClose: true });}); }, //根據(jù)用戶名查詢 async searchUser(searchName) { this.isLoading = true; let { data } = await searchUser({searchName }); this.tableData = data.data; this.isLoading = false; } }, watch: {}};</script> <style lang='scss' scoped>.userManage {}</style>

Vue組件封裝上傳圖片和視頻的示例代碼

<!--userManageDialog --><template> <div class='userManageDialog'> <el-dialog :title='dialog.title' :visible.sync='dialog.show' v-if='dialog.show'> <el-form ref='ref_form_userManage' :model='formData' :rules='rules' label-width='100px'><el-form-item label='用戶名' prop='username'> <el-input v-model='formData.username' autocomplete='off' style='width: 90%'></el-input></el-form-item><el-form-item label='密碼' prop='password'> <el-input v-model='formData.password' autocomplete='off' style='width: 90%'></el-input></el-form-item><el-form-item label='圖片' prop='imgurl'> <!-- fileType屬性不寫的話,表示圖片、視頻都可上傳。fileType='image'表示只能上傳圖片。fileType='video'表示只能上傳視頻 --> <UploadImageVideo ref='ref_UploadImageVideo' bucket='bucket-lijiang-test' :currentUrls='formData.imgurl' :limitFileNumber='3' tip='1、最多上傳3張照片; 2、上傳圖片只能是 JPEG/JPG/PNG 格式; 3、單張圖片大小不能超過 5MB!' fileType='image' :isMultiple='true' ></UploadImageVideo></el-form-item> </el-form> <div slot='footer' class='dialog-footer'><el-button @click='dialog.show = false'>取 消</el-button><el-button v-if='dialog.option == ’add’' @click='addUser(’ref_form_userManage’)' type='primary'>確 定</el-button><el-button v-if='dialog.option == ’edit’' @click='editUser(’ref_form_userManage’)' type='primary'>確 定</el-button> </div> </el-dialog> </div></template> <script>import UploadImageVideo from '@/components/UploadImageVideo'; export default { name: 'userManageDialog', components: { UploadImageVideo }, props: ['dialog', 'formData'], data() { return { fileList: [], rules: {username: [ { required: true, message: '請輸入用戶名稱', trigger: 'blur' }] } }; }, created() {}, mounted() {}, computed: {}, methods: { addUser(formName) { this.$refs[formName].validate(async valid => {if (valid) { let urls = await this.$refs['ref_UploadImageVideo'].addFiles(); this.$emit('addUser', urls);} else { console.log('error submit!!'); return false;} }); }, editUser(formName) { this.$refs[formName].validate(async valid => {if (valid) { let urls = await this.$refs['ref_UploadImageVideo'].UpdateFiles(); this.$emit('editUser', urls);} else { console.log('error submit!!'); return false;} }); } }, watch: {}};</script><style lang='scss' scoped></style>

Vue組件封裝上傳圖片和視頻的示例代碼

import { uuid } from ’vue-uuid’;const OSS = require('ali-oss'); let client = new OSS({ region: 'oss-cn-chengdu', accessKeyId: 'LTAI5tQPHvixV8aakp1vg8Jr', accessKeySecret: 'xYyToToPe8UFQMdt4hpTUS4PNxzl9S', bucket: 'bucket-lijiang-test', }); export const client_alioss = client; //刪除文件數(shù)組export async function deleteMultiFiles(urls = []) { let arr_pathname = []; if (urls.length !== 0) {for (const item of urls) { //不要用let url=require('url');url.parse();已失效。要用new URL() let { pathname } = new URL(item); // decodeURIComponent()函數(shù)將中文亂碼轉(zhuǎn)為中文 arr_pathname.push(decodeURIComponent(pathname));}await client.deleteMulti(arr_pathname); }}

Vue組件封裝上傳圖片和視頻的示例代碼

import request from ’@/utils/request’// 獲取用戶列表export function getUserList() { return request({url: ’/api/userManage’,method: ’get’ })} // 新增用戶export function addUser(data) { return request({url: ’/api/userManage’,method: ’post’,data })} // 編輯用戶export function editUser(data, _id) { return request({url: `/api/userManage/${_id}`,method: ’put’,data })} // 刪除用戶export function deleteUser(_id) { return request({url: `/api/userManage/${_id}`,method: ’delete’ })} // 根據(jù)關(guān)鍵字查詢export function searchUser(data) { return request({url: `/api/userManage/search`,method: ’get’,params: data })}

Vue組件封裝上傳圖片和視頻的示例代碼

const router = require(’koa-router’)() const User = require('../models/User'); //引入模塊模型router.prefix(’/userManage’) //獲取用戶列表router.get(’/’, async (ctx, next) => { let data = await User.find({}) ctx.body = {code: 200,message: '請求成功',data, }})//新增用戶router.post(’/’, async (ctx, next) => { let { username, password, imgurl } = ctx.request.body; await User.create({ username, password, imgurl }) ctx.body = { code: 200, message: '新增成功' }})//編輯用戶router.put(’/:_id’, async (ctx, next) => { let { username, password, imgurl } = ctx.request.body; let { _id } = ctx.params await User.findByIdAndUpdate(_id, { username, password, imgurl }) ctx.body = { code: 200, message: '編輯成功' }})//刪除用戶router.delete(’/:_id’, async (ctx, next) => { let { _id } = ctx.params; let { imgurl } = await User.findByIdAndDelete(_id) ctx.body = { code: 200, message: '刪除成功', imgurl } }) //根據(jù)關(guān)鍵字查詢用戶。模糊查詢 router.get(’/search’, async (ctx, next) => { let { searchName } = ctx.request.query; let data = await User.find({ username: { $regex: searchName } }) ctx.body = { code: 200, message: '查詢成功', data }})module.exports = router

到此這篇關(guān)于Vue封裝上傳圖片和視頻的組件的文章就介紹到這了,更多相關(guān)vue組件封裝內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 91探花福利精品国产自产在线 | 国产叼嘿视频 | 日韩特黄特色大片免费视频 | 一区二区三区乱码在线 | 欧洲 | 人人超碰人摸人爱 | 国产精品美女久久久久av爽 | 日日鲁鲁鲁夜夜爽爽狠狠 | 天堂av资源网 | 日韩精品人妻系列无码专区 | 色就色综合 | 国产精品第69页 | 美女大量吞精在线观看456 | 亚州av一区二区 | 成熟丰满熟妇av无码区 | 韩国三级中文字幕hd久久精品 | 亚洲国产美女精品久久久 | 日韩高清一二三区 | 国产国产精品人在线视 | 日韩中文字幕 | 岛国片在线播放97 | 国产精品视频导航 | 国产精品久久久久久久久久直播 | 免费视频国产在线观看 | 五月天综合视频 | 国产精品二区一区 | 亚洲国产欧美一区二区三区丁香婷 | 丰满少妇小早川怜子影片了 | 777爽死你无码免费看一二区 | 成人天堂视频第一网站 | 久久久久99一区二区三区 | 韩国黄色毛片 | 特黄三级男人添女人下面 | 亚洲视频中文字幕 | 久久人人视频 | 国产亚洲99天堂一区 | 色翁荡息又大又硬又粗又爽 | 又黄又爽又色的视频 | 天天操夜夜干 | 丰满护士巨好爽好大乳 | 黑人狂躁日本妞一区二区三区 | 欧美一页| 精品一区二区在线视频 | 亚洲精品乱码久久久久久蜜桃不卡 | 米奇777超碰欧美日韩亚洲 | 中文字幕+乱码+中文字幕一区 | 精品无码av一区二区三区不卡 | 国产男女猛烈无遮挡免费视频 | 男女做性无遮挡免费视频 | av色图在线| 能看av的网站 | 女女同性女同一区二区三区av | 精品一区二区三区在线视频 | 午夜影视免费 | 国产精品久久久久久妇女6080 | 一级α片免费看刺激高潮视频 | 免费看少妇作爱视频 | 成人性能视频在线 | 天天鲁啊鲁在线看 | 黄色网址av| mm131美女大尺度私密照尤果 | 国产美女永久无遮挡 | 操bbbbb| 91美女片黄在线观看 | 青青视频在线播放 | 亚洲色偷偷色噜噜狠狠99网 | 亚洲一区免费观看 | 黑人干亚洲 | 日韩美女乱淫免费看视频大黄 | 99热久 | 超碰一区二区三区 | 天天综合在线视频 | 久久久久久久久99精品 | 免费一级男女裸片 | 91无人区乱码卡一卡二卡 | 免费看欧美一级片 | 大尺度做爰黄9996片视频 | 好爽又高潮了毛片 | 日本极品少妇 | 国产第一页浮力影院入口 | 成年在线观看免费视频 | 精品一区在线播放 | 中文字幕一区在线观看视频 | 中文字幕视频一区二区 | 色视频在线播放 | 中文字幕不卡二区 | 激情综合图 | 18禁黄污吃奶免费看网站 | 国产无遮挡18禁网站免费 | 午夜熟女插插xx免费视频 | 精品免费国产一区二区三区四区 | av黄色免费网站 | 动漫av网站 | 久久爱另类一区二区小说 | 成人免费无尽视频 | 深爱激情五月婷婷 | 国产尤物 | 麻豆天天躁天天揉揉av | 久久99国产综合精品免费 | 精品国产乱码久久久久软件 | 国产wwwwwww| 日韩黄色片免费看 | 欧美视频第二页 | 精品视频久久久久久久 | 国产69精品久久久久777 | 成人久久免费 | 午夜亚州| 国产黄色片网站 | 亚色在线 | 91精品一久久香蕉国产线观看新通道 | 50部乳奶水在线播放 | 四虎国产精品免费久久 | 欧美第一页在线观看 | 黄色一级大片在线观看 | 亚洲精品456在线播放狼人 | 国内精品卡一卡二卡三 | 日本在线观看黄色 | 毛片黄色一级 | 亚洲综合色在线 | 女人做爰全过程免费观看美女 | 性一交一乱一区二区洋洋av | 日韩精品一区二区三区在线观看 | 成人颜色网站 | 中文天堂国产最新 | 国产91视频播放 | 亚洲在线精品视频 | 中老年妇女性色视频 | 一区二区三区国产在线观看 | 中国精学生妹品射精久久 | 久久久噜噜噜www成人网 | 少妇高潮zzzzzzzyⅹ一 | 久精品国产 | 成人精品一区二区三区视频播放 | 成人无码av片在线观看 | 人妻被按摩师玩弄到潮喷 | 国产成人精品午夜视频' | 麻豆回家视频区一区二 | 亚洲在线免费观看视频 | 国产欧美日韩视频在线 | 黑人做爰xxxⅹ性少妇69 | 欧美比基尼 | 国产综合免费视频 | av成人免费在线 | 噜啦噜色姑娘综合网 | 99精品久久精品一区二区 | 秋霞成人午夜鲁丝一区二区三区 | 欧美成人免费观看 | 美女隐私免费网站 | 久久人人爽人人爽人人av | 亚洲欧美精品伊人久久 | 久久亚洲精品久久国产一区二区 | 红桃av一区二区三区在线无码av | 无码办公室丝袜ol中文字幕 | 亚洲一区二区三区四区五区中文 | 国产一级淫片a免费播放口欧美 | 中文字幕第56页 | 黄色网址哪里有 | 女人高潮a毛片在线看 | 九草视频在线观看 | 亚州av综合色区无码一区 | www精品久久 | 爱逼av| 一区二区小视频 | 欧美成人免费网址 | 国产成人天天5g影院在线观看 | 肉欲性毛片交国产 | 男女做那个的全过程 | 噼里啪啦免费观看 | 中国一级毛片黄 | 成人vr视频专区 | 香蕉视频官网在线观看 | 一起射导航 | 性欧美视频videos6一9 | av无码av天天av天天爽 | 麻豆人妻无码性色av专区 | 欧美午夜精品一区二区蜜桃 | 黄色麻豆视频 | 久久久精品欧美一区二区免费 | 午夜在线视频免费 | 无码av中文字幕久久专区 | 男人的天堂av高清在线 | 暴力调教一区二区三区 | 亚洲成av人片在线观看无码 | 日本污污网站 | 揉捏奶头高潮呻吟视频 | 丁香婷婷深情五月亚洲 | 久久人人添人人爽添人人88v | 久久久久久a亚洲欧洲av冫 | 性欧美老人牲交xxxxx视频 | 一区二区三区国产精品 | 国产网红主播三级精品视频 | 无码国内精品久久人妻 | 伊人久久五月丁香综合中文亚洲 | 久久99精品国产 | 鲁死你av资源站 | 一本一道久久综合狠狠老精东影业 | 久久论理| 久久97视频| 韩国无码无遮挡在线观看 | 免费在线小视频 | 能看的av网站 | 亚洲小说另类 | 黄色三级视频在线观看 | 欧美日韩视频免费 | av看片网站 | 色综合久久久无码中文字幕 | 亚洲粉嫩美女无套露脸 | 99视频这里有精品 | 日韩精品免费在线观看 | 小猪佩奇第七季中文免费版 | 在线观看免费一区 | 日韩欧群交p片内射中文 | 久久日本三级香港三级456 | 中文字幕色偷偷人妻久久 | 亚洲精品久| 国产白袜脚足j棉袜在线观看 | 亚洲欧美在线一区 | 综合网国产 | 国产精品美女一区二区 | 亚洲国产成人无码av在线播放 | 亚洲视频在线观看免费 | 无套内谢大学处破女福利 | 白又丰满大屁股bbbbb | 瑟瑟久久 | 国产精品久久久久久久妇 | 国产精品亚洲欧美 | 公妇乱淫真实生活 | 精品日韩一区二区三区免费视频 | av中文资源在线 | 韩国无码色视频在线观看 | jjzz国产| 日韩一区二区三区精品 | 福利影院av | 国产亚洲精品久久久久久大师 | 国内精品久久久久久久果冻传媒 | 色噜噜狠狠色综合成人网 | 香港三日三级少妇三级99 | 东京久久久 | www夜夜爱 | 在线看黄网址 | 成人国产福利a无限看 | 96国产精品| 富婆性猛交xxxx | 亚洲一卡2卡三卡四卡精品 曰批免费视频播放免费 | 成人春色www在线 | 日本在线高清不卡免费播放 | 五月婷久久| 欧美牲交a欧美牲交aⅴ一 | 欧美综合视频 | 国产精品亚洲专区无码牛牛 | 九九久久在线看 | 日本中文有码 | 国产首页 | 亚洲学生妹高清av | 午夜精品久久久久久99热明星 | 久草在线色站 | 2022精品国偷自产免费观看 | 国产精品98 | 亚洲欧美日韩成人高清在线一区 | 真实乱视频国产免费观看 | 欧美成人毛片 | 黄色一级在线播放 | 免费无码av一区二区三区 | 国产乱码视频 | 亚洲字幕av一区二区三区四区 | tianlula成人精品 | 亚洲va在线va天堂xxxx中文 | 国产精品国产三级国快看 | 人人狠狠综合久久亚洲婷婷 | 一级片小视频 | 亚洲精品12p | 免费看a | 国产精品不卡无码av在线播放 | 精品久操| 国产精品久久久久久av免费看 | 日本午夜视频 | 国产伦精品一区二区三区免费视频 | 黄色小视频免费在线观看 | 在线观看视频区 | 另类激情在线 | 91老色批 | 麻豆av一区二区天美传媒 | 少妇一夜三次一区二区 | 日韩h在线 | 性开放的女人aaa片 久久视频在线观看精品 | 国产精品三区四区 | 亚洲天堂一区在线观看 | 欧美乱妇无乱码大黄a片 | 天天鲁一鲁摸一摸爽一爽视频 | 午夜天堂一区人妻 | 欧美激情校园春色 | 亚洲国产婷婷香蕉久久久久久 | 一区二区三区免费观看 | 国产一级大片在线观看 | 久久精品www人人爽人人 | 亚洲成人福利在线 | 久久精品h | 亚洲天堂资源网 | 色91av| 性xxxxx大片免费视频 | 中国一级特黄毛片 | 日韩不卡一二三 | 青娱乐极品视觉盛宴国产视频 | 特级淫片aaaaaaa级附近的 | 日韩毛片网站 | 看片网站在线观看 | 午夜激情福利视频 | 亚洲成av人片在线观看ww | 国产又黄又猛又粗又爽的视频 | 少妇高潮无套无遮挡内谢小说 | 涩涩av在线 | 原创少妇半推半就88av | 久久亚洲精品中文字幕无码 | 性做爰免费观看 | 在线观看一区视频 | 男女午夜激情视频 | 日本打白嫩屁股视频 | 国产精品99久久久久久董美香 | 女性向h片在线观看 | 久久国产一级 | 自拍 另类 综合 欧美小说 | 又大又粗又爽的少妇免费视频 | 岛国片在线播放97 | 欧美极品在线观看 | 国产男女爽爽爽 | 国产av国片偷人妻麻豆 | 亚洲无马砖区2021 | 91精品国产综合久久久久久久久久 | 精品国内自产拍在线观看 | 国产黄色大片 | 欧美体内谢she精2性欧美 | 亚洲乱亚洲乱妇50p 亚洲乱亚洲乱妇无码 | 女同亚洲精品一区二区三 | 成人做爰视频www网站小优视频 | 无码少妇一区二区 | 中文字幕不卡在线 | 成 人 色综合 | 国产综合在线播放 | 亚洲国产另类久久久精品性 | 日韩一区二区三区视频在线 | 亚洲午夜久久 | 四虎免费看黄 | 又大又硬又爽免费视频 | 永久免费的av在线电影网 | 蜜臀av性久久久久av蜜臀妖精 | 精品少妇人妻av无码久久 | 影音先锋日韩资源 | 美日韩在线观看 | 国产色播 | 女人色极品影院 | 欧美一区不卡 | 午夜小视频在线观看 | 一区二区三区内射美女毛片 | 超碰在线看 | 国产精品久久久一区麻豆最新章节 | av黄色片| 亚洲一本之道 | 性欧美巨大乳 | 人妻巨大乳一二三区 | av在线地址 | 亚洲日本韩国欧美云霸高清 | 衣服被扒开强摸双乳18禁网站 | 丝袜情趣国产精品 | 91超碰人人| 欧美亚洲国产视频 | 全部av―极品视觉盛宴 | 国产性色的免费视频网站 | 青青久在线视频 | 精品一区二区ww | 色哟哟哟www精品视频观看软件 | 中文有码在线 | 色丁香婷婷综合久久 | 日韩毛片在线 | 国产偷亚洲偷欧美偷精品 | 91av视频免费观看 | 久久亚洲精品中文字幕 | 国内精品伊人久久久久av | 欧美一区二区三区免费视频 | 羞羞午夜福利免费视频 | 国产影视一区二区 | 午夜性激情 | 美女羞羞视频网站 | 国产精品91在线 | 欧美有码视频 | 日韩性xx | 男人用嘴添女人下身免费视频 | 40到50岁中老年妇女毛片 | 色狠狠久久av大岛优香 | 国产精品日日摸夜夜添夜夜av | 7777欧美日激情日韩精品 | 国语对白做受69按摩 | 欧美成年私人网站 | 久热免费| 玖玖玖在线观看 | 夜夜高潮夜夜爽国产伦精品 | 少妇高潮惨叫久久久久 | 色妞综合 | 在线a视频网站 | аⅴ资源新版在线天堂 | 我们高清中文字幕mv的更新时间 | 久久久久久亚洲精品不卡4k岛国 | 国产成a人无v码亚洲福利 | 成人欧美日韩一区二区三区 | 九色porny丨国产首页在线 | 大j8福利视频导航 | 精品动漫卡一卡2卡三卡四卡 | 中文不卡视频 | 巨胸喷奶水视频www 午夜无码国产理论在线 | 台湾全黄色裸体视频播放 | 亚洲精品黄 | 中文字幕一区二区三区有限公司 | 成人一级黄色 | 日韩一区二区精品视频 | 日本少妇色视频 | 国产精品自在线拍国产手青青机版 | 羞羞麻豆国产精品1区2区3区 | 中国少妇乱子伦视频播放 | 日韩精品成人无码专区免费 | mm31美女爽爽爽爱做视频vr | 日韩亚洲欧美一区二区三区 | 乖女从小调教h尿便器小说 关秀媚三级 | 黄色软件网站入口 | 国产理论片 | 东京热男人av天堂 | 免费观看日批视频 | 综合网在线视频 | 东京热无码av一区二区 | 最新版天堂资源中文官网 | 色老大影院 | 一级国产精品一级国产精品片 | 亚洲成av人片一区二区密柚 | 五月激情六月丁香 | 精品蜜臀久久久久99网站 | 91麻豆国产福利在线观看 | 婷婷在线观看视频 | 久久人妻av无码中文专区 | 久久女性裸体无遮挡啪啪 | 亚洲国产精品久久久久婷蜜芽 | 九色视频偷拍少妇的秘密 | 国产乱子伦视频在线播放 | 狠狠色丁香九九婷婷综合五月 | 国产喂奶挤奶一区二区三区 | 精品va久久久噜噜久久软件 | 国产精品久久久久久福利一牛影视 | 无码人妻丰满熟妇区毛片18 | 久草在线免 | 国产情侣自拍小视频 | 欧美国产高潮xxxx1819 | 国产精品美女一区二区三区四区 | 成人羞羞视频播放网站 | 日批视频在线播放 | 国内少妇偷人精品免费 | 午夜免费网址 | 日本中文字幕有码在线视频 | 黄色一级片免费 | 国产精品对白刺激在线观看 | 美女的奶胸大爽爽大片 | 成人av综合网| 吻胸摸腿揉屁股娇喘视频网站小说 | 综合国产视频 | 国产精品女主播 | 思热99re视热频这里只精品 | 日产欧产va高清 | 夜夜爽久久揉揉一区 | 亚洲国产精品成人久久久 | 国产爆乳无码一区二区麻豆 | 殴美一级片 | 日韩国精品一区二区a片 | 性盈盈影院中文字幕 | 色婷婷综合在线 | 久久婷婷五月综合色一区二区 | 亚洲国产精品久久人人爱 | 国产高清无套内谢 | 欧美不卡 | 国产偷窥自拍视频 | 四虎4545www国产精品 | 强开小嫩苞一区二区三区网站 | 久久夜色精品国产 | 国产高清黄色 | 久久国产精品波多野结衣 | 国产成人欧美一区二区三区的 | 一本久道久久 | 日韩亚洲欧美精品综合 | 成人羞羞国产免费网站 | 欧美激情精品成人 | 日韩特黄特色大片免费视频 | 91亚洲精品丁香在线观看 | 少妇精品视频一区二区免费看 | 撸撸在线视频 | 波多野结衣电车痴汉 | 久久精品国产一区二区三区不卡 | 精品无码国产一区二区三区51安 | 亚洲精品一区二区精华 | 国产一区久久久 | 中文字幕免 | 国产精品区二区三区日本 | 久久午夜场 | 国产在线观看黄 | 冲田杏梨 在线 | 1000部禁片18勿进又色又爽 | 亚洲日韩在线观看免费视频 | 欧美成人在线免费视频 | 国产精品主播在线 | 日本一区二区三区精品视频 | 亚洲va久久久噜噜噜久久狠狠 | 一级特黄色大片 | 国产久草av| 国产乱码精品一区二区三区中文 | 天天天天噜在线视频 | 俄罗斯大bbbwww视频 | 色综合中文字幕 | 99精品国产99久久久久久51 | 免费嗨片首页中文字幕 | 午夜熟女毛片蜜桃传媒 | 男人天堂va | 性欧美video另类hd尤物 | 99精品视频免费在线观看 | 91素人约啪 | 一本大道久久a久久精二百 一本大道久久a久久精品综合1 | 国产97免费视频 | 国产人免费人成免费视频 | 麻花豆传媒剧国产免费mv入口 | 无码人妻久久一区二区三区不卡 | 国产成人福利视频 | 日本在线免费看 | 久久日韩国产精品免费 | 蜜臀av免费一区二区三区 | 亚洲欧美国产一区二区 | 国产中文在线播放 | 亚洲天堂区 | 青青草久久伊人 | 亚洲精品一品区二品区三品区 | 91成人精品国产刺激国语对白 | 新婚夫妇白天啪啪自拍 | 亚洲成人一级片 | 少妇粉嫩小泬喷水视频 | 亚洲色图1 | 日韩一级伦理片 | 草色噜噜噜av在线观看香蕉 | 国产二区三区在线 | 香蕉精品在线 | 手机看片日韩精品 | 国产三级av在线播放 | 国产97色 | 国产色综合网 | 国产午夜小视频 | 免费看污的网站 | 亚洲综合一区国产精品 | 2022av在线| 日韩欧美字幕 | 亚洲精品三区 | 亚洲精品国偷拍自产在线麻豆 | 亚洲一二区 | 午夜精品免费观看 | 99精品国产成人一区二区 | 国产无套白浆一区二区 | 在线播放中文字幕 | 久久久久久久久久久动漫 | 国产女主播喷出白浆视频 | 中出中文字幕 | 欧美成人精品第一区 | 日本japanese丰满少妇 | 国产中文字幕乱人伦在线观看 | 日韩欧美视频网站 | 国产一精品一av一免费 | 99热激情 | 欧美一级淫片免费视频黄 | 国产丰满老熟女重口对白 | 亚洲欧洲免费视频 | 国产亚洲va综合人人澡精品 | 中文日产日产乱码乱偷在线 | 无码天堂va亚洲va在线va | 亚洲一区二区三区免费看 | 久久综合久久美利坚合众国 | av高清在线免费观看 | 色婷婷一区二区三区四区成人网 | 另类综合二 | 在线亚洲一区 | 蜜桃va| 欲香欲色天天天综合和网 | 一本岛在免费一二三区 | 国产亚洲天堂网 | 爱情岛论坛线路一区二区 | 玩弄少妇肉体到高潮动态图 | 在线的av| 永久免费看mv网站入口亚洲 | 免费全部高h视频 | 日本精品入口免费视频 | 精品免费在线视频 | 免费国精产品wnw2544 | 国产成人精品久久亚洲高清不卡 | baoyu123成人免费看视频 | 免费特黄视频 | 中文文字幕文字幕肉岳 | 老司机精品视频一区二区三区 | 果冻传媒mv国产董小宛主演是谁 | 波多野结衣一本一道 | 中文字幕第三页 | 97成网| av福利在线 | 一级片久久久久久久 | 国产视频aaa | 日本理论视频 | 99午夜视频 | 免费成人一级片 | 色噜| a级国产视频 | 精品少妇一区二区视频在线观看 | 国产黄色a | 国产精品久久精品三级 | 波多野结衣女同 | 青春草国产视频 | 成人性生交大片免费看r视频 | 欧洲成人午夜免费大片 | 成人免费黄色网 | 国内揄拍国产精品人妻门事件 |