欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

Vue3集成wangEditor v5:后臺富文本編輯器封裝與避坑

Vue3集成wangEditor v5:后臺富文本編輯器封裝與避坑 做后臺管理系統(tǒng)的人早晚會碰到富文本編輯器這道坎。文章發(fā)布、商品詳情、公告通知、幫助文檔、售后條款只要頁面里需要排版就繞不開它。我從 Vue2 時代的 UEditor、TinyMCE 一路用過來中間還折騰過 Quill 和 wangEditor踩的坑足夠?qū)懸槐拘宰?。這篇就聚焦一個很具體的問題在 vue3 項目里把 wangEditor 用起來、用對、用到生產(chǎn)環(huán)境不翻車。這不是一篇搬運官方文檔的教程而是我在幾個真實后臺系統(tǒng)里反復(fù)打磨后留下的記錄包括選型的取舍、組件的封裝方式、上傳接口怎么接、只讀模式怎么切、以及那些官方文檔里不會寫但一定會遇到的詭異故障。剛上手 vue3 的同學(xué)能照著抄出一個可用組件帶過項目的同學(xué)也能在里面找到幾個能省下半天排查時間的細(xì)節(jié)。1. 選型前的冷靜判斷wangEditor 到底適合誰1.1 富文本編輯器其實分三條技術(shù)路線在動手寫代碼之前先想清楚富文本編輯器這個領(lǐng)域到底有幾種做法因為選錯方向比寫錯代碼更致命。第一條路線是基于 contenteditable 直接操作 DOMUEditor、wangEditor 早期版本、Quill 都算這一類特點是實現(xiàn)直觀、可控性強但瀏覽器兼容和光標(biāo)處理是一大堆臟活。第二條是基于文檔模型如 ProseMirror、Slate的編輯器像 Tiptap、飛書文檔編輯器數(shù)據(jù)以結(jié)構(gòu)化 schema 存儲協(xié)同編輯、撤銷重做、節(jié)點級操作都很優(yōu)雅學(xué)習(xí)曲線也陡。第三條是Markdown 編輯器比如 Vditor、md-editor-v3輸入的是純文本輸出靠解析適合技術(shù)博客但不太適合運營同學(xué)寫商品詳情。wangEditor 屬于第一條路線的成熟產(chǎn)物。它的取舍非常明確上手快、中文文檔友好、開箱即用代價是深度定制能力不如 Tiptap 這類模型驅(qū)動的編輯器。選擇它之前先問自己一個問題——我要的是能寫、能排版、能傳圖還是要做類 Notion 的塊級編輯、要支持多人協(xié)同。如果是前者wangEditor 很合適如果是后者直接去看 Tiptap別在小工具上耗時間。1.2 v5 相比 v4 是一次重寫別混著用很多人栽的第一個跟頭是把 v4 的用法套到 v5 上。這兩個大版本幾乎是兩個不同的庫。v4 的用法是new E(#editor)通過editor.txt.html()讀寫內(nèi)容菜單配置是一套老的對象結(jié)構(gòu)。v5 全面轉(zhuǎn)向了模塊化核心包是wangeditor/editorVue 封裝包是wangeditor/editor-for-vue編輯器實例通過createEditor創(chuàng)建內(nèi)容通過 v-model 或editor.getHtml()獲取銷毀必須顯式調(diào)用editor.destroy()。這個變化帶來的直接影響是你在網(wǎng)上搜到的大部分中文教程如果是 2022 年以前寫的八成是 v4直接抄會報錯最典型的就是TypeError: xxx is not a function。判斷版本有個簡單辦法——看安裝的包名。npm i wangeditor裝的是 v4npm i wangeditor/editor裝的才是 v5。v5 新增了mode: simple這種更簡潔的工具欄形態(tài)也把菜單配置統(tǒng)一收進了MENU_CONF整體更符合現(xiàn)代前端工程化的習(xí)慣。1.3 和其他主流方案的橫向?qū)Ρ裙庹f wangEditor 好沒有意義得放到坐標(biāo)系里看。我把實際項目里用過的幾款放在一起做了個對比判斷維度就三個接入成本、定制深度、生態(tài)活躍度。編輯器數(shù)據(jù)模型上手成本深度定制中文支持典型場景wangEditor v5HTML 字符串低中優(yōu)秀后臺管理、CMSTinyMCEHTML 字符串中高商業(yè)版更強良好企業(yè)級表單Quill 2.xDelta 模型中中高一般輕量嵌入TiptapProseMirror 文檔樹高極高一般協(xié)同、塊編輯md-editor-v3Markdown 文本低中優(yōu)秀技術(shù)社區(qū)從表格能看出來wangEditor 在接入成本低和中文支持好這兩個維度上優(yōu)勢明顯正好命中后臺管理系統(tǒng)的核心訴求——運營同學(xué)要的是一個打開就能用、工具欄看得懂、圖片能拖拽上傳的編輯器而不是一個需要專門培訓(xùn)的協(xié)同工具。所以接下來的內(nèi)容都建立在后臺管理系統(tǒng) Vue3 TypeScript Element Plus這個組合上這也是目前國內(nèi)企業(yè)項目最主流的形態(tài)。2. 環(huán)境搭建依賴裝錯后面全是白費2.1 先把項目基線和 Node 版本確認(rèn)清楚開工前先node -v看一眼。wangEditor v5 依賴現(xiàn)代瀏覽器 API構(gòu)建側(cè)對 Node 版本有要求Node 16 以下在 Vite 4/5 環(huán)境下經(jīng)常出現(xiàn)依賴解析失敗。我的習(xí)慣是 Node 18 LTS 起步配合 Vite 5 和 Vue 3.4這個組合目前最穩(wěn)。如果你接手的是一個老項目用 Vue CLI 5 Webpack 5 也能跑只是打包體積優(yōu)化空間會小一些。用 Vite 創(chuàng)建項目的話一路默認(rèn)走下去就行npm create vitelatest my-admin -- --template vue-ts cd my-admin npm install裝完之后檢查package.json里 vue 的版本確保是 3.2 以上。3.2 之前沒有script setup的穩(wěn)定支持而 wangEditor 的 Vue 封裝在組合式 API 下寫起來最舒服。這一步看著啰嗦但我見過太多次編輯器渲染不出來最后發(fā)現(xiàn)是 Vue 版本太老或者依賴裝了兩份的問題——尤其是當(dāng)項目里已經(jīng)存在一個舊版本編輯器依賴時npm 的扁平安裝策略會把兩個版本都塞進node_modules運行時就隨機命中癥狀是偶發(fā)的白屏。2.2 兩個包各管什么一個都不能少v5 的 Vue3 集成需要裝兩個包這是很多人第一次會困惑的地方npm install wangeditor/editor npm install wangeditor/editor-for-vuenext第一個wangeditor/editor是編輯器內(nèi)核包含編輯器實例、菜單、插件、樣式體積大頭都在這里。第二個wangeditor/editor-for-vue是 Vue 的組件封裝把Editor和Toolbar兩個組件暴露出來讓你能在模板里直接寫Editor /。注意next這個標(biāo)簽非常關(guān)鍵。Vue3 版本必須用next不加的話會裝上適配 Vue2 的版本然后在script setup里 import 就報錯。裝完可以確認(rèn)一下版本號npm list wangeditor/editor-for-vue正常應(yīng)該看到wangeditor/editor-for-vue5.x.x之類。如果看到的是 1.x那就是裝錯了卸載重裝。2.3 樣式文件必須單獨引入這是新手最容易漏的一步也是導(dǎo)致工具欄變成一堆無樣式的文字鏈接這個經(jīng)典問題的元兇。wangEditor 的樣式不在組件內(nèi)部自動注入需要你手動引入一次import wangeditor/editor/dist/css/style.css引入位置有講究。寫在script setup頂部是最簡單的方式但要注意它會被打進當(dāng)前頁面的 chunk。如果你在多個頁面都用編輯器可以把這個引入放到全局的main.ts里代價是首屏?xí)嗉虞d一份樣式。我更推薦的做法是配合路由懶加載讓編輯器頁面的 chunk 自己帶上樣式首屏用戶不受影響。還有個坑是style scoped。有些同學(xué)想在 scoped 樣式里覆蓋編輯器的樣式比如改工具欄背景色結(jié)果發(fā)現(xiàn)不生效。原因是 wangEditor 的 DOM 結(jié)構(gòu)是動態(tài)生成的scoped 的屬性選擇器加不到那些節(jié)點上。要覆蓋樣式得用:deep()或者干脆寫一個不帶 scoped 的全局樣式塊專門管編輯器。3. 組件封裝從能跑到好用3.1 最小可用版本與 shallowRef 的生死線先上能跑起來的最小版本。新建src/components/RichEditor.vuetemplate div classrich-editor-wrapper :style{ border: 1px solid #dcdfe6 } Toolbar :editoreditorRef :defaultConfigtoolbarConfig :modemode classeditor-toolbar / Editor :defaultConfigeditorConfig :modemode :style{ height: height px, overflowY: hidden } v-modelvalueHtml onCreatedhandleCreated onChangehandleChange / /div /template script setup langts import wangeditor/editor/dist/css/style.css import { onBeforeUnmount, ref, shallowRef } from vue import { Editor, Toolbar } from wangeditor/editor-for-vue import type { IDomEditor, IEditorConfig, IToolbarConfig } from wangeditor/editor const props withDefaults( defineProps{ modelValue: string height?: number mode?: default | simple readonly?: boolean }(), { modelValue: , height: 400, mode: default, readonly: false } ) const emit defineEmits{ (e: update:modelValue, value: string): void }() const editorRef shallowRefIDomEditor() const valueHtml ref(props.modelValue) const mode props.mode const toolbarConfig: PartialIToolbarConfig { excludeKeys: [group-video, insertVideo] } const editorConfig: PartialIEditorConfig { placeholder: 請輸入內(nèi)容... } const handleCreated (editor: IDomEditor) { editorRef.value editor if (props.readonly) editor.disable() } const handleChange (editor: IDomEditor) { emit(update:modelValue, editor.getHtml()) } onBeforeUnmount(() { const editor editorRef.value if (editor) editor.destroy() }) /script這段代碼里最需要強調(diào)的是shallowRef。editorRef必須用shallowRef絕對不能用ref或者reactive。原因是 Vue3 的ref會對對象做深度響應(yīng)式代理而 wangEditor 內(nèi)部維護了大量 DOM 引用和循環(huán)引用被 Proxy 包一層之后編輯器在獲取選區(qū)、操作節(jié)點時會拿不到原始對象癥狀是光標(biāo)亂跳、菜單點擊無響應(yīng)、插入圖片報錯。這個坑我在兩個項目里都踩過第二次才反應(yīng)過來是響應(yīng)式代理的問題。官方文檔里提了一句但很容易被忽略這里我必須再強調(diào)一次。3.2 工具欄裁剪與模式切換默認(rèn)工具欄把所有菜單都堆出來視頻、公式、代碼塊全在對一個只發(fā)公告的后臺系統(tǒng)來說太冗余。toolbarConfig的excludeKeys負(fù)責(zé)排除insertKeys負(fù)責(zé)插入或調(diào)整順序。常用的菜單 key 我整理了一份方便你對著刪功能分類菜單 key建議標(biāo)題/引用headerSelect, blockquote保留基礎(chǔ)格式bold, underline, italic, through, code保留顏色color, bgColor按需字號字色fontSize, fontFamily, lineHeight按需列表縮進bulletedList, numberedList, indent, delIndent保留對齊justifyLeft, justifyCenter, justifyRight, justifyJustify保留圖片uploadImage, insertImage保留 uploadImage鏈接insertLink保留表格insertTable按需代碼塊codeBlock技術(shù)類保留分割線divider保留撤銷重做undo, redo保留全屏fullScreen保留視頻group-video后臺一般刪掉mode有兩個取值default是完整模式simple是簡潔模式工具欄只留最核心的十幾個菜單視覺上更輕。選哪個取決于使用場景——面向運營的公告編輯器用simple面向內(nèi)容編輯的 CMS 用default。注意mode一般只在初始化時設(shè)置運行中動態(tài)切換會導(dǎo)致工具欄重建體驗上會有閃動不建議做成用戶可切換的選項。3.3 圖片上傳必須從 base64 切換到服務(wù)端不加任何配置時wangEditor 插入圖片走的是 base64 內(nèi)聯(lián)。寫幾篇文章沒問題但要是一篇長圖文里插了十幾張高清圖生成的 HTML 字符串會膨脹到幾兆存進數(shù)據(jù)庫字段會直接崩接口傳輸也會超時。所以圖片上傳必須改成服務(wù)端模式。配置位置在editorConfig.MENU_CONF[uploadImage]editorConfig.MENU_CONF[uploadImage] { server: /api/file/upload, fieldName: file, maxFileSize: 5 * 1024 * 1024, allowedFileTypes: [image/*], headers: { Authorization: Bearer getToken() }, customInsert(res, insertFn) { if (res.code ! 200) return insertFn(res.data.url, res.data.name, res.data.url) }, onFailed(file, res) { ElMessage.error(圖片上傳失敗 (res.message || 未知錯誤)) } }幾個要點拆開說。server是上傳地址走相對路徑讓 Vite 的代理去轉(zhuǎn)發(fā)避免開發(fā)環(huán)境跨域。fieldName要和后端接口約定的字段名一致后端用MultipartFile接的話通常就是file。maxFileSize單位是字節(jié)5MB 是我個人的經(jīng)驗值太大容易拖慢接口太小運營會抱怨截圖傳不上去。真正關(guān)鍵的是customInsert。默認(rèn)情況下 wangEditor 會按自己的規(guī)則去解析返回數(shù)據(jù)它假設(shè)返回體里有個data.url字段。但你項目后端的返回結(jié)構(gòu)很可能不是這個形狀比如是{ code, msg, data: { fileUrl, fileName } }這時候默認(rèn)解析就插不進去控制臺能看到 undefined。customInsert給了你完全接管解析的機會拿到res之后自己取出 URL調(diào)用insertFn(url, alt, href)插進去就行三個參數(shù)分別是圖片地址、替代文字、跳轉(zhuǎn)鏈接后兩個可以傳空字符串。如果你的上傳邏輯更復(fù)雜比如要先拿簽名再傳對象存儲用customUpload完全接管上傳過程editorConfig.MENU_CONF[uploadImage] { async customUpload(file, insertFn) { const formData new FormData() formData.append(file, file) const { data } await request.post(/api/upload, formData) insertFn(data.url, data.name, data.url) } }用一個/upload接口同時處理粘貼圖片和拖拽上傳是最省心的做法。3.4 v-model 綁定要繞開光標(biāo)跳動這個雷直觀上大家會寫v-modelvalueHtml然后監(jiān)聽valueHtml的變化往外傳。這能跑但有個隱患編輯器內(nèi)部也會修改valueHtml如果你在外層又監(jiān)聽valueHtml并回寫父組件父組件再把值傳回來就形成了一個回環(huán)。光標(biāo)位置在每次回寫后都會被重置到開頭用戶打字時感覺像有人在搶鍵盤。更穩(wěn)的做法是放棄v-model的自動雙向綁定改用onChange手動往外拋Editor :defaultConfigeditorConfig :modemode onCreatedhandleCreated onChangehandleChange /const handleChange (editor: IDomEditor) { emit(update:modelValue, editor.getHtml()) }父組件用v-model:modelValue接收即可。這里要理解一個原則——編輯器的內(nèi)容只有兩個出口初始化時的賦值和用戶編輯時的 onChange。除此之外任何時候去改編輯器的內(nèi)容都可能觸發(fā)重渲染和光標(biāo)問題?;仫@歷史數(shù)據(jù)時直接把值放到初始化的valueHtml里之后就別再動它。4. 高頻故障排查與避坑清單4.1 編輯器實例為 null 和重復(fù)創(chuàng)建最常見的報錯是Cannot read properties of undefined (reading getHtml)原因通常是你在onCreated之前就去調(diào)用了editorRef.value的方法。editorRef是在handleCreated回調(diào)里才被賦值的而handleCreated在組件 mounted 之后才觸發(fā)。所以任何需要在編輯器就緒后做的事比如回填內(nèi)容、設(shè)置只讀、聚焦都得放在handleCreated里面或者用一個isReady標(biāo)志位守著。第二個坑是重復(fù)創(chuàng)建。如果你在onMounted里手動createEditor同時又用了Editor組件編輯器會被創(chuàng)建兩次頁面上出現(xiàn)兩個工具欄或者內(nèi)容區(qū)閃爍。用官方組件就不要自己 create兩套東西二選一。還有一種情況是熱更新導(dǎo)致的重復(fù)實例開發(fā)時改代碼觸發(fā)熱更新舊實例沒銷毀干凈表現(xiàn)是切換頁面后舊內(nèi)容殘留。解決方式就是在onBeforeUnmount里老老實實editor.destroy()一行都不能省。editor.destroy()不只是清理 DOM它還會解綁所有事件監(jiān)聽、清空內(nèi)部定時器和選區(qū)緩存。漏掉它長時間運行的 SPA 會在連續(xù)打開關(guān)閉幾十個編輯器頁面后明顯卡頓內(nèi)存占用一路往上漲。4.2 樣式丟失與下拉菜單被遮擋工具欄渲染成純文字、菜單彈層藏在別的元素底下這兩類是樣式問題的高發(fā)區(qū)。第一個問題的解法前面說過補上style.css的引入。如果引入了還是不生效檢查一下項目里是不是有其他全局樣式把.w-e-*類的樣式覆蓋了尤其是那些用*選擇器重置 margin、padding 的老代碼會把編輯器的間距全干掉。下拉菜單被遮擋的根源是z-index。wangEditor 的彈層默認(rèn)層級不算太高如果編輯器放在 Element Plus 的 Dialog 或者 Drawer 里而那個容器的層級更高菜單就會被壓住。常規(guī)解法是給外層容器和編輯器加個更大的z-index.rich-editor-wrapper { position: relative; z-index: 100; }如果彈層還是出不來可以用editorConfig里的scroll配置成false讓工具欄不吸頂某些布局下能繞開層級計算。我遇到過最麻煩的一次是編輯器在抽屜里抽屜本身有transform動畫導(dǎo)致position: fixed的彈層定位基準(zhǔn)錯亂最后是把編輯器移到抽屜外的做法才徹底解決。所以選容器的時候盡量別把富文本編輯器塞進有動畫的浮層里。4.3 與 Element Plus 表單聯(lián)動的校驗問題后端管理系統(tǒng)基本都配 Element Plus編輯器要嵌進el-form-item里做必填校驗。這里有兩個細(xì)節(jié)。第一個是觸發(fā)時機。el-form-item的trigger要設(shè)成change然后編輯器的onChange里手動觸發(fā)校驗const handleChange (editor) { const html editor.getHtml() emit(update:modelValue, html) formRef.value?.validateField(content) }不手動觸發(fā)的話用戶輸入完內(nèi)容點提交校驗規(guī)則拿到的還是舊值會誤報內(nèi)容不能為空。第二個是內(nèi)容為空的判斷。用戶如果只敲了幾個空格或者插入了一張圖片editor.getHtml()返回的是pbr/p或者pimg ...//p直接判空字符串是不準(zhǔn)的。穩(wěn)妥的做法是先剝標(biāo)簽再判空const isEmptyHtml (html) { return html.replace(/[^]/g, ).replace(/nbsp;/g, ).trim() }這里要注意純圖片的內(nèi)容會被判成空但業(yè)務(wù)上往往認(rèn)為有圖就算有內(nèi)容。所以更精細(xì)的規(guī)則可以判斷是否包含img標(biāo)簽包含則視為非空。這種邊界判斷看著瑣碎卻直接決定上線后運營會不會天天來找你。4.4 只讀模式的幾種實現(xiàn)方式對比詳情頁展示歷史內(nèi)容時需要只讀商品預(yù)覽時需要只讀審核頁面也需要只讀。wangEditor v5 提供了幾種實現(xiàn)各有適用場景實現(xiàn)方式寫法優(yōu)點局限disable()editor.disable()靈活、可動態(tài)切換需拿實例時機要對defaultConfig 中設(shè) readOnly{ readOnly: true }初始化即生效無法運行中切換點擊后 blureditor.blur()簡單只擋焦點仍可編輯換純 HTML 渲染v-html不加載編輯器性能好無編輯器樣式能力我的選擇是需要保留編輯器樣式且隨時可能切回編輯態(tài)的場景用editor.disable()純展示、不打算再編輯的場景直接v-html渲染 HTML 字符串別加載整個編輯器內(nèi)核。這個區(qū)分很重要詳情頁如果也加載編輯器首屏體積白白多幾百 KB明明用戶只是想看文章。順帶說一個只讀相關(guān)的細(xì)節(jié)。editor.disable()生效后工具欄上的菜單會變灰但如果你希望工具欄整個隱藏用v-if控制Toolbar的渲染更干凈Toolbar v-if!readonly :editoreditorRef /另外要提醒切換只讀狀態(tài)后editor.getHtml()依然能正常調(diào)用別擔(dān)心 disable 之后拿不到內(nèi)容。4.5 常見問題速查表把上面這些整理成一張排查表出問題時對著找能省不少時間。現(xiàn)象可能原因處理方式工具欄無樣式未引入 style.css補上全局樣式引入光標(biāo)跳到開頭v-model 雙向回寫改用 onChange 單向拋出菜單點擊無效editorRef 用了 ref/reactive換成 shallowRef插入圖片報錯返回結(jié)構(gòu)不匹配配置 customInsert內(nèi)容拿不到在 onCreated 之前調(diào)用加 isReady 守位頁面切換后卡頓未調(diào)用 destroyonBeforeUnmount 中銷毀彈層被遮z-index 沖突調(diào)高層級或換容器內(nèi)容判空不準(zhǔn)空標(biāo)簽被判為有內(nèi)容剝標(biāo)簽后再判空開發(fā)環(huán)境正常、線上白屏樣式 chunk 未跟隨檢查懶加載配置5. 進階內(nèi)容安全、框架集成與體積控制5.1 富文本的 XSS 防護不能省富文本編輯器最容易被忽視的安全問題就是 XSS。用戶尤其是后臺運營提交的 HTML 會原樣存儲如果詳情頁用v-html直接渲染攻擊者只要在編輯器里塞一段帶事件的標(biāo)簽比如img srcx onerroralert(document.cookie)頁面一打開就可能被利用。雖然 wangEditor 編輯時過濾了一部分危險標(biāo)簽但通過接口直接提交構(gòu)造好的 HTML編輯器的過濾根本不起作用。所以渲染側(cè)必須自己再過一道。我的做法是引入 DOMPurify在提交前和渲染前各清洗一次import DOMPurify from dompurify const safeHtml DOMPurify.sanitize(rawHtml, { ALLOWED_TAGS: [p, br, strong, em, u, h1, h2, h3, ul, ol, li, a, img, blockquote, table, tr, td, th], ALLOWED_ATTR: [href, src, alt, title, target, style, class] })白名單式過濾比黑名單靠譜得多只放行你明確需要的標(biāo)簽和屬性其余一律去掉。注意style屬性本身也可能藏東西如果你對安全要求更高可以把 style 也去掉改用自定義類名控制樣式。這一步做起來有點煩但一旦內(nèi)容被注入事故等級完全不一樣值得花兩個小時配好。5.2 在若依、JeecgBoot 這類框架里集成的注意點很多同學(xué)是在若依RuoYi-Vue3或者 JeecgBoot 的 Vue3 版本里做二次開發(fā)這些框架本身有自己的請求封裝、全局樣式、權(quán)限指令直接塞編輯器會撞上幾個問題。第一個是請求實例。框架里通常把 axios 封裝成了request或者service帶了統(tǒng)一的 token 注入、錯誤提示、結(jié)果解包。圖片上傳時最好復(fù)用這個實例而不是在新開一個 axios否則會出現(xiàn) token 沒帶上、上傳接口 401 的情況。如果用 wangEditor 的server配置走內(nèi)置上傳記得在headers里手動補上 Authorization或者直接用customUpload走項目自己的 request。第二個是全局樣式污染。若依那套后臺框架有一大堆覆蓋性的全局 CSS有時候會把編輯器里的列表符號干掉、把表格邊框清掉。排查方式是在編輯器的樣式后面追加一段更高優(yōu)先級的覆蓋.w-e-text-container ul { list-style: disc !important; } .w-e-text-container table { border-collapse: collapse; }第三個是 TypeScript 報錯。有些框架的 tsconfig 開了strict而wangeditor/editor的類型聲明在某些版本里不夠嚴(yán)謹(jǐn)會在editorRef.value的賦值處提示類型不匹配。簡單處理是用shallowRefIDomEditor | undefined()拿到實例后做一次非空斷言別為了消錯就把它改成any那等于把類型檢查全關(guān)了。5.3 體積優(yōu)化別讓編輯器拖慢首屏我把wangeditor/editor單獨打出來看過gzip 后大概兩百多 KB對于一個管理后臺來說不算夸張但如果它被打進首屏 chunk登錄頁的加載時間會明顯變長——用戶根本用不到編輯器憑什么要等他加載。解法是讓它按需進入路由 chunk。如果你用的是 Vite路由懶加載本身就做了這件事只要編輯器組件被用在懶加載路由里它就不會進首屏const routes [ { path: /article/edit, component: () import(/views/article/Edit.vue) } ]如果編輯器被用在一個不懶加載的公共布局里用defineAsyncComponent包一層const RichEditor defineAsyncComponent(() import(/components/RichEditor.vue))配合Suspense或者加載占位用戶體驗會好很多。還有一個容易被忽略的體積點——如果項目里只用到了基礎(chǔ)排版能力可以在toolbarConfig里把視頻、公式這些重插件的菜單去掉雖然不能直接搖掉這部分代碼但能避免加載相關(guān)資源。5.4 詳情頁只讀展示的取舍最后聊聊詳情頁。我見過太多項目在詳情頁也掛一個完整的編輯器組件只為展示一段富文本。這樣做有兩個代價一是多加載兩百多 KB 的編輯器內(nèi)核二是編輯器的 DOM 結(jié)構(gòu)比直接渲染 HTML 復(fù)雜得多列表長了之后頁面滾動會明顯發(fā)澀。如果詳情頁不需要任何編輯能力正確做法是只渲染 HTMLtemplate div classarticle-detail v-htmlsafeHtml/div /template然后在全局樣式里給富文本標(biāo)簽補上基礎(chǔ)樣式讓它看起來和編輯器里一致。這里有個小技巧——把編輯器里用到的樣式抽一份到公共樣式文件里編輯態(tài)和展示態(tài)共用避免出現(xiàn)編輯時好看、展示時排版全亂的尷尬.article-detail img { max-width: 100%; height: auto; } .article-detail table { border-collapse: collapse; width: 100%; } .article-detail p { margin: 8px 0; line-height: 1.8; }如果詳情頁確實需要保留編輯器外殼比如用戶要看到和編輯時一樣的界面再退回用editor.disable()。判斷標(biāo)準(zhǔn)很簡單用戶在這頁會改內(nèi)容嗎會用編輯器不會用 v-html。6. 一些不那么官方但很有用的經(jīng)驗折騰了這么多項目有幾個體會想單獨拎出來說。第一個是關(guān)于版本鎖定。wangEditor v5 更新頻率不算高但每次小版本升級偶爾會帶出小問題比如菜單配置字段微調(diào)、樣式類名變化。生產(chǎn)項目里我建議把版本號寫死不要用^放開次版本號等新版本在測試環(huán)境跑過一輪再升。這個建議對所有第三方 UI 依賴都適用編輯器尤其敏感因為它的行為直接暴露給運營同學(xué)。第二個是關(guān)于封裝粒度的取舍。我一開始把編輯器封成了支持十幾項配置的萬能組件結(jié)果每次維護都要在一堆 props 里翻找。后來改成只暴露四個核心 propsmodelValue、height、readonly、mode圖片上傳配置通過一個uploadConfig對象整體傳入。這樣既保證了復(fù)用又不至于讓組件變成一個配置黑洞。組件這東西暴露的接口越少別人越愿意用。第三個是關(guān)于圖片上傳的聯(lián)調(diào)。開發(fā)環(huán)境和生產(chǎn)環(huán)境的圖片域名經(jīng)常不一樣配置里寫的server如果是絕對地址切環(huán)境就得改代碼。我現(xiàn)在的做法是統(tǒng)一走相對路徑讓 Nginx 或者 Vite 代理去轉(zhuǎn)發(fā)配置里一行都不用改。如果后端返回的圖片地址是完整的對象存儲域名那在customInsert里可以做一層轉(zhuǎn)換開發(fā)環(huán)境替換成代理前綴生產(chǎn)環(huán)境原樣輸出。第四個是關(guān)于內(nèi)容回顯的時機。從接口拿到歷史 HTML 之后不要急著往valueHtml里塞。因為編輯器初始化是異步的你在onMounted里賦值的時候組件可能還沒 ready內(nèi)容會被吃掉。穩(wěn)妥的流程是接口數(shù)據(jù)先存進一個變量在handleCreated里再賦給編輯器的初始內(nèi)容或者直接用editor.setHtml()主動設(shè)置。這一點我在兩個項目里都翻過車癥狀是編輯已有文章時內(nèi)容展示不出來排查半天才發(fā)現(xiàn)是時序問題。最后一個提醒關(guān)于測試。富文本編輯器的坑大多不是邏輯問題而是瀏覽器差異和時序問題所以別只在 Chrome 里點兩下了事。至少要在你要支持的瀏覽器里各走一遍完整流程新建內(nèi)容、插入圖片、加表格、保存、回顯、切只讀、再切回編輯。尤其是插入圖片后內(nèi)容能否正確保存是最容易在不同環(huán)境表現(xiàn)不一致的環(huán)節(jié)。我現(xiàn)在的習(xí)慣是給編輯器頁面寫一個兩分鐘的冒煙 checklist每次升級依賴或者改樣式前都過一遍花的時間很少省下的事故排查時間卻很多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷亚洲久久| 五月丁香久| 婷婷五月六月丁香综合| 五月天婷婷色五月天| 九九婷婷激情综合网| 99热这里只有精品4| 91色色色| 五月天丁香成人| 99精品国产在热久久| 婷婷天天日婷婷| 婷婷日在线观看| 丁香五月激情啪啪综合| 91久久精品国产91性色TV| 色婷婷先锋| 激情五月综合ì香亚洲| 99亚洲综合| 色欲婷婷五月天丁香| 亚洲妇女熟BBW| 开心激情站| 狠狠狠激情网| 密臀久久| 久久久色婷婷五月天| 久久狠婷婷| site:esunnet.com| 草草视频91| 成人片在线免费看| 婷婷五月色花丁香社区| 9色免费网| 久久婷婷五月天| 激情av在线| 97韩国久久电影院| 91精品综合久久久久久五月丁香 | 激情开心五月天| 五月丁香六月色| 色五月丁香婷婷综合| 色久九| 99久久五月婷婷| 99免费超碰在线| 久久人妻久久| 桃色五月天| 婷婷丁香色情| 极品人妻VideOssS人妻| 开心五月色婷婷综合开心网| 日韩黄在免| 五月综合色| 91viP在线看| 九九热在线精品视频| 五月停停丁香| 日本九九网| 色吧五月婷婷| 亭亭色网| 99热这里只有精品9| 久久精品人妻| www。五月,com| 婷婷五月天深爱| 丁香五月婷婷啪啪啪| 九九99在线| 免费观看日韩成人av| 五月丁香另类网| 激情AV网| 婷婷玖玖五月天| 欧美日本黄色| 久久久久综合激动五月天| 久久婷婷五月综合97色一本| 色婷婷五月天激情在线播放| 国产综合网在线| 五月天婷婷在线播放免费| 三级大香蕉网| 九月婷婷色色| 怡红院AV亚洲一区二区三区H | 江苏少妇性BBB搡BBB爽爽爽| 六月丁香天堂| 色A网| 五月婷婷就去色| 婷婷狠狠久久| www.五月天婷婷| 亚洲精品国产setv| 中文字幕有多少字| 夜夜大香蕉婷婷丁香| 91丨九色丨熟女丰满| 五月丁香六月香香蕉| 天天爽成人综合网站| 婷婷五月天无码熟女| 六月丁香婷| 91狠狠综合久久| 亚洲精品又粗又大又爽A片| av五月天婷婷丁香| 六月丁香婷婷视频综合在线观看| 亚洲综合在线丁香五月| 超碰av在线| 国产毛多水多女人A片| 99免费超碰在线| 超碰色女| 色操b| 婷婷情色五月天| 色婷婷视频| 九九中文色色| 狠狠干总合| 五月婷婷成人| 丁香六月成人| 欧美又粗又大一区二区在线观看| 五月婷婷成人| 97在线天堂| 久9热在线视频| 翔田千里aV中文字幕| 亚洲综合丁香五月天| 91丨九色丨国产打屁股| 丁乡久久| 99精在线| 婷婷日韩| 亚洲狠狠婷婷综合久久久| 91人人爽久久涩噜噜噜| 91久女| 国产成人在线不卡AV| 五月激情偷拍| 99人人操| 婷婷五月天高清无码| 婷婷精品在线| 99热亚洲精品| 婷婷婷婷婷婷婷婷| 免费V片在线| 欧美激情五月综合| 欧美人妻一区二区| 成人AV免费观看| 五月天婷婷高清无码| 婷婷五月丁香综合| 亚洲精品亚洲人成人网| 色哟哟精品| 伊人网色婷婷五月天| 婷婷中文字幕| www.久久爱| www九九| 婷婷五月天天天| 激情五月婷婷| 五月天激情Av| 丁香六月天婷婷色| 婷婷五月天激情五月天| 欧美 色婷婷| 亚洲射激情| 六月婷婷综合| 亚洲婷婷丁香五月亚洲| 亚洲综合网在线| 亚洲一色色色色色色色色| 色色色在线观看| 亚洲欧美国产A片免费观看| 成人精品视频99在线观看免费| 97碰碰在线观看视频| 婷婷五月天综合中文| 无码激情AAAAA片-区区| 2025天天爽天天摸| 精品久9| 影音先锋 91工厂| 婷婷五月成人| 蜜臀A∨在线水帘洞| 天天舔天天爽| 大狠狠在线| 风流少妇A片一区二区蜜桃 | 99综合视频| 99色热| 亚洲啪视频| 97久久久| 免费看欧美成人A片无码| 开心 五月 综合| 丁香五月婷婷影院| 亚洲色色精品| 色婷婷影| 99热精品在线在线| 99热只有精| 精品自拍99| nvrentiantang av| jiujiu热在线视频| 久久ri精品| 九九无码视屏| 五月天婷婷影院| 97av在线视频| 在线观看玖玖资源免费观看| 中文字幕激情综合| 久久婷婷五月天激情新地址| 五月天综合在线| 婷丁香五月天| 色天堂97| 亚洲V国产V欧美V久久久久久| 色婷婷五月天堂资源| 色综合女人99| 91热爆在线| 五月激情偷拍婷婷| 亚洲天堂爱爱| 在线不卡AC| 99热在线看片| 丁香婷婷五月综合影院| 99在线观看| 色婷婷激情五月天丁香| 91久久久久久久久久久| 久久久五月四色| 国产脫衣舞一区二区三区| 日日夜夜婷婷| 丁香美女五月天婷婷| 伊人激情综合网| 国产美女无遮挡裸体毛片A片 | 99狠狠操一| 国产VA播放| 婷婷亚洲在线| 大香蕉伊人久久| 色色COm| 超碰大香蕉网| 日本欧美啪啪| 蜜臀久久99精品久久久久久酒店| 五月婷婷色| 激情婷婷六月| 99r这里只有精品哦| 5五月综合网亚洲| 天天操天天操天天操天天操天天操| 久热这里只有精品视频6| 婷婷99丁香| 亚洲日韩一页精品发布| 丁香色婷婷| 九九精品视频在线6| 丁香五月色| 亚洲影院婷婷色| 婷婷丁香六月天| 久久激情五月| 精品久久久人妻| 丁香五月成人论坛| 色婷婷丁香网| 日韩色色色色色| 九九re视频在线视频| 欧美性做爰大片免费看办公室| 婷婷五月天播播| 久久成人性爱| www.激情五月天.com| 婷婷综合九月| 久碰综合| 中文字幕五月久久婷| 六月丁花香啪啪激情欧美| 91操碰| 这里有精品| 五月天激情视频网站| 97激情五月天| 久草五月天电影网| 日日操日日干| 天天操夜夜肏| 色五月丁香伊人| 日日操夜夜爽天天天| 淫视馆aV二区一区| ri电影在线| 女婷久久| 色婷婷五月天亚洲| 千人斩操逼| 99热 在线观看| 青草网在线观看| PORNY九色9l自拍视频成人| 天天综合网色欲香| 91九色小视频| 99热这里只有精品268| 久色网址| 色婷丁香五月| 婷婷五月激情在线| 日本成人噜噜噜| 97热这里只有精品| 丁香九月婷婷综合| 色婷婷五月天| 婷婷五月性感| 综合网网欲色| 色九月婷婷| 97香蕉碰碰人妻国产欧美| 97在线刺激| 婷婷五月天堂| 人人色AV| 色 色 色综合com| 色五月在线观看| 色香欲综合| 五月婷婷在线观看黄| 97色在线观看视频| 日韩啪啪视频| 99视频综合网| 99精品在线播放| 婷婷99| 99久热这里有精品| 99亚洲色| 97操操| 国产精品99久久久久久久女警| 无码激情AAAAA片-区区| se.久久视频在线观看| 9热精品| 99re这里只有精品99| 视频这里只有精品| 丁香五月天在线| 色色色婷婷| 色屌丝中文字幕| 99在线免费观看| 亚洲无AV在线中文字幕| 五月丁香黄色| 五月综合亚洲婷婷| 99精品自拍| 欧美叉叉叉BBB网站| 色综合久久88色综合天天| 五月天丁香综合| 26uuu淫色| 99精在线| 桃色成人网| 日本久碰| 久久er+| 丁香桃色网| 夜夜骑夜夜撸| 97人人看一| 只有精品在线观看| 婷婷久久五月天| 天天色情站| 1234操逼网| 五月丁香色婷婷婷基地| 五月婷婷草| 99精品偷自拍| 色五月婷婷中文字幕在线观看 | 日本天堂免费99| 97色色网| 亚洲色啪| 激情伊人| 五月丁香成人| 激情五月天婷婷| 991精品在线视频| 色综合av超碰| 精品婷婷五| 狠狠狠狠狠狠狠狠草| 久久在线人妻| 天天肏视频| 婷婷色综合| 久久免费少妇高潮99精品| 色婷狠狠| 五月丁香久人妻中文| 白天AV月月| 五月色婷婷综合| 日本91在线| 91狠狠综合久久久久久| WWW.久久99| 婷婷性爱网| 五月婷婷和六月| 日本VA视频| 另类图片色五月| 性色做爰片在线观看WW| 99精品97| 亚洲行行色色| 伊人五月天在线| 亚洲精品性色| 9l视频自拍九色9l视频自拍九色9l社区| 天天日天天爽| 久久九九婷婷| 呦呦AV| 色激情五月天| 国产免费性爱| 亚洲综合网 665566| 色婷婷五月网| 婷婷五月六月| 亚洲 欧洲 国产 伦综合| www.99热日韩.com| 91se在线观看| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 99热这里只有精品26| 99亚洲色| 9999久久久久| 玖玖激情五月天| 色婷婷五月天激情久久| 色综合网址| 苗黎美女四级成人版一级二级毛片| 婷婷五月色图| 这里精品| 最新无码专区| 色婷婷视频| 少妇人妻人伦A片| 成人无码髙潮喷水A片| 97黑人精品区| 五月丁香色| 伊人综合网站| 综合欧美五月婷婷| 色啪网| 五月丁香另类网| 五月丁香六月婷婷啪啪综合| 伊人婷婷综合| 99在线视频女女视频| 日本狠狠爽| 粉嫩av懂色av蜜臀av熟妇| 婷婷色色色| 538久久| 九月婷婷久久| 综合色五月| 色色色色色色色色综合网| 亚洲亚洲人成综合网络| 干亚洲天堂| 久9久9热久热| 国产97色在线| 狠狠狠狠狠狠色| 日韩久操婷婷| 久久精品视频在这里有| 美女视频图片久久91| 五月丁香综合伦理片| 亚洲热综合| 丁香五月网| 婷婷五月美女直播| 丁香花狠狠婷婷亚洲中文字幕| 色婷婷综合中心| 色色综合网站| 天天操天天爽天天爱| 亚洲色网址| 色欲av伊人久久大香线蕉影院| 五月婷婷九九热| 狠干综合| 一月婷婷色色| 色综合久久天天综合网| 国产无套精品一区二区| 成人色五月天婷婷| 欧美性猛交 XXXX 乱大交| 性爱AV天堂| 丁香激情网| site:xmssd.com| 天天综合网在线| 婷婷五月天激情四射| 色色丁香婷婷| Se.婷婷五月天| 午夜天堂啪啪| 婷婷五月天人妻| 丁香综合| 色色色色av色色色色| 久热99久热| 玖玖婷婷五月天| 九九热91| 五月婷婷三级| 99热日韩这里只有精品| 国产精品久久久爽爽爽麻豆色哟哟| 99区视频| 丁香五月婷婷影院| 99九九99九九九视频精彩| 五月婷在线影院| 色色色色综合网| 久久这里只有精品久久| 乱岳熟女50岁| 狠狠干综合网| 日本69日人视频| 婷婷六月天| 丁香婷五月天| 色婷婷综合在线| 色私五月婷婷| 婷久看人爽| 亚洲色99综合天堂| 99热老司机| 五月丁香综合啪啪啪啪啪| 激情五月婷婷| 另类图片五月天| 成人av在线电影| 日日干天天| www.狠狠操.con| 人妻免费网站| 五月色综合网欧美网| 99精品成人无码A片观看金桔| 婷婷亚洲在线| 欧美熟女99| 丰满女老板BD高清A片| 日日夜夜狠狠干| 色婷婷偷拍| 日本色婷婷| 99热99热99热99热| 嫩草AV久久伊人妇女超级A| 大香蕉在九| 91久久色| 五月欧美色色五月| 成人精品在线观看| 亚洲影院婷婷色| 狠狠色综合网| 五月天婷婷婷| 久久丁香五月婷婷激情综合网| 婷婷大香焦| xxxx久| 26uuuavcom| 偷拍91九色| 国产69久久久欧美黑人A片 | 日韩在线视频网站| 五月丁香激情婷婷综合| 91人妻PORNY九色大屁股| 九九综合影音先锋| 欧洲色| 精品亚洲VA网站| 狠狠搞五月天| 欧美日韩成人高清在线| 亚洲激情四射色| 久99视频在线观看| 终合激情网| 综合五月天亚洲婷婷| 91九色在线观看免费| 99色视频| 五月天久久综合| 五月天激情.com| 99精品在线播放| 婷婷久久婷婷色五月| 五月婷在线| 玖玖午夜视频| 人妻久久久久久久 | 97色色网| 91精品久久久久久综合五月天| 婷婷久久亚洲| 婷婷五月综合在线视频| 人人操av| 激情六月综合| 激情五月色婷婷| 五月婷婷丁香综合网| 六月丁香五月婷婷首页| 久操大香蕉| 久久9999| 在线看黄色| 99欧美热| 综合久久五| 深爱五月婷婷| 99热9| 国产成人av在线| 亚洲国产精品VA在线看黑人| 日韩爱操视频| 婷婷王月天影院| 狠狠色狠狠鲁| 六月婷婷日| WWW色五月天| 中文字幕黄色片| 9l视频自拍九色9l视频在线观看| 4399欧美另类视频| 丁香五月婷婷Av| 丁香伊人五月色婷婷五十路| 51精品国内探花| 91日在线视频| 久久免费高| 超碰天堂网| www.超碰97| 最近免费中文字幕大全高清大全1| 五月婷婷在线免费观看| 色五月丁香五月| 色综合色色| 91九色国产| 色婷婷A| 91人人操人人爱| 日韩精品一区二区亚洲AV观看| 五月婷婷天天| 婷婷内射视频在线| 91婷婷在线| 丁香六月激情综合| 久9视频| 国产 码在线成人网站| 欧美色婷婷| 亚洲亚洲人成综合网络| 大香伊人久色| 六月婷婷最新网址| 综合视频久久| 只有精品在线观看| 亚洲天堂AAA| 五月天电影网| 激情五月天 婷婷| 色99色| 人妻久久婷婷| 亚洲第一综合| 色婷婷在线电影| 99热人人操人人操| 人伦30P| www.日本久久videos| 五月天激情偷拍| 国产五月天激情小说| 亚洲狠狠狠| 六九色综合婷婷五月天| 337p大胆噜噜噜噜噜91Av| 狠狠干狠狠色| 超PEN精品在线| 五他月天啪啪啪| 97色色综合| 女人天堂AV| 专区无日本视频高清8| 真实熟女-91九色| 91久久久久久久91| 亚洲欧洲色色| 欧美25p| 亲子乱AV一区二区三区下载| 国产欧美精品AAAAAA片| 色婷婷操逼网| 欧美婷婷六月丁香综合色连续高潮抽搐| 另类丁香五月天区图| 五月婷在线视频免费看| 丁香五月成人社区| 婷婷香蕉香| 嫩草视频在线观看| 99性感视频| 99热精品观看| 牛牛热这里只有jingpin| 婷婷五月综合色中文字幕| 五月丁香婷婷爱激情综合网| 天天综合亚洲| 激情五月天色色网| 五月丁香久久婷| 这里只有精品视频222| 蜜乳国产网站| 国产99热| 天堂网亚洲色图| 日夜操B| 婷婷无码视频| 九九色精品| 成人丁香五月婷| 99热精品10| 丁香五月婷婷网| 欧美交换配乱吟粗大25P| 9视频1在线| 婷婷五月色影视先锋| 97性视频| 99超级超级超级碰| 五月天天天开心激情网| 六月婷婷激情图片| a片在线免费观看一区| 九九热10| www超碰| 色玖玖网| 婷婷免费无视频| 久热婷婷| 91精品人妻少妇无码影院| 99精彩视频在线观看| 91热在线| 亚洲人人操| 五月天婷爱综合| 色色色色网| 热热99爱爱| 亚洲精品性色| 亚洲精品久久久久AV无码| 亚洲六月色婷婷| 色五月六月| 99视频| 久久五月天激情美女| 色播播五月天| 丁香婷婷久久综合在线| 人人看人人要| 国产人妻777人伦精品HD| 色婷婷综合网| 伊人干综合| 2025色婷婷| 五月天婷婷丁香成人网| 五月丁香久久激情网| AV电影在线播放| 激情六月丁香| 日本啪啪网| 综合五月丁香97| 深爱激清网| 久9精品视频在线| 丁香花五月天| 青柠影视免费高清电视剧| 久久五月视频| 婷婷综合激情| 婷婷五月天777| 日本va欧美va国产激情| 性爱动图国产麻豆一区二区三区| 大香蕉久操| 婷婷色情网| 婷婷伊人综合中文字幕| 99热亚洲| 激情色播| 久久久久久久五月婷婷六月丁香综合,开心激情综合网 | 超碰亚洲天堂| 天天天天干| 六月婷婷深深爱| 99这里都是精品| 五月婷婷在线视频免费观看| 婷婷伊人| 色九月激情综合网| 碰超亚洲| 深爱激情综合网| 嫩草国产| 99日本精品视频热| 婷婷五月天国产精品| 丁香五月成人| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 超碰成人在线观看| 亚洲综合在线伊人婷| 丁香五月在线观看| 狠狠搞综合色| 天天久久九九| 97五月天| 六月丁香深深爱综合网| 国产亚洲精品久久久久久郑州| www.色窝| 强奸幻女毛片| 激情六月丁香| 开心激情婷婷| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 色色九区| 9999久久久久| 久久五月丁香综合17C| 99久久婷婷国产综合精品| 99热这里全是精品| 色噜噜狠狠色综合成人99| 色色射| 爱草视频在线观看| 亚洲第二AV| 99久久网站| 丁香婷婷偷拍| se.久久视频在线观看| 色综合婷婷| 五月天激情网址| 伊人大香久久| 色五月人妻| 久久婷婷在线| 97香蕉久久超级碰碰高清版| 天天干天天干天天| 激情五月丁香亭亭| 婷色人人狠| 果冻传媒A片一二三区| 七七九色| 第六色在线| 日本黄色在线观看| 疯狂做受XXXX高潮A片| 欧美人妻一区二区| 成人五月天在线观看| 丁香五月婷婷操逼| 五月丁香天堂网| 这里只有精品9| 婷婷综合色色| www.婷婷久久五月天| 五月天色色网站| 五月色精品| 大香蕉五月丁香| 日日夜夜九九| 丁香五月色| 91成人性爱视频| 五月色婷婷在线观看| av超碰在线| 99操碰| 噜噜噜久久| 五月的丁香六月的婷婷| 色综合久久88色综合天天99| 亚洲av另类在线观看| 五月丁香黄色视频| 开心深爱激情网| 亚洲激情电影五月天色婷婷丁香一起草 | 天天成人丁香美女AV| 91一起操| 久久狠婷婷| 七月婷婷色香综合网| 丁香婷婷精品视频| 亚洲另类AV| 亚洲视频一区| 99热66| 婷婷色在线播放| 伊人午夜综合色啪| 亚洲久久视频| 五月婷婷影院| 91色吧网| 久草婷婷视频| 五月婷婷香蕉| 五月激情小说| wwwss在线观看| 五月天婷婷激情| 五月天久久丁香| WWW、日本色丁香、co m| 久热99| 色婷婷88| 丁香五月综合久久综合| 国产精品 的国产| 五月综合激情啪啪啪啪啪| 五月丁香啪啪| 日日爽夜夜爽| 婷婷开心激情| 亚洲激情av| 中文字幕AV网址| 狠狠色噜噜狠狠狠888| 欧美爆乳一区二区三区| 99热99这里有免费的精品| 国产裸舞福利资源在线视频| 婷婷五月天国产精品| 91成人视频| 色色激情五月| 五月丁香激| 二级黄色毛片| 99热性色| 超碰不卡在线| 大香线蕉伊人| 久久9久久| 婷婷五月丁香花综合| 中文字幕激情综合| 99久久精品国产色欲| g00d人体西西| 99超级碰碰| 久久天堂网| 丁香婷婷色| 亚洲AV综合网| 久久丁香五月天| 色色五月天婷婷| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 五月婷婷久久内射| 思思综合热| 丁香五月冃欧美| 女力报到正好爱上你| 丁香五月综合在线观看| 深爱激清网| 天天艹夜夜艹| 色你久久| 色99在线视频| 欧美S码亚洲码精品M码| 久99婷婷色综合| 色婷婷亚洲综合网站| 国产色香蕉精品五夜婷| 色激情五月| 97碰超级人人看| 在线观看五月婷婷网| 美女婷婷六月色| 婷婷激情丁五月| 999热在线视频| 色婷婷激情| 9久视频| 香蕉久久国产AV一区二区| 亚洲精品V天堂中文字幕| 色五月婷婷成人| 激情婷婷网| 中文无码婷婷| 色色婷五月天| www.五月天社区| 日本WWW九九九| 五月婷婷啪啪| 国产99久| 91精品国产99久久久久久天美| 超碰在线人妻| 婷婷综合成人五月天| 久久亚洲婷婷| 啪啪99| 99这里有精品视频| 东北熟女高潮99综合99| 色欲色天天香综合| 激情五月综合六月丁香婷婷狠狠干| 第四色婷婷五月| www.五月天婷婷| 99九九视频| 婷婷五月丁香亚洲| 色五月五月婷婷| 99热思思在线观看| 99热精品在这里| 99视频在线| 国产精品A片在线| 天天色播| 色婷婷AV久久久久久久| 91五月天| 亚洲天堂制| 久热久色| 日本va欧美va欧美精品88| 99色视频| 熟美女麻豆| 这里只精品| 美国十月色婷婷在线观看| 六月丁香五月婷婷| 九九综舍久久| 五月开心婷婷| 色色五月丁香| 日本色超碰| 日日操夜夜爽白洁| 激情婷婷五月天| 国产午夜成人AV在线播放| 99精品超在线播放| www.五月天。com| 久久婷婷亚洲| 伦乱人妻| 丁香五月视频在线观看| 九色91视频| 色五月天 丁香| 99热这里只有精品268| 五月天com| 丰满少妇猛烈A片免费看观看| 中文字幕,综合,91| 婷婷丁香五月天亚洲| 99久在线精品99re8热| 9色操| 天天操天天爽天天爱| 九热精品| 5五月综合网亚洲| 99热这里只有精品69| 天天色宗合| 五月婷婷七月丁香| 丁香五月天天高清在线| 九九视频在线观看视频6 | 五月丁香婷婷色色色| 伊人啪啪网| 亚州在线中文字幕| 影音先锋xfplay资源男人网| 超碰9| 秋霞少妇毛片| www色中色综合| 嫩草AV久久伊人妇女超级A| 亚洲不卡| 久久亚洲无码| 狠狠色综合网站久久久久| 婷婷综合激情五月综合| 六月丁香网| 五月丁香美女视频| 丁香六月婷婷综合激情欧美| 五月天AV大香蕉| 日日日日操| 婷婷六月激情综合| 亚洲日韩26uuu| 国产伦亲子伦亲子视频观看| 亚洲综合在线伊人婷| 无码人妻激情| 噜噜操操| 婷婷少妇激情| 夜夜躁婷婷AV| 99操免费视频| 免费看欧美成人A片无码| 成人欧美Va| 九色婷婷| 色狠狠狠干| WWW.婷婷| 噜噜噜噜婷婷五月天| 久热久| www久久99| 91色久| 深夜男女福利刺激影院一区| 久久九九爽| 99人妻碰碰碰久久久久禁片| 大香蕉久| 天天骑日日爽| 婷婷五月色| 天天爱天天做天天舔| 禁欲电影完整版在线播放| 亭亭丁香久久五月| 嫩BBB搡BBBB榛BBBB| 综合色五月天| 2050人人操免费工开爱| 五月婷婷视频28| 九九99九九精品视频| 99亚洲精品视频| 99色在线观看视频| 9 1超碰九色| 亚洲sesesese| 国产精品国产成人国产三级| 婷婷五月天,影院| 婷婷丁香91综合| 久久人妻伦理| 97色97干| 婷婷五月情| 丁香五月婷婷综合视频| 国产偷人爽久久久久久老妇APP | 婷婷丁香五月天激情| 深爱 五月天| 天天色综网| 美女五月天| 丁香六月婷婷综合欧美| a网站免费观看| 婷婷久久久久久久| 综合在线观看99| 久久天天| 九九热这里只有精品5| 欧美激情性做爰免费视频| 开心激情站婷婷五月天| 婷婷五月综合色中文字幕| 天天射综合网站| 色久婷婷网| 久久综合站| 久久久久久97| 丁香六月婷婷综合色| 亚洲三A| 激情五月天综合婷婷网| 丁香婷婷大香蕉| 成人精品视频99在线观看免费| 俺也高清无码高清视频| 91人人超碰在线| 丁香六月婷婷久久综合| 久久久精品人妻录| 天天搡日日搡aaaaⅩ| 婷色五月天| 啪到高潮激情丁香五月| 色婷婷免费观看| 少妇被下春药玩弄A片| 色五月在线播放| 操操啪| 日韩人妻在线播放| 成人在线精品| 色婷婷九月综合| 激情丁香六月| av高清无码| 91人人操人人爱| 色五月丁香激情视频| 超碰不卡在线| 欧美性生交XXXXX无码小说| 停婷丁五月在线| 亚洲性爱干干| 丁香五月黄色| 国产成人精品一区二三区熟女在线| 亚洲精品婷婷| 亚洲激情图文小说| 亚洲人妻电影| 日日躁夜夜躁狠狠久久AV| 99.N在线视频| 五月丁香六月情婷婷久久| 91黄址| 丁香九月色| 亚洲精品视频在线播放| 激情六月天婷婷| 日日色五月天| 久久东京热婷婷五月| 天天色中文字幕女优AV| 色综合久| 国产在这里只有精品| 亚洲综合网激情五月天| 人人操人人操919999| 91制片厂久久久国产电影| 婷婷激情六月| 亚洲综合五月天婷婷丁香| 综合热无码| 欧美日本VA| 97操碰在线视频| 日本WwW色偷偷丁香花久久久京东热| 亚洲综合成人网| 深爱综合网| 人人看人人要| 蜘蛛女免费观看完整版高清电影| 亚洲99在线| 大香久久综合网| 538在线精品| 色婷婷影院| 操九色| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 久热 91| 丁香五月天中文字幕| 九六五月天婷婷| 亚洲综合激| 色综合色综合网| 丁香狠狠色婷婷| 狠狠色丁香婷婷| 91男人资源站| 91男人操女人视频| 日韩成人电影AV| 99色综合| 超碰在线精品| 91九色欧美| 五月婷婷激情五月| 丁香六月激情国产| 丁香五月婷婷手机| 日本激情五月天‘| 激情亚洲婷婷六月| 天天综合天天玩夜夜玩天天玩夜夜玩 | 日本丁香五月婷婷| 噜噜色五月| 欧美天天草人人草| 日韩操人| 色综合色综合网| 丁香激情久久| 99自拍视频网站| 91视频精品99| 情色婷婷五月天| 色综合中文| 97久久草草超级碰碰碰| aa久久| 亚洲综合九九| 狠狠色综合网| 狠色综合网| 青青草性爱视频| 天天综合久久| 人妻系列久久久久久久久久久| 婷婷色色狠狠| 五月天婷婷在线啪啪视频| 99热这里只有精品手机在线观看| 伊人久久激情图区五月| 丁香五月天色| 高清激情av在线观看| 337p午夜影院| 天天色天天爱天天爽| 色噜噜婷婷| 色五婷婷开心缴| 久久久无码精品成人A片小说| www.婷婷,com| 五月丁香啪啪激情| 日日杆天天| 男女啪啪做爰高潮无遮挡| 日本无码专区| 色九月丁香婷婷蜜桃在线观看| 久久日曰| 久久久宗合| 狠狠干五月天婷婷网| site:esunnet.com| 婷婷五月天色综合| 亚洲综合五月天婷婷| 五月婷啪啪| 丁香五月欧美| 9热网站| 大香蕉在线观看9| 色婷婷超碰| 99热只有精品在线播放| www.日日日.com| 丁香五月婷在线观看| 成人短视频在线免费观看| 国产激情久久久| 日韩丰满少妇无码内射| 97超喷视频在线观看| 99人人操人人操人人精| 成人噜噜网| 激情五月色综合国产精品| 五月天亚洲综合网| 成人在线网址| 99噜噜噜在线播放| 丁香五月婷婷婷桃花影院| 91精品久久久久久| 日本成人噜噜噜噜噜| 天天插天天插天天插天天插| 久久婷婷成人| 色伦专区97中文字幕| 久久久人人操A V| 97干在线| 性生活久久人妻| 天天操中文字幕| 欧美性做爰大片免费看办公室| 超碰免费人人肏| 超碰爱爱爱| 在线视频色五月| 五月综合激情视频| 欧洲一区二区| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 国产看真人毛片爱做A片| 色444综合网| 激情综合网五月在线播放| 丁香五月天视频在线播放| 九九色人| 久久精品一区二区三区四区| 婷婷五月天精品| 大波美女VA网站| 国产性爱亚洲是图| 五月综合色| 色99免费视频中文| 99热国产国产| 五月丁香婷婷成人网| 思思99热| 99免费偷拍视频| 五月丁香激情综合网官网| 久久久久久久人妻| 激情内射人妻1区2区3区| 噜噜色com| 天天日天天添| 欧美激情综合色丁香婷婷五月天| 亚洲欧美婷婷五月色综合| 国产精自产拍久久久久久蜜| 99热狠狠操| 国产精品国产VA片国产| 狠狠99| 1024在线一区| 中文字幕在线观看视频www| 九九热在这里只有精品| 欧美va在线| www.久9| 婷婷五月婷婷五月天| 啪啪婷婷五月天激情| 亚洲婷婷性爱| 五月色婷婷中文字幕| 色欲五月婷婷| 欧美日韩成人一区二区| www.91av.com| 精品国产va久久久久| 97色色综合| 九九综合网| 乱女乱妇熟女熟妇综合网站| 久青操| 欧美色色日韩| 婷婷久久五月天亚洲欧美国产日韩在线观看| 99久久婷婷五月综合| 五月 婷 久| 久久伊人日日夜夜| 97在线精品| 秋霞AV淫| 五月丁香综合激情网| 天海翼中文字幕高| 色五月天.con| 1024国产| 久久婷婷五月天激情| 五月婷婷六月丁香在线视频| 99色综合| 天天性视频| www.五月婷婷久久.com| 99久久.www| 亚洲婷婷五月天激情综合| 五月婷在线| 综合激情五月四射婷婷| 五月天色婷婷基地| 午夜精品久久久久久久爽| 立川无码av| 欧美色频| 999热在线视频| 日本99在线视频| 大香蕉欧美在线| 天天日天天草| 天天爽天天爽| 久久99最新| 久久xx| 亚洲成人色五月婷婷综合| 天天色天天日| 丁香五月天婷婷91| 婷婷五月激情小说| 婷婷色基地在线看 | WWW五月| 丁香五月花影院| 伊人婷婷五月| 激情五月天久久| 天天射夜夜骑| 免费无码毛片一区二区A片 | 天天干,夜夜爽| 99久久99视频只有精品| 97色色色色色| 五月婷婷六月丁香免费| 婷婷丁香六月| 免费黄色片子| 99热一区| av在线超清中文| 少妇人妻丰满做爰XXX| 人人干AV| 婷婷大香焦| www,av好吊操| 超碰在线观看成人视| 五月久久婷婷天堂视频| 九九色院| 成人在线网址| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 99热99这里有免费的精品| 不卡成人免费| 国产欧美va| 91人碰| 夜夜 操无码| 99久热这里只有精品视频删减版| av在线资源| 秋霞影音91人妻久久| 丁香五月狠狠在线观看| 婷婷瑟瑟五月天| 久艹大香蕉| 色色a| 综合xx网| 七七久久婷婷| 26UUU欧美激情一区二区| 91久久99久久91熟女精品| 婷婷激情社区| 夜夜噜夜夜奇| 久久五月天丁香| 亚洲婷婷91丁香| 亚洲色色图片| 四季8848精品成人免费网站| 婷婷亚洲欧美丁香五月| 婷婷99热| 精品一二三区久久AAA片| 久久机热这里只有 | 婷婷99综合| 无码色| 天天爽天天爽天天爽天天爽天天爽| 日日操夜夜擼| 色五月婷婷久久| 97AV在线视频| 亚洲精品无人区| 激情六月天婷婷| 影音先锋男人资源站一区二区| 超碰免费在线| 久久这里只有精品16| 婷婷五月丁香色综合| 午夜一区| ss视频xx91| 久久性视频| 婷婷五月天国产传媒| 激情爱爱网站| 激情五月综合ì香亚洲| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 九九视频免费| 狠狠色婷| 婷婷中文无码| 久久99色色| 久99综合婷婷| www.91五月| 9久精品视频| 伊人丁香婷婷东京| 九九色综合网| 丁香五月婷婷社区| 老司机日日夜夜青草|