99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

鴻蒙NEXT數(shù)據(jù)庫(kù)調(diào)試三板斧:拉庫(kù)、Debug面板與dataChange訂閱

鴻蒙NEXT數(shù)據(jù)庫(kù)調(diào)試三板斧:拉庫(kù)、Debug面板與dataChange訂閱 說(shuō)個(gè)真實(shí)場(chǎng)景你在鴻蒙NEXT應(yīng)用里寫(xiě)了一個(gè)關(guān)系型數(shù)據(jù)庫(kù)模塊增刪改查全通了代碼也不報(bào)錯(cuò)但就是想確認(rèn)表里到底存了什么數(shù)據(jù)。最笨的辦法是翻日志一行一行打印字段數(shù)據(jù)量一多直接崩潰于是絕大多數(shù)開(kāi)發(fā)者都會(huì)想到同一件事——把數(shù)據(jù)庫(kù)文件拖出來(lái)看一眼。這個(gè)方法本身沒(méi)毛病但鴻蒙的沙箱機(jī)制和SQLite的WAL模式會(huì)讓這條老路踩不少暗坑。這篇文章就圍繞“如何實(shí)時(shí)查看數(shù)據(jù)庫(kù)”這件事把設(shè)備側(cè)拉庫(kù)、應(yīng)用內(nèi)Debug面板、dataChange自動(dòng)刷新三條路全部捋一遍給出可以直接抄的命令和代碼并且把每種方案的適用邊界說(shuō)清楚。適合正在做鴻蒙NEXT應(yīng)用、被本地?cái)?shù)據(jù)調(diào)試折磨的開(kāi)發(fā)者參考。1. 先分清“實(shí)時(shí)查看”的兩種場(chǎng)景別做重復(fù)功很多人一提“實(shí)時(shí)查看數(shù)據(jù)庫(kù)”開(kāi)口就問(wèn)“有沒(méi)有現(xiàn)成工具”。其實(shí)這個(gè)問(wèn)題拆開(kāi)看大多數(shù)時(shí)候包含兩種完全不同的訴求混在一起找方案容易兩頭不討好。1.1 調(diào)試期的“看一眼”與運(yùn)行期的“盯著看”場(chǎng)景A是開(kāi)發(fā)調(diào)試期的靜態(tài)快照式查看。應(yīng)用跑完某個(gè)功能后你想知道剛才那條記錄到底有沒(méi)有寫(xiě)進(jìn)去字段值是否符合預(yù)期。這個(gè)場(chǎng)景的核心訴求是“數(shù)據(jù)可見(jiàn)、字段可查”操作對(duì)象通常是已經(jīng)落盤(pán)的數(shù)據(jù)庫(kù)文件不需要應(yīng)用代碼參與把文件拉到電腦上用SQLite工具打開(kāi)就行。場(chǎng)景B是運(yùn)行過(guò)程中的動(dòng)態(tài)觀察式查看。應(yīng)用不停止數(shù)據(jù)持續(xù)寫(xiě)入你希望界面上的數(shù)據(jù)列表能跟著數(shù)據(jù)庫(kù)變化自動(dòng)刷新用于自測(cè)、聯(lián)調(diào)或者向測(cè)試同學(xué)演示某功能的前后數(shù)據(jù)差異。這個(gè)場(chǎng)景的核心訴求是“變化即所見(jiàn)”單純拉文件解決不了必須借助鴻蒙RDB的變更訂閱能力。這兩個(gè)場(chǎng)景的難度和實(shí)現(xiàn)路徑差異很大。場(chǎng)景A適合“快速驗(yàn)證一下”場(chǎng)景B適合“長(zhǎng)時(shí)間觀察狀態(tài)”。如果一開(kāi)始就把目標(biāo)定成“做一套自動(dòng)刷新面板”可能花了半天時(shí)間卻發(fā)現(xiàn)最初只是想看一眼字段名反過(guò)來(lái)如果只想“拉庫(kù)看一眼”又不滿足聯(lián)調(diào)時(shí)持續(xù)觀察的需求。1.2 兩種場(chǎng)景的選型判斷我做選型時(shí)習(xí)慣列一張表把使用階段、是否需要改應(yīng)用代碼、刷新方式、適合誰(shuí)來(lái)用幾個(gè)維度擺出來(lái)對(duì)比之后答案就很清楚。維度設(shè)備側(cè)拉庫(kù)查看應(yīng)用內(nèi)Debug面板dataChange自動(dòng)刷新使用階段開(kāi)發(fā)調(diào)試早期功能自測(cè)階段聯(lián)調(diào)、回歸階段是否改應(yīng)用代碼不需要純PC操作需要新增Debug頁(yè)面在Debug頁(yè)面基礎(chǔ)上加訂閱邏輯刷新方式手動(dòng)拉取離線打開(kāi)手動(dòng)點(diǎn)擊刷新數(shù)據(jù)庫(kù)變更后自動(dòng)刷新數(shù)據(jù)完整性依賴WAL文件是否合入實(shí)時(shí)查詢始終最新實(shí)時(shí)查詢始終最新硬件依賴需要連接電腦真機(jī)或模擬器均可真機(jī)或模擬器均可上手成本低命令復(fù)制即用中需要寫(xiě)UI頁(yè)面中高需要理解訂閱機(jī)制對(duì)照這張表你會(huì)發(fā)現(xiàn)三者不是替代關(guān)系而是互補(bǔ)關(guān)系。我現(xiàn)在的習(xí)慣是早期用方案一快速確認(rèn)表結(jié)構(gòu)和字段名做功能自測(cè)時(shí)打開(kāi)方案二進(jìn)入聯(lián)調(diào)階段再開(kāi)啟方案三。下面逐個(gè)展開(kāi)。2. 設(shè)備側(cè)拉庫(kù)查看最快出結(jié)果但別踩沙箱權(quán)限的坑2.1 搞清楚RDB文件到底落在哪個(gè)目錄鴻蒙NEXT的關(guān)系型數(shù)據(jù)庫(kù)relationalStore底層是SQLite數(shù)據(jù)庫(kù)文件存放在應(yīng)用沙箱的database目錄下。以默認(rèn)配置為例如果創(chuàng)建數(shù)據(jù)庫(kù)時(shí)傳的name是demo.dbbundleName是com.example.demoapp那么文件路徑通常是/data/app/el2/100/database/com.example.demoapp/entry/rdb/demo.db但這里有個(gè)很容易踩的坑不同API版本、不同構(gòu)建方式下文件落盤(pán)位置有差異。有的版本會(huì)把db文件直接放在database目錄下不經(jīng)過(guò)entry/rdb這一層有的版本還可能出現(xiàn)以bundleName命名的子目錄。所以最穩(wěn)妥的做法是先用hdc探一下真實(shí)路徑不要憑經(jīng)驗(yàn)硬寫(xiě)。在你已經(jīng)連接設(shè)備并開(kāi)啟USB調(diào)試的前提下執(zhí)行hdc shell ls -l /data/app/el2/100/database/com.example.demoapp/entry/rdb/如果輸出里能看到demo.db、demo.db-wal、demo.db-shm三個(gè)文件那說(shuō)明路徑是對(duì)的如果報(bào)錯(cuò)或者目錄不存在就換不帶entry/rdb的路徑再試hdc shell ls -l /data/app/el2/100/database/com.example.demoapp/另外數(shù)據(jù)庫(kù)文件名不一定和代碼里config.name完全一致取決于你是否傳了擴(kuò)展名。建議直接ls看實(shí)際生成的文件名而不是想當(dāng)然。2.2 拉庫(kù)的完整命令與SQLite工具打開(kāi)確認(rèn)路徑后一條命令把數(shù)據(jù)庫(kù)拉到電腦本地hdc file recv /data/app/el2/100/database/com.example.demoapp/entry/rdb/demo.db ./demo.db如果你在同一個(gè)目錄下看到了-wal和-shm文件建議一起拉下來(lái)hdc file recv /data/app/el2/100/database/com.example.demoapp/entry/rdb/demo.db-wal ./demo.db-wal hdc file recv /data/app/el2/100/database/com.example.demoapp/entry/rdb/demo.db-shm ./demo.db-shm原因很簡(jiǎn)單SQLite默認(rèn)開(kāi)啟了WAL模式最新的寫(xiě)入可能還在demo.db-wal文件里單獨(dú)拿db文件離線打開(kāi)時(shí)數(shù)據(jù)是不完整的。把三個(gè)文件放在同一目錄再打開(kāi)才能看到完整的最新?tīng)顟B(tài)。拿到文件后PC端用通用SQLite工具打開(kāi)即可比如DB Browser for SQLite這類(lèi)免費(fèi)工具能看表結(jié)構(gòu)、執(zhí)行SQL、導(dǎo)出CSV已經(jīng)覆蓋絕大多數(shù)需求。打開(kāi)時(shí)注意確認(rèn)三個(gè)文件放在同一目錄工具會(huì)自動(dòng)合并WAL內(nèi)容。2.3 權(quán)限不足時(shí)的補(bǔ)救路線先從應(yīng)用內(nèi)把庫(kù)“搬”出來(lái)如果hdc直接訪問(wèn)沙箱目錄時(shí)收到Permission denied不要急著懷疑人生。這通常是因?yàn)楫?dāng)前設(shè)備的調(diào)試模式受限或者h(yuǎn)dc連接的權(quán)限等級(jí)不夠。我有一次換了臺(tái)測(cè)試機(jī)hdc版本沒(méi)同步更新拉庫(kù)時(shí)一直報(bào)權(quán)限問(wèn)題折騰半天發(fā)現(xiàn)是設(shè)備端和PC端的hdc版本不匹配導(dǎo)致連接狀態(tài)異常升級(jí)hdc后問(wèn)題直接消失。但更多時(shí)候權(quán)限限制是真實(shí)存在的。這時(shí)候最省事的補(bǔ)救方案是在應(yīng)用內(nèi)加一段“導(dǎo)出數(shù)據(jù)庫(kù)”的臨時(shí)代碼把database目錄下的db文件復(fù)制到應(yīng)用自身的files目錄下。應(yīng)用操作自己的沙箱文件不存在權(quán)限問(wèn)題而files目錄通常位于hdc可訪問(wèn)的base路徑下之后就能正常拉取了。import { fileIo } from kit.CoreFileKit; import { common } from kit.AbilityKit; function exportDbToFiles(context: common.UIAbilityContext, dbName: string): string { const srcPath ${context.databaseDir}/${dbName}; const destDir ${context.filesDir}/export_db; fileIo.mkdirSync(destDir); const destPath ${destDir}/${dbName}; fileIo.copyFileSync(srcPath, destPath); return destPath; }注意context.databaseDir返回的是當(dāng)前應(yīng)用數(shù)據(jù)庫(kù)沙箱目錄這段代碼在應(yīng)用自己進(jìn)程內(nèi)執(zhí)行是合法的??截愅瓿珊笤偻ㄟ^(guò)hdc拉取files目錄下的文件即可hdc shell ls /data/app/el2/100/base/com.example.demoapp/files/export_db/ hdc file recv /data/app/el2/100/base/com.example.demoapp/files/export_db/demo.db ./demo.db真實(shí)文件路徑可能因設(shè)備版本略有差異以ls實(shí)際結(jié)果為準(zhǔn)。把這個(gè)導(dǎo)出函數(shù)放在一個(gè)Debug按鈕后面只在開(kāi)發(fā)期調(diào)用交付時(shí)移除。3. 應(yīng)用內(nèi)Debug面板在屏幕上直接看數(shù)據(jù)庫(kù)內(nèi)容3.1 為什么Debug面板比頻繁插線更值得投入拉庫(kù)這條路雖然直接但每次都要連電腦、敲命令、打開(kāi)PC工具做一次數(shù)據(jù)確認(rèn)至少一分鐘起步。如果你正在做列表頁(yè)聯(lián)調(diào)改一次數(shù)據(jù)就要確認(rèn)一次數(shù)據(jù)庫(kù)狀態(tài)來(lái)回插拔數(shù)據(jù)線能把人逼瘋。應(yīng)用內(nèi)Debug面板的思路就簡(jiǎn)單了在App里加一個(gè)隱藏頁(yè)面用RDB查詢能力讀取表結(jié)構(gòu)和數(shù)據(jù)在手機(jī)上直接展示。功能自測(cè)或者給同事演示時(shí)打開(kāi)面板就能看到數(shù)據(jù)不需要任何PC操作。更重要的是這個(gè)面板是所有后續(xù)自動(dòng)刷新功能的載體——不先把數(shù)據(jù)展示做好談?dòng)嗛喫⑿露际强照?。我做這個(gè)面板時(shí)目標(biāo)非??酥颇芰谐鏊斜?、能看每張表的行數(shù)、能點(diǎn)進(jìn)表看數(shù)據(jù)明細(xì)、能手動(dòng)刷新。這四個(gè)能力已經(jīng)覆蓋90%的調(diào)試需求再多的功能都屬于錦上添花后面可以按需擴(kuò)展。3.2 讀取表結(jié)構(gòu)拿sqlite_master當(dāng)入口RDB提供了querySql接口可以直接執(zhí)行任意SQL。要拿到數(shù)據(jù)庫(kù)里的全部表名最直接的方式是查詢SQLite自帶的元數(shù)據(jù)表sqlite_masterimport { relationalStore } from kit.ArkData; async function queryAllTables(store: relationalStore.RdbStore): Promisestring[] { const resultSet await store.querySql(SELECT name FROM sqlite_master WHERE type table ORDER BY name); const tables: string[] []; while (resultSet.goToNextRow()) { tables.push(resultSet.getString(resultSet.getColumnIndex(name))); } resultSet.close(); return tables; }拿到表名列表后逐表查詢行數(shù)。行數(shù)查詢用RdbPredicates的count接口async function getTableCount(store: relationalStore.RdbStore, tableName: string): Promisenumber { const predicates new relationalStore.RdbPredicates(tableName); return await store.count(predicates); }面板首頁(yè)的核心邏輯就是這兩段。頁(yè)面用一個(gè)List組件把表名和行數(shù)渲染成列表項(xiàng)點(diǎn)擊某項(xiàng)跳轉(zhuǎn)到表數(shù)據(jù)詳情頁(yè)。這里有個(gè)小細(xì)節(jié)查詢sqlite_master時(shí)最好把以sqlite_開(kāi)頭的內(nèi)部表過(guò)濾掉否則面板上會(huì)混入一些你從來(lái)沒(méi)見(jiàn)過(guò)也無(wú)權(quán)操作的系統(tǒng)表看著礙眼。3.3 表數(shù)據(jù)頁(yè)的展示與翻頁(yè)實(shí)現(xiàn)點(diǎn)擊某張表進(jìn)入詳情頁(yè)后需要分頁(yè)讀取數(shù)據(jù)。鴻蒙RDB的RdbPredicates提供了limitAs方法可以指定偏移量和每頁(yè)大小async function queryPage( store: relationalStore.RdbStore, tableName: string, page: number, pageSize: number, ): Promise{ columns: string[]; rows: ArrayRecordstring, string | number | null } { const predicates new relationalStore.RdbPredicates(tableName); predicates.limitAs(page * pageSize, pageSize); const resultSet await store.query(predicates); const columns resultSet.columnNames; const rows: ArrayRecordstring, string | number | null []; while (resultSet.goToNextRow()) { const row: Recordstring, string | number | null {}; for (const col of columns) { const index resultSet.getColumnIndex(col); const value resultSet.getValue(index); row[col] value; } rows.push(row); } resultSet.close(); return { columns, rows }; }這段代碼把ResultSet里的數(shù)據(jù)一次性轉(zhuǎn)成了普通對(duì)象數(shù)組方便交給UI層渲染。這里必須強(qiáng)調(diào)的是不要在UI線程里直接遍歷ResultSet——如果表數(shù)據(jù)量大一次goToNextRow循環(huán)會(huì)卡住頁(yè)面。先轉(zhuǎn)成數(shù)組再setState是一個(gè)基本但重要的習(xí)慣。UI層用List組件配合ForEach即可。每一行數(shù)據(jù)按“字段名: 值”的形式橫向排布字段太多時(shí)允許橫向滾動(dòng)。頁(yè)面底部放兩個(gè)按鈕上一頁(yè)、下一頁(yè)分別修改當(dāng)前頁(yè)碼后重新查詢。頁(yè)大小建議固定20行避免一次查詢過(guò)大導(dǎo)致渲染卡頓。3.4 給面板加一個(gè)“僅Debug環(huán)境可見(jiàn)”的入口Debug面板做得再好也不能讓它出現(xiàn)在正式包里。鴻蒙工程里常見(jiàn)做法是讀取構(gòu)建標(biāo)記只有DEBUG為true時(shí)才顯示入口。以Stage模型為例在首頁(yè)的aboutToAppear里判斷import { BuildProfile } from ohos.buildProfile; const isDebug BuildProfile.DEBUG true;在首頁(yè)某個(gè)不太顯眼的位置比如設(shè)置項(xiàng)里連點(diǎn)版本號(hào)五次或者界面上用一個(gè)僅Debug構(gòu)建才渲染的浮動(dòng)按鈕進(jìn)入Debug面板。正式包構(gòu)建時(shí)這段代碼因?yàn)闂l件判斷不成立根本不會(huì)渲染入口也就不用擔(dān)心誤觸或者被安全掃描盯上。入口設(shè)計(jì)還有一個(gè)細(xì)節(jié)開(kāi)發(fā)者模式開(kāi)關(guān)的提示狀態(tài)別寫(xiě)死。不同版本的真機(jī)對(duì)開(kāi)發(fā)者選項(xiàng)的開(kāi)放程度不同Debug入口最好同時(shí)支持“雙擊頁(yè)面空白處”這類(lèi)手勢(shì)觸發(fā)避免狀態(tài)欄遮擋或者按鈕被系統(tǒng)控件蓋住的情況。4. 訂閱dataChange讓數(shù)據(jù)庫(kù)變更自動(dòng)推送到界面4.1 dataChange的觸發(fā)時(shí)機(jī)與ChangeInfo含義手動(dòng)點(diǎn)刷新解決了“看一眼”的問(wèn)題但離“實(shí)時(shí)查看”還差一步。鴻蒙relationalStore提供了on(dataChange)訂閱能力當(dāng)事務(wù)提交后注冊(cè)了訂閱的回調(diào)會(huì)被觸發(fā)。這里有個(gè)關(guān)鍵點(diǎn)訂閱類(lèi)型是SubscribeType.COMMIT意味著不是每一條SQL執(zhí)行完立刻回調(diào)而是整個(gè)事務(wù)提交后才通知保證回調(diào)里能讀到已提交的數(shù)據(jù)?;卣{(diào)參數(shù)ChangeInfo里主要包含變更涉及的表名列表、變更類(lèi)型和變更數(shù)據(jù)明細(xì)。我經(jīng)常在實(shí)測(cè)中發(fā)現(xiàn)有人在這里犯迷糊自己在代碼里明明執(zhí)行了update訂閱卻沒(méi)反應(yīng)。排查到最后幾乎都是因?yàn)槌钟?訂閱的RdbStore實(shí)例和真正執(zhí)行寫(xiě)操作的實(shí)例不是同一個(gè)。鴻蒙的store對(duì)象需要通過(guò)getRdbStore獲取如果你在多個(gè)頁(yè)面里分別調(diào)用了getRdbStore拿到的可能是不同實(shí)例注冊(cè)在一個(gè)實(shí)例上的訂閱自然收不到另一個(gè)實(shí)例的寫(xiě)入事件。所以正確的做法是在應(yīng)用初始化階段創(chuàng)建一個(gè)全局單例RdbStore所有業(yè)務(wù)模塊和Debug面板都從同一個(gè)單例拿store。這既是避免訂閱失效的保障也是后續(xù)做緩存、做事務(wù)管理的基礎(chǔ)。4.2 自動(dòng)刷新開(kāi)關(guān)的實(shí)現(xiàn)骨架在Debug面板的表數(shù)據(jù)頁(yè)上加一個(gè)“自動(dòng)刷新”開(kāi)關(guān)開(kāi)啟時(shí)訂閱dataChange關(guān)閉時(shí)取消訂閱。訂閱回調(diào)收到變更后判斷變更表是否包含當(dāng)前正在查看的表如果包含就重新查詢當(dāng)前頁(yè)數(shù)據(jù)// 偽代碼字段名以當(dāng)前SDK提示為準(zhǔn) private onChange (changeInfo: relationalStore.ChangeInfo) { const tables changeInfo.tables as string[]; if (!tables.includes(this.currentTableName)) { return; } this.reloadCurrentPage(); }; private autoRefresh(enabled: boolean) { if (enabled) { this.store.on(dataChange, relationalStore.SubscribeType.COMMIT, this.onChange); } else { this.store.off(dataChange, relationalStore.SubscribeType.COMMIT, this.onChange); } }reloadCurrentPage的內(nèi)部實(shí)現(xiàn)就是重新調(diào)用queryPage函數(shù)然后把查詢結(jié)果通過(guò)狀態(tài)管理刷新UI。具體到ArkTS頁(yè)面可以用State管理rows數(shù)組也可以使用AppStorage做跨頁(yè)面共享看你的工程結(jié)構(gòu)習(xí)慣。4.3 多表變更時(shí)的合并刷新與性能取舍真實(shí)業(yè)務(wù)里數(shù)據(jù)變更不會(huì)只發(fā)生在你正在看的這張表上。比如一份訂單從創(chuàng)建到支付可能更新了訂單表、流水表、用戶表三處。如果訂閱回調(diào)每次觸發(fā)都立刻查一遍當(dāng)前表數(shù)據(jù)那這一瞬間可能會(huì)有多次重復(fù)查詢。我在實(shí)測(cè)里遇到過(guò)更夸張的情況某個(gè)批量導(dǎo)入功能在一個(gè)事務(wù)里寫(xiě)了幾千條數(shù)據(jù)訂閱回調(diào)連續(xù)觸發(fā)了十幾次Debug頁(yè)面每次都在重新分頁(yè)查詢屏幕瘋狂刷新完全沒(méi)法看。解決辦法是給刷新動(dòng)作加一個(gè)短防抖比如收到變更后啟動(dòng)一個(gè)200毫秒的定時(shí)器多次變更只執(zhí)行最后一次查詢private timer: number -1; private throttledReload() { if (this.timer 0) { clearTimeout(this.timer); } this.timer setTimeout(() { this.reloadCurrentPage(); this.timer -1; }, 200); }200毫秒看著不長(zhǎng)但能大幅減少查詢次數(shù)頁(yè)面刷新也不再有閃爍感。這個(gè)思路不僅適用于Debug面板業(yè)務(wù)列表頁(yè)做“寫(xiě)后刷新”同樣可以用算是RDB訂閱場(chǎng)景里的一個(gè)通用優(yōu)化。4.4 生命周期綁定必須成對(duì)出現(xiàn)的on/off訂閱容易取消訂閱容易忘。Debug頁(yè)面如果在Page銷(xiāo)毀時(shí)沒(méi)有調(diào)用off回調(diào)仍然會(huì)在每次事務(wù)提交時(shí)執(zhí)行而且會(huì)捕獲已經(jīng)銷(xiāo)毀的頁(yè)面實(shí)例輕則日志刷屏重則變量訪問(wèn)異常。雖然不一定會(huì)崩潰但這種“看不見(jiàn)的泄漏”在長(zhǎng)駐應(yīng)用里積累多了能明顯感覺(jué)到設(shè)備變卡。我習(xí)慣在aboutToDisappear里統(tǒng)一清理aboutToDisappear() { if (this.autoRefreshEnabled) { this.store.off(dataChange, relationalStore.SubscribeType.COMMIT, this.onChange); } }同時(shí)頁(yè)面退出前最好把防抖定時(shí)器也清掉避免定時(shí)器回調(diào)去操作一個(gè)不存在的頁(yè)面狀態(tài)。這個(gè)習(xí)慣一旦養(yǎng)成很多莫名其妙的偶發(fā)問(wèn)題都能從源頭上避免。5. 一套完整的日常調(diào)庫(kù)流程以及我踩過(guò)的那些坑5.1 我現(xiàn)在的三個(gè)調(diào)試階段怎么分工有了設(shè)備側(cè)拉庫(kù)、Debug面板、dataChange自動(dòng)刷新三條路我的日常調(diào)庫(kù)流程就固定下來(lái)了。寫(xiě)代碼的時(shí)候主要用hdc拉庫(kù)快速確認(rèn)字段名、表名、類(lèi)型是否符合預(yù)期。這個(gè)時(shí)候Debug面板往往還沒(méi)建好拉庫(kù)是最低成本的手段。功能自測(cè)階段打開(kāi)Debug面板每次操作完點(diǎn)刷新看數(shù)據(jù)變化不用再連電腦。聯(lián)調(diào)和回歸階段打開(kāi)自動(dòng)刷新開(kāi)關(guān)讓數(shù)據(jù)自己動(dòng)起來(lái)配合業(yè)務(wù)操作觀察列表變化任何一個(gè)寫(xiě)入異常都能第一時(shí)間暴露在屏幕上。這個(gè)流程真正跑順之后你會(huì)發(fā)現(xiàn)自己在數(shù)據(jù)庫(kù)調(diào)試上花的時(shí)間明顯變少。以前可能為了確認(rèn)一個(gè)update是否生效要寫(xiě)日志、拉文件、翻工具三步下來(lái)三五分鐘沒(méi)了現(xiàn)在打開(kāi)面板盯著就行省下來(lái)的時(shí)間還能多做幾輪自測(cè)。5.2 高頻問(wèn)題與處理方案一路踩下來(lái)我把自己經(jīng)常遇到的坑整理成了一張小表遇到同類(lèi)問(wèn)題直接照著排查?,F(xiàn)象可能原因處理方案hdc訪問(wèn)沙箱目錄報(bào)Permission denied設(shè)備調(diào)試模式受限、hdc版本不匹配升級(jí)hdc改用應(yīng)用內(nèi)導(dǎo)出文件后再拉取拉下來(lái)的db文件里看不到最新數(shù)據(jù)最新數(shù)據(jù)還在WAL文件中連同-wal、-shm文件一起拉取放同一目錄打開(kāi)dataChange回調(diào)一直不觸發(fā)注冊(cè)訂閱的store實(shí)例和執(zhí)行寫(xiě)入的store實(shí)例不同改成全局單例RdbStore自動(dòng)刷新時(shí)列表頻繁閃爍、卡頓回調(diào)里直接執(zhí)行查詢且沒(méi)有防抖查詢改為異步并加200ms合并刷新Debug入口在正式包被誤觸入口按鈕沒(méi)有做構(gòu)建條件限制用BuildProfile.DEBUG或等價(jià)標(biāo)記控制渲染這些問(wèn)題的共性是它們都不是代碼寫(xiě)不出來(lái)而是對(duì)鴻蒙沙箱和RDB機(jī)制理解不透導(dǎo)致的。我把它們寫(xiě)出來(lái)是希望后來(lái)者能夠直接繞開(kāi)。5.3 后續(xù)可以擴(kuò)展的方向Debug面板做到能看數(shù)據(jù)、能自動(dòng)刷新之后如果還有余力可以再往前走兩步。第一個(gè)是自定義SQL執(zhí)行器在面板里放一個(gè)輸入框直接執(zhí)行任意SQL并展示結(jié)果排查復(fù)雜問(wèn)題時(shí)就像在手機(jī)端裝了一個(gè)精簡(jiǎn)版數(shù)據(jù)庫(kù)管理工具。第二個(gè)是數(shù)據(jù)導(dǎo)出功能把當(dāng)前表內(nèi)容一鍵導(dǎo)出成JSON或者CSV文件寫(xiě)自動(dòng)化測(cè)試腳本或者做性能分析時(shí)非常有用。第三個(gè)方向是慢查詢?nèi)罩?。RDB執(zhí)行耗時(shí)可以通過(guò)日志跟蹤但那是系統(tǒng)層面的事在Debug面板里記錄每次querySql的耗時(shí)超過(guò)某個(gè)閾值就標(biāo)紅顯示對(duì)優(yōu)化列表頁(yè)性能很有幫助。這幾個(gè)方向我已經(jīng)陸續(xù)在做了實(shí)時(shí)查看數(shù)據(jù)庫(kù)這個(gè)需求的價(jià)值也會(huì)隨著這些功能逐步擴(kuò)大。以我個(gè)人這幾輪實(shí)測(cè)的感受來(lái)說(shuō)調(diào)試數(shù)據(jù)庫(kù)這件事工具鏈和方法論同樣重要。拉庫(kù)解決找證據(jù)面板解決看狀態(tài)訂閱解決跟變化三者結(jié)合基本覆蓋了日常開(kāi)發(fā)中所有的數(shù)據(jù)核對(duì)需求。如果你也正在鴻蒙NEXT應(yīng)用里做數(shù)據(jù)庫(kù)相關(guān)的開(kāi)發(fā)建議先花半天時(shí)間把這三條路搭起來(lái)后面調(diào)試效率的提升會(huì)非常明顯。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产人人操| 日韩狠狠色婷婷| 琪琪色网在线| 天天干天天干天天干天天干天天干天天干天天 | 啪啪激情综合| 色婷婷综合网| 怡红院一二三| 丁香五月激情宗合| 狠狠色婷| 色五月婷婷五月天| 99热精品在线| 综合视频五月| 色啪网| 精品一二三区久久AAA片| 天天舔天天摸天天射| 91操人人操| 国产精品A片| 97在线日本| 色婷婷综合久久久久| 成人五月天在线视频在线观看 | 天天干天干| 99这里只有精品8| 九九色婷| 婷婷五月色播| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 九九99久久| 亚洲射激情| ...婷婷五月综合不卡,国产在线手机 | 丁香五月骚喷水视频| 综合99综合久久久久久久| 青青草五月天| 国产精品国产| 激情五月天色婷婷综合| 婷婷五月69| 97午夜一区二区| 欧美天堂久久| www.夜夜操| 午夜爱爱爱成人| 六月丁香狠狠爱| 狠狠色婷婷| 五月婷婷天天| 中文字幕性爱丰满| 日日狠夜夜狠| 久色视频首页| 欧洲亚洲欧洲99久久| 丁香五月婷婷啪| 五月婷视频在线观看| 色五月激情| 免费播放片大片| 色婷婷五月婷婷五月婷婷五月| 久99久视频免费观看| 九九视频在线观看视频6| 丁香婷婷色情| 国产67194| 丁香五月六月激情久久| 欧美综合丁香网| 激情五月天噢美| 小色小蛇伊人婷婷色香五月| 九九色情网五月天| 激情婷婷九月| 五月天婷婷综合久久| 五月天大香蕉| α久久| 亚洲综合婷婷| 亚洲色热| 大香蕉婷婷丁香天堂AV| 一区二区免费看| 免费播放片大片| 婷婷五月综合久久中文字幕| 91碰超| 久婷婷婷| 任你爽视频| www.9797国产| 婷婷激情六月| 五月婷婷 婷婷五月 一区二区 久久久| 亚洲V国产V欧美V久久久久久| 亭亭五月色男人| 精品99在线| 色99网| 婷婷六月色情| 综合啪啪| 久久久91| 国产乱子轮XXX农村| wwwav大香蕉| 大香蕉AV在线| 欧美日韩日韩成人| 综合激情在线| 色婷婷色99国产综合精品| 91爱啪啪| 五月天堂婷婷| 天天操综合网站| 天天色天天爱天天爱天天爱y| 五月婷婷欧美激情| 草综合14| 99热热这里只精品996小说| 婷婷五月电影院| 99色色网| 亚洲黄3级片网站欧美| 成人网站免费在线播放| 久久奄也去色色网站| 五月婷婷精品无在线| 色吧婷婷| av操B网站| 丁香激情五月| 激情美女五月天激情在线| 第四色婷婷丁香五月| 成人五月天丁香婷| 色色亚洲99com| 97热在线精品| 五婷婷六月合| 99热新网址| 欧美日韩99| 欧美成人AAA片一区国产精品| 精品人妻伦九区久久AAA片| 爱久久小说下载网| 欧美性二区| 九九精品网| 天天做天天爱天天爽| 伊人久久婷婷| 日韩一级网站| 99愛国产| 五月婷婷丁香| 丁香五月综合婷婷| 亚洲色色精品| 色五月婷婷久久| 琪琪色网址| 午夜福利成人AV91| 婷婷五月天视| 色噜噜狠狠色综无码久久合欧美| 婷婷大香焦| 9久9久| 婷婷五月激情的图片| 9久热这里只有精品| www.99在线| 欧美色必爱| 九九RE视频在线精品| 天天日色情| 欧美性猛交99久久久99| 思思99久久| 久久久中文| 人妻体体内射精一区二区| 天久久久久| 五月丁香六月色婷婷| 97人人操人人爽| 亚洲天堂色| 秋霞午夜理论| 天天爽,夜夜爽| 国产精品99久久久久久久女警| 9色婷婷| 亚洲欧美婷婷五月色综合| 人妻乱码久久久| 日本激情五月天‘| 日韩野外 无套| 亚州激情网站无码| 精品无码久久久久久久久| 亚洲视频五区| 亚洲人妻av| 欧美三级黄色片久久| 情五月亚洲婷婷| 丁香色色色| 久婷婷五月天影院| 99热碰碰热| 国产精品久久久久久亚洲毛片| 久久久人妻人伦| 日韩99色99| 99∨VTV| 伊人五月婷婷| 狠狠色噜噜狠狠狠888| 庭庭久久内射| 婷婷丁香五月亚洲| 五月香蕉综合| 九月激情婷婷丁香| 第四色首页| 久久婷婷综合五月| 99免费在线| 无码AV大香线蕉伊人| AV79| 91丁香| 五月天成人免费视频| 久久一伦| 日本激情综合| 五月开心久久| XX色综合| 九九爱看亚洲| 日韩婷久| 五月综合久久| 五月天色色激情综合| 四色永久成人网站| 色播五月丁香婷婷| 亚洲视频另类| 人妻综合网| 丁香九九九九| 超碰狠狠操| 五月丁香婷婷基地| 性爱综合网| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 精品国产va久久久| 欧美日韩成人一区二区| 99色色网| 五月丁香六月综合激情无码软件亮点 | 五月丁香av在线| 日韩AV中文在线观看| www.26uuu.com亚洲电影| 成人AV片播放| 欧美日韩999| 播五月,色五月,开心五月播放器| 激情深爱综合网| 九九久久视频| 91人人网| 国产,欧美,学生妹,视频| 99热99精品在线观看| 丁香婷婷综合影院| 79色色免费| 丁香色色五月| 激情五月影院| 五月婷婷激情久久| 久久久久久久五月婷婷六月丁香综合,开心激情综合网 | 综合色影院| 91色综合| 婷婷五月欧美AA片免费| 久久九九综合| 99色热| 婷婷五月另类网站| 九九视频在线观看| 涩综合婷婷| 欧美色婷婷| 亚洲VA在线| 在线99精品| 色色色色热| 久色国产| 五月丁香色色综合| 任你操精品免费| 久久九九99| 热久精品| 丁香五月天五码婷婷| 91疯狂操操操操| 91精品国产99久久久久久天美| 色久婷婷五月| 综合色影院| 中文字幕网伦射乱中文| 激情九月婷婷| 月婷婷婷婷五月| 99在线观看视频精品| 婷香狠狠爱五月| 99色色网| 99热8| 欧美又粗又大一区二区在线观看| 久9免费视频| 性无码专区无码| 激情五月天婷婷| 丁香五月综合图片在线观看| 人妻AV在线| 777影视理论片大全在线观看| 丁香五月色| 开心五月丁香综合久久| 婷婷五月深情丁香深爱日韩| 天天色丁香| 99精品网址| 久久国产一区二区三区| 日本99视频| 九月丁香婷婷综合激情| 精品一二三区久久AAA片| 久热免费视频| 亚洲婷婷成人五月天| 玖玖精品婷婷| 严洲天天插| 五月丁香综合中文| 五月激激网w'w'w| 五月丁香亚洲校园欧美| 丁香 亚洲 久久| 久久婷婷七月丁香| 伊人久久大香线蕉精品| 日本精品人妻无码77777| 琪琪色五月天| 久热综合| 成片免费观看视频大全| 色色色国产| 97 A I色色| 五月停停丁香| 五月婷丁香亚洲| 久久久久久天天日天天爱| 丁香伊人网| 9久久久| 色爱爱综合网| 91n啪啪| 成人婷婷色综合| 狠色狠色综合久久| 天天干天天爽天天操| va中文资源在线观看| 久色网址| 人人澡天天色天天做| 97色片| 人橾人| 91久久色| 激情性爱五月天| 日韩AV片| 五月婷婷丁香啪啪| 欧美人人超级碰| 99国产精品久久久久久久久久久| 五月丁香啪| 思思久久思思| 五月丁香激情婷婷| 99精品这里只有免费视频| 色噜噜狠狠色综合日日| 成人国产综合| 丁香五月婷婷婷婷欧美综合| 激情综合色五月六月婷婷| 五月天成人伊人| 色婷婷久久久| 丁香五月天色综合| 99这里只有精品在线| 五月丁香人人婷婷在线观看| 九九九九这里只有精品| 成人在线网| 五月天婷婷激情小说电影| 九九成人视频| 久草婷婷在线| 狠狠爱婷婷爱| 天天综合网在线| 1024人妻| 超碰京东热av男人的天堂| 国产综合81p| 久久九九玖玖| 狠狠擼综合| 操啊操av| 九九五月天| 婷婷俺去也| 超碰v| 大香蕉丁香五月| 日本97久久久精品| 亚洲激情淫网| 久久这里都是精品| 亚洲最大视频| 婷婷五月欧美AA片免费| 91精品91久久久中77777| 色爱99| 五月婷婷自拍视频| 成人片在线播放| 青青青在线视频国产| 在线五月婷| 五月丁香久久呀| 婷婷激情丁香五月天综合| 丁香色播五月天| www,26uuu,c0m,色情| 五月婷婷丁香大陆免费| 日韩色色色色| 超碰99在线观看| 在线色五月婷婷| 99精品综合| 天天插天天插天天插天天插| 91丁香婷婷综合久久欧美| 婷婷情爱五月天6| www色色色com| 人妻免费网站| 思思热在线视频观看精品| 久久性爱视频这里只有精品| 色五月婷婷色| 大香蕉伊人99| 日本狠狠网| 啪啪一区| 亚洲网视屏| 五月丁香激情欧洲啪啪| 色情五月婷婷| 五月丁香啪啪婷婷| 天天爽,夜夜爽| 婷婷五月天色色| 中文字幕亚洲-区久久99婷婷| 日韩一区二区在线播放| 天天综合五月| Av在线资源| 99r久久这里只有精品| 噜噜吧天天爱| 大香蕉婷婷婷| www.五月天婷婷姐姐| 色五月六月| 色色色色网| 狠狠九九婷婷韩| 成人片在线播放| 五月天六月婷婷电影| 五月丁香六月婷综合成人综合| 99热大| 操笔无码| 国产在这里只有精品| 亚洲热久| 五月婷婷六月丁香激情| 丰滿爆乳一区二区三区| 国产激情综合五月久久| 91丁香五月| 久9热在线免费观看| 欧洲婷婷五月天| 日日干日日| 久久综合香蕉国产国产蜜臀AV| 五月天六月天| 可以免费观看的AV| 欧洲亚洲免费视频9| 久99视频在线观看| 日本一级特黄大片AAAAA级| 五月婷婷性| 国产全是老熟女太爽了| 婷婷五月丁香五月丁香| 成功精品影院| 欧美群妇大交乱婬网| 色婷婷欧美| 98永久精品| 97 A I色色| 色色色色色日韩午夜激情 | 丁香五月婷婷亚洲色图| 丁香五月av| 妇激情基地| 无码人妻激情| av九九| 99热精品在线播放| 六月婷婷网| 五月天com| 开心六月丁香五月婷婷| 色色色综合| 丁香婷婷丁香五月欧美人| 91操人视频| 婷婷五月天成人五月天| 免费无码毛片一区二区A片| 99久久这里只有精品免费官网| 欧美日综合| 狠狠狠狠免费| 欧美十二区| 五月婷婷丁香色播网| 精品热九九| 婷婷丁香五月天中文字幕| 日碰日| 激情六月综合| 99久久精品色老| 另类在线| 99热这里只有精品69| 九九色情网站| 五月丁香偷拍| 婷婷五月天影院| 五月丁香啪啪| 久久久久人妻中文| 久久人人九| www.色综合| 五月丁香色婷婷婷基地| 亚洲av另类在线观看| 第四色婷婷丁香五月| 七七色色综合| 五月丁香久久| 激情五月天小说| 欧美日韩成人在线网站| 色噜噜狠狠色综合日日| 五月开心深深爱激情综合| 91丨人妻丨国产丨丝袜| 久久久精品色| av免费人人| 成人免费高清在线播放| 五月激情综合网| 婷婷五月天人妻| 五月婷婷综合色啪首页| 九九色逼| 五月激情六月婷婷| 99re这里只有精品99| 欧洲MV日韩MV国产| 九艹在线| 六月丁香综合网| 九月av在线| 性爱视频99| 99热99这里有免费的精品| 婷婷终合色图| 极品少妇XXXX精品少妇偷拍| 女人被男人吃奶到高潮| 色久五月| 日韩无码成人电影| 在线成人国产| 嫩BBB槡BBBB搡BBBB| 5月婷婷激情在线| 丁香久久| 亚洲AV无码一区二| 国产AV一区二区三区最新精品| 天天舔天天操| 色五月婷婷、老熟女| 色情开心五月| 婷婷在线日韩综合| 色色色综合| 丁香五月五月婷婷| 丁香婷婷六月天| 九色七七| 99啪视频在线观看| 国产日产亚系列精品版优势| 亚洲av网站| 99热精品在线免费观看| 色丁香综合影院| 婷婷爱爱蜜臀天天操| 亚洲不卡| 人人摸人人| 色综合久久88色综合天天人守婷| 91一起操| 天堂综合久久| 久久日婷婷| 夜夜爽天天爽| www.五月婷婷久久.com| www.久热| 五月天激情网开心网| 五月丁香网av| aaa丁香五月天| 97极品在线| 在线成人国产| 日本久久久97| 精品人妻一区二区三区在| 成人色站,在线视频,看片-SS1AV| 日韩超碰在线| 亚洲一区二区 成人网站戴套| 99无码视频| 久久亚洲婷婷| 超碰97干| 五月天色色婷婷| 91色情播放| www.99精品视频| 性爱激情综合网| 99这里只有精品| 日本欧美在线| 91精品久久久久久| 色一情一乱一乱一区91Av| 色婷婷日本| 天天做夜夜爽| 五月丁香婷婷爱| 激情综合激情五月一起草| 丁香综合网| 丁香五月激情视频在线| 9999热这里只有精品| 日日干夜夜撸夜夜骑| 色欲婷婷夜夜| 成人婷婷五月天| 五月天激情综合首页| 色播五月丁香| 婷婷欧美激情综合| 激情99热| 激情综合网亚洲色图| 一本道综合网| 五月天婷婷激情小说| 婷婷激情五月天激情在线| 99爱视频精品| 操人妻90p| 五月天色婷好好| 五月激情丁香六月狠狠干| 激情无码五月天| 看黄的网站18禁| 99热精品少| 激情网 五月天| 婷婷五月天伦理| 色五月天网| 五月丁香激情婷婷综合| 色五月色五天免费视频| 亚洲情色一区| 色丁香五月| 日日干夜夜干| 91呦呦呦| 婷婷五月天午夜激情影院| 碰97久久| 丁香六月婷婷综合色| 激情的五月婷婷蜜桃| 五月丁香天天| 婷婷激情视频欧美视频自拍视频欧美剧 | 久久这里只有精品热在99| 人妻久久久| 色色色999| 激情五月丁香五月| 日操夜操天天操不卡| 亲子乱av一区二区三区的| 婷婷性爱视频在线| 婷婷啪啪| www.99操| 成年人夜夜喷水| 操操操www.com| 99福利视频| 国产成人亚洲综合A∨婷婷| 久久最新色| 色色色色综合| H亚洲| 射区导航| 综合久色五月| 婷婷五月在线观看| 激情AV| 亚洲激情六月丁香| 五月婷丁香花| 五月婷婷天| 91精品久久久久| 久久久亚洲精品一区二区三区浴池| 日本婷婷色| 久久久久久久97| 婷婷五六日| 久草热在线视频| 五月婷婷啪啪| 色五月婷婷影视| 这里只有精彩小视频视频网站| 婷婷综合六月| 丁香五月在线| 婷婷五月丁香激情图片| 五月婷婷内射网| 综合图片色色| 国产真实乱对白精彩| 99久在线精品99re5热视频| 色综合爽| 中文AV在线观看| 99精品国产在热久久| 欧美三级A做爰在线观看| 337久久| 99热热热国产超碰| 欧美xx激情视频在线观看| www 五月天 com| 99久久国产宗和精品1上映| 久久六月综合| 99极品视频| 久久9视频| 天天成人丁香美女AV| 丁香久久五月婷综合| 免费无码毛片一区二区A片| 九九热在线精品| 玖玖在线资源视频| 久久久婷丁香五月天激情综合| 无码人妻丰满熟妇奶水区码| 日本一级特黄大片AAAAA级| 五月噜噜| 思思热这里只有精品视频666| 九久九精品| www.99视频| 五月丁香色| 天天干com| 亚洲春色奇米影视| 99碰超| 另类综合婷婷五月天欧美视频| 五月丁香爱婷婷深深| 成人啪啪色婷婷久| 狠狠一日| 色婷婷视频| 色99在线观看| 亚洲综合色色色| 五月天播播综合| av久热| 亚州精品成人片| 嫩BBB搡BBBB榛BBBB| 亚洲成人免费电影| 激情五月天色播| 六月丁香婷婷在线波多| 九九视频这里是精品五月| 成人免费在线电影| 激情文学 综合 九月| 中国丰满熟女A片免费观| 99综合| 日韩av在线免费观看| 久久激情五月天| 丁香色播五月天| 色欲Av五月天| 婷婷五月激情四月综合| 99在线热| 狠狠色狠狠| 91 原创 在线 九色| av一级棒av| 婷婷丁香在线| 97色热| 国产免费AV在线| 五月天婷婷丁香视频| 亚洲午夜在线视频| 丁香五月天BBw| 综合网色综合| 91啦丨九色丨刺激中文| 一二线视频 另类| 日日操天天操| 丁香婷婷激情| 99爱视频在线观看| 国产欧洲欧洲精品久久| 超碰人人色| 婷婷久久五月丁香| 久久五月网| 激情五月天综合网| 人人干99| 国产激情视频在线观看| 91碰碰| 色九区| 99爱视频在线| 久久精彩视频| 99精品偷自拍| 丁香五月婷婷啪啪| 成人丁香五月天| 色欲婷婷五月天| 日本熟妇精品99| 九九人人操| 婷婷五月在线观看| 女人高潮内射99精品| 欧美大片免费播放器| 大陆极品少妇内射AAAAAA| 国产真实乱了老女人视频| 国产成人精品一区二区三区视频 | 久久只有这里精品免费| 五月丁香六月婷婷精品| 久久亚洲色导航| 一本道综合网| www激情五月天| 色综合天天综合成人网| 91偷拍视频| 99色色网| 综合色图婷婷| 中文av在线观看| AV无码免费| 9久热| 亚洲日韩人妻操逼| 久久这里有精品视频在线免费观看| 精品久久艹| AV在线大香蕉| 色99视频| 日本三级第一页| 午夜福利8055| 亚洲午夜AV| 婷婷色香六月综合激情| 激情五月婷婷丁香综合网| www.五月天婷婷| 九九99精品视频| 天天做天天爽| 久久九九思思| 91要啪| 丁香五月 综合| 五月丁香六月色婷婷| 五月婷婷之综合激情| 中文字幕不卡+婷婷五月| 五月丁香综合激情| 色色色五月天激情资源| 日本综合久久| 色情免费视频播放| 久久东京热婷婷五月| 人妻丰满精品一区二区A片| WWW久久99久久99久久| 丁香五月综合激情啪啪| 狠狠色激情在线| 四月婷婷丁香五月| 久久婷婷五月综合| 51精品国内探花| 一本久道综合色婷婷五月| 婷婷丁香一月| 噜噜噜久久| 99热色精品| 狠狠综合色网| 久一这里有精品国产| 色婷婷五月在线| 99性爱视频| 婷婷基地成人五月天| 国产韩日亚洲美州欧亚综合在线| 性生活视频98791| 五月天婷婷色| av一区免费看| 五月丁香婷婷福利| 综合网亚洲| 激情丁香五月| 中文字幕,综合,91| 五月丁香六月色婷婷| 9l视频自拍九色9l视频自拍九色9l社区 | 六月丁香婷婷视频综合在线观看| 九九亚洲视频| 99精品热| 久久婷婷人人| 天天天天做夜夜夜夜做| 婷婷网五月天| 午夜成人在线免费视频| 亚洲综合视频一下| 在线99热| 视频久久9| 成人色五月天| 99热免| 五月丁香婷婷婷激情爱爱| 精品综合久久久久久五月天| 色哟哟精品| 久久日本wwww色| 亚洲第一色网站| 五月丁香欧美综合| 日本97人人| 五月丁香久久久日婷婷久久婷婷日| 伊人五月综合网| 色五月综合激情网| 亚洲 25P| 操一区| av无码电影| 久色资源网| 中文字幕丰满孑伦无码专区| 97色碰| 999久久久国产精品| 亚洲天堂色| 岛国资源网| 岛国av网站| 14色综合婷婷| 婷婷五月天久久| 丁香五月综合狠狠| 天天 日综合| 亚洲中文字幕av| 久久新地址| 六月婷婷久久| 婷婷五月网图片区| 五月天网站免费欧美| 色综啪啪| 色5月婷婷| 艳妇野外情欲放荡HD| 激情 五月 婷婷 丁香| 丁香九月激情| 97人凄人人操人人爽| 激情网婷婷五月天| 综合久久六月| 六月丁香激情网| 色综久久久| 26uuu亚洲欧美| 日韩二区搞逼插逼毛片| 激情五月丁香色婷婷| 婷婷色色五月天| 伊人五月天综合网| 六月激情婷婷| 亚洲小视频免费播放| 五月婷在线| 久久婷婷成人| 啊V视频在线观看| 日本久久视频| 狠狠狠狠狠狠色| 婷婷丁香九月| 久热一本| 9久精品视频| 五月天精品视频| 天天射影| 深爱五月天| 六月婷五月丁香| 亚洲日韩一页精品发布| www.色窝| 亚洲xx在线| 丁香婷婷色五月天| 在线精品97| 五月丁香在线看| 色播色丁香五月| 直接看的AV| 亚洲狠狠婷婷| 久久免费操| 亚洲成人在线免费| 丁香久久| 玖玖在线资源视频| 这里只有精品96| 五月婷婷九月婷婷九月婷婷| 伊人丁香五月婷婷潮吹| 色婷婷六月| 日本九九视频| www99热| 袁子仪视频观看| 中国无码av| 亚洲视色| 亚洲综合1024| 亚洲色综合| 五月丁香色婷婷基地| 婷色综合| 99九九在线视频| 久久99综合| 中文字幕人成乱码在线观看| 九九热视频思思| 丁香五月影视| 激情小说五月天社区丁香| 蜜乳久AV| 日韩一区二区三区无码| WWW、99热| 亚洲色婷婷| 9999热在线免费观看| 色五月开心婷婷| 欧美性猛交99久久久久99按摩| 国产精品色色色色| www91在线| 综合久久人妻| 熟女网站久久| 大香蕉综合网| 五月婷婷网五月在线| 美女91一起草| av九九| 欧美综合婷婷网| 伊人久热91| 人妻AV在线| 色色色色av777| www.99热这里精品| 91色婷婷综合久久中文字幕二区| 五月丁香 啪啪啪| 五月丁香激情啪啪网| 俺去也五月天婷婷| 久久这里99| 婷婷丁香五月天影院 | 久久99网| 久久综合激情五月天| 久久五月婷综合| 丁香五月日韩| 青青草护士中出内射-欧美电影在线天堂新版| 91九九热| 丁香五月天婷婷激情| 六月久久狠狠| 超碰av在线| 日韩熟女啪啪视频| 婷婷丁香色五月| 婷婷丁香五月综合激情小说| 97碰在线| 99热伊人综合| 六月丁香五月天| 噜噜噜久久亚洲精品国产品91| 丁香五月性爱| 中文字幕高清av| 色欲久久综合| 综合图片色色| 六月丁香深深爱| 丁香五月六月综合激情| 色135综合网| 99激情在线| 深爱激情69热| 色激情综合狠狠婷婷| 91热手机在线| 乱乱av| 欧美人妻一区二区| 九热视频| \\五月天婷婷激情| 色琪琪一综合久久激情五月视频| 一本色道久久综合狠狠躁一二三| 久久五月视频| 丁香五月婷婷视频| 先锋av性爱成人电影| 色婷婷五月天av在线| 在线sebiav精品视频| 久热这里| 色婷婷狠狠爱| 日本色综合| 亚洲九九在线| 包操45分钟网站| 91黄址| 婷婷丁香www视频日本韩国| 国产SUV精品一区二区6| 久久综合九九| 狼人婷婷综合| 五月情婷婷| hd五月婷婷在线| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 色五月婷婷五月天激情综合| 99成人网站| 另类激情五月| 色五月中文字幕| 婷婷五月色综合香五月| 丁香婷婷色五月| 97人妻碰碰中文无码久热丝袜| 播五月丁香三月婷婷| 五月停停丁香| 午夜青草资源| 色五月激情五月| 综合色播| 丁香色五月 97干| 99色综合| 深爱激情综合网| 热成人网| 五月天激情综合10p| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 97操男人的天堂| 人与禽A片啪啪| 久/久精品99看9| 人妻av在线| 亚洲成人超碰| 99国产精品久久久久久久久久久| 丁香五月六月婷婷殴美综合| 亚洲女婷婷五月基地综合久久久| 五月婷婷六月丁| 日韩成人av在线| 极品色丁香| 成人免费在线电影| 婷婷五月色惰| 激情宗合 激情宗合| 99热99草97| 丁香久久九九99| 超碰99热在线观看| 狠狠色狠狠色综合日日91| 五月丁香在线观看国产| 丁香五月天久久| 草草女人亚洲| 99re思思热久久| 色色欧美色色| 丁香五月五月婷婷五月天激情四射| www.五月丁香av| 色婷婷五月亚洲| 亚洲国产精品综合色区| 久久96热| 99热这里只有的精品视| 这里只有精品9| 久久99激情丁香婷婷小说网| 亚美欧色影院| www.夜夜操.com| 综合久久高清| 天天看A片| www.狠狠| 国产全是老熟女太爽了| 91久久精品国产91性色TV| 欧美黄色一级录像| 伊人在线大香蕉网| 亚洲成Av人片乱码色第1集| 日本三级网址| 丁香六月激情| 婷婷激情五月综合| 激情深爱婷婷网| 日韩av干| 六月丁香婷婷五月| 天天日天天草| 久久婷婷五月综合激情国产| 色色五月丁香| 亚洲精品99| 久久五月天激情| av婷婷丁香| 丁香五月婷婷亚洲另类| 91在线日| 六月丁香五月婷婷首页| 天天透天天摸天天舔| 97干97色| 日韩色色小视频| www.五月天性.com| 色婷婷综合网站| 99热这里只有精品9| 色五月91| 99无码| 91大屁股在线| 91免费看片| 五月天另类小说亚洲| 色色色色av777| 丁香五月天色婷婷| 91日本在线观看| 男妓跪趴把舌头伸进我的嘴巴| 六月丁花香啪啪激情欧美| 丁香五月手机视频| 日本片日本片祼观看网站在线看中文版网页在线看 | 丁香婷婷五月色综合| 五月婷婷九| 天天射夜夜爽| 99日这里只有精品| 超碰色色综合| 99热这里| 成人网站高清无码| 激情五月婷婷| 天天干天天操天天爱| 久久九九@| 国产精品a无线| 99玖玖精品| 亚洲区,视频区,视频区免费| 国产高清RV综合aVa| XX久久| 嫩草AV久久伊人妇女超级A| 黄页免费一级视频懂色| 超碰久热| 色色丁香激情五月| 91ncom.色| 六月婷婷综合网2| 超碰在线9| 丁香婷婷人妻综合网| 色婷婷狠狠18| 深爱五月婷婷| 五月天婷婷色色首页| 五月丁香久久网| 99视频精品全部观看10| 人人草人人舔| 国产44页| 思思99热在线| 五月天婷婷免费视频| 99精品在线观看| 操逼巨乳91| 最新激情五月天| 色婷五月天| 欧美性猛交99久久久久99按摩| www.99日本| 天天日夜夜操五月| 九九九九毛片| 日韩成人无码片| 日韩一区二区在线播放| 日日干日日| 久久无码成人| 99色天堂| 少妇激情五月天| 激情五月天婷婷| 在线观看亚洲视频影院| 人妻操在线看| 少妇高潮一区二区三区99欧美| 色婷婷精| 五月丁香五月丁香| 久久婷狠狠色| 草榴视频黄色网| 色99视| 亚洲精品国产成人AV在线| 怕怕av| 开心婷婷五月花| 永久AⅤ1| 综合99久久| 99网| 婷婷五月电影| 激情五婷网| 亚洲第一成人无码A片| 色色免费网站| rr天天操| 久久R激情| se色99| 91婷婷丁香| 无码九九九九| 亚洲噜色| 婷婷五月色| 亚洲1区| 九九亚洲| 久久天堂女人| 26uuu国产精品| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 伊人综合网站| 99色区| 久久久999精品| 丁香色影院| 天天爽日日爽夜夜爽| 亚洲国产精品VA在线看黑人 | 91919191919久久成人视频| 成人五月天婷婷| 超碰成人在线观看| 伊人碰碰婷婷| 丁香五月在线播放| 狠狠色97| 五月婷婷中字在线| 久久婷五月天| 九九热99免费视频| 欧洲亚洲精品| 人操91在线| 久热A| 综合福利网| 精品99爱免费视频在线观看| 五月婷婷激情综合| 九月婷婷| 欧美色色色色色| 91色婷婷综合久久中文字幕二区| 久久艹99| 色婷婷综合成人| 看片视频在线免费日产在线看| 91九色在线观看免费| www.成人婷婷综合| 国产jd1024基地手机看国产| 天天天天天天天操| 九九热视频精品999| 六月丁香婷婷尤物| 国产精自产拍久久久久久蜜 | 丁香 婷婷五月| 国产精品久久久久久久久久| 99热这里只有精品亚洲| 涩五月婷婷| 开心五月婷婷六月丁香| 影音先锋女人AA鲁色资源| 亚洲激情淫网| 一本大道嫩草AV无码专区| 大波美女VA网站| 国产亚洲精品久久久久久郑州| sisi热国产| 久久人妻熟女一区二区| 狠狠狠激情网| 日韩av变天就操逼不卡区| 三级大香蕉网| 无码AV大香线蕉伊人| 天天综合在线网| 日本3级片一区2区| 成人短视频在线| 天天搞夜夜爽夜夜爽| 成人午夜无码视频| 艹B高清无码| 91精品刘玥| 九九在线这里只有精品视频| 超碰永久在线| 天天色天天操天天射| www.maotanji.com| 激情五月婷婷综合| 六月婷婷无码| 少妇水多A片太爽了| 五月丁香婷婷激激激综合网色播| 伊人超碰在线| 97超碰在线免费观看| 99色干| 色99视频| 亚洲瑟瑟精品在线| 九九爱精品网站| 久久99热这里只有精品| 婷婷97碰碰| 亚洲综合五月| 99久久成人| 激情丁香五月天图片| 性生活视频98791| 五月天色播网| 91呦呦呦| 9有码中文| 日韩无码一区二区三区四区| 九月激情婷婷丁香| 亚洲婷婷欧美婷婷| 六月婷婷天天操夜夜爽视频| 风流少妇A片一区二区蜜桃| a久久免费视频| 五月天伊人综合| 九九热在线视频| 婷婷丁香五月亚洲免费| 96精品久久久久久久久| 天天干天天插| 99热这里只有精品国产首页| 另类伊人婷婷| 成熟妇人A片免费看网站| 情趣视频66| 亚洲成人综合在线| 亚洲亚洲人成综合网络| 婷婷在线激情| 天天爽天天爽天天爽天天爽天天爽天天爽天天| 综合色在线| 日本色99| 国产日日夜夜操| 婷婷大乡焦噜噜| 专区无日本视频高清8| 丁香六月情| 五月天婷婷综合久久| 婷婷五月天丁香综合网| 九九色精品| 欧美va欧美va差| 五月激情啪啪啪| 97爱艹婷婷开心丁香激情综合| 五月天 婷 欧美亚洲| 成人羞羞啪啪 全 视频| 久热精品在看| 久热久| www.婷婷六月天| 成人欧美一区二区三区在线观看| 色噜久| 日韩精品AV一区二区三区| 六月婷婷视频| 先锋资源 996| 丁香五月综合激情啪啪| 六月婷婷毛片| 婷婷香蕉| 逼里香不卡| 国产日批视频免费播放| 九9九9无码| 国产精品天天狠天天看| 婷婷丁香花五月天| 激情五月亚洲| 99热99网| 中文字幕网站在线观看| 丰满人妻妇伦又伦精品国产| 久久艹99| 亚洲色无码| 久久99这里| 丁香色综合| 丁香八月综合激情| 久久九九网| 五月丁香激情综合啪啪| 国产精品色一哟哟| 九九热AV| 久久新地此| 成人五月天综合网| 丁香六月综合激情| 欧美日韩成人高清在线| 五月丁香六月婷婷手机无线| 玖玖资源站国产| 草草影院爱爱| 丝袜熟女一区二区三区| 九九热最新| 六月婷婷激情图片| 激情五月天www| 99在线观看免费精品视频| 五月婷婷影院| 丁香五月婷婷大香蕉| 五月激情婷婷偷拍| 少妇性按摩无码中文A片| 337p大胆噜噜噜噜噜91Av| 五月天婷婷丁香| 五月婷婷五月天亚洲无码| 激情五月激情综合网一级丸片| 亚洲午夜av| 玖玖婷婷五月| 中文字幕无码成人电影| 在线看AV| 激情五月黄色|