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

ARTICLE DETAIL

資訊詳情

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

Multica 移動(dòng)端 RNR 遷移實(shí)踐:shadcn 式組件體系、CSS 變量暗色主題與三階段落地方案

Multica 移動(dòng)端 RNR 遷移實(shí)踐:shadcn 式組件體系、CSS 變量暗色主題與三階段落地方案 Multica 移動(dòng)端 RNR 遷移實(shí)踐shadcn 式組件體系、CSS 變量暗色主題與三階段落地方案【免費(fèi)下載鏈接】multicaMake humans and AI agents work as one team — open-source and self-hostable.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/mu/multica本篇基于 Multica 移動(dòng)端的遷移設(shè)計(jì)文檔 rnr-migration.md完整拆解一次手寫(xiě) React Native 組件 → react-native-reusablesRNR 類級(jí)暗色模式的遷移工程為什么選 RNR 而不是 Tamagui/Gluestack如何用iOS 原生 RNR 討論瀑布收斂 18 個(gè)手寫(xiě) Sheet如何用 CSS 變量 darkMode: class搭出 Light / Dark / System 三檔主題切換以及三階段Phase 0/1/2/3的推進(jìn)節(jié)奏與已驗(yàn)證的源碼實(shí)現(xiàn)。讀完你可以復(fù)用到自己的 NativeWind 4 Expo SDK 55 項(xiàng)目中并了解每個(gè)設(shè)計(jì)決策背后的源碼依據(jù)。1. 背景遷移要解決的三個(gè)問(wèn)題文檔開(kāi)篇給出了遷移前的基線狀態(tài)注意這描述的是 Phase 1 之前的狀態(tài)主題部分如今已修復(fù)組件部分仍是待辦apps/mobile/components/ui/下有21 個(gè)手寫(xiě)組件約 1,379 行全部基于裸View/Text/Pressable/Modal構(gòu)建apps/mobile/components/下有18 個(gè)手寫(xiě) sheet/modal 文件全部復(fù)制同一種形態(tài)Modal transparent fade 手繪背景遮罩。移動(dòng)端基線文檔 CLAUDE.md 的 Lesson 6 早已記錄這種模式對(duì)多數(shù)內(nèi)容形態(tài)是錯(cuò)的并由此衍生出一串 bug鍵盤擠壓、maxHeight截?cái)?FlatList、Modal內(nèi)部useSafeAreaInsets返回 0沒(méi)有任何暗色/亮色主題基礎(chǔ)設(shè)施tailwind.config.js用硬編碼 hex 值global.css只有三條tailwind指令沒(méi)有 CSS 變量、沒(méi)有darkMode、沒(méi)有主題切換器。移動(dòng)端基線CLAUDE.md自 SDK 55 bootstrap 起就把 RNR 定位為 shadcn 的移動(dòng)端等價(jià)物但 RNR 從未真正安裝。本文檔記錄了為什么遷移到 RNR、評(píng)估過(guò)哪些替代方案、遷移如何分階段推進(jìn)三件事面向所有會(huì)動(dòng)到apps/mobile/components/ui/或給移動(dòng)端加新 UI 的開(kāi)發(fā)者。2. 備選方案評(píng)估評(píng)估維度有四項(xiàng)(a) 與現(xiàn)有技術(shù)棧的契合度NativeWind 4、Tailwind 3.4、Expo SDK 55、React 19(b) 所有權(quán)模型鎖定 vs 復(fù)制粘貼(c) 打包/編譯開(kāi)銷(d) 無(wú)障礙基線。庫(kù)棧契合度所有權(quán)構(gòu)建成本無(wú)障礙結(jié)論react-native-reusables (RNR)NativeWind 4 RN-Primitives CVA ——與本項(xiàng)目完全一致復(fù)制粘貼代碼歸你零只是 CSS JSXRN-Primitives焦點(diǎn)管理、ARIA 等價(jià)物入選Tamagui自帶編譯器 自帶 styled API非 NativeWind庫(kù)鎖定Babel/bundler 配置 學(xué)習(xí)成本內(nèi)置否決 —— 核心價(jià)值是 webnative 同代碼庫(kù)移動(dòng)端獨(dú)立用不上Gluestack UI v2自帶 styled API可以配合 NativeWind 用但非原生路徑可復(fù)制粘貼低react-native-aria強(qiáng)否決 —— 已有 NativeWind 在跑換樣式體系沒(méi)有收益NativeBase / RN Paper / RN UI Lib成熟但庫(kù)綁定鎖定低視情況否決 —— 長(zhǎng)生命周期安裝型 App 需要不依賴上游發(fā)版就能打組件補(bǔ)丁的能力復(fù)制粘貼哲學(xué)很關(guān)鍵RNR 的組件歸你所有模型還與桌面/Web 端的模式packages/ui/components/ui/也是 shadcn 復(fù)制粘貼保持一致——整個(gè)代碼庫(kù)一種心智模型。3. 決策RNR 及其治理承諾采用 RNR 時(shí)文檔立下了若干承諾。前兩條是原則約束遷移期每個(gè) PR 以及之后的每個(gè) UI 決策3.1 默認(rèn)值優(yōu)先Defaults first使用任何 RNR 組件時(shí)接受它的默認(rèn) variant、默認(rèn)尺寸、默認(rèn)間距、默認(rèn)調(diào)色板。除非有明確的產(chǎn)品需求不要加包裝層、不要做改進(jìn)版默認(rèn)值、不要造variantmulticaCustom之類的樣式。手寫(xiě)遺留代碼恰恰就是因?yàn)橛腥巳ヒ藰?biāo)準(zhǔn)原語(yǔ)的稍微改進(jìn)版——在 RNR 底下重演這個(gè)模式等于白遷。具體推論P(yáng)hase 1 原樣使用 shadcn 默認(rèn) neutral 調(diào)色板light dark。Multica 自有自定義 tokenbrand、success、warning、info、priority、code-surface追加進(jìn)去但暗色值不在有實(shí)證需求之前預(yù)先創(chuàng)作——它們先復(fù)制亮色值直到真正使用它們的頁(yè)面在暗色下出問(wèn)題為止。Phase 2/3npx rnr/cli add component寫(xiě)出文件后不要立刻調(diào)它的樣式API 有差異時(shí)改調(diào)用方。Tier C基礎(chǔ)升級(jí)指的是把裸Text換成 RNR 的Text、把內(nèi)聯(lián)條件判斷換成cva——不指重新設(shè)計(jì)或添加組件原本沒(méi)有的 variant。3.2 iOS 原生 RNR 討論新增任何交互時(shí)走這條瀑布命中即停iOS / RN 有原生 API直接用不要用Modal包一層去模擬RNR 有對(duì)應(yīng)組件npx rnr/cli add name用默認(rèn) variant都沒(méi)有。停下來(lái)問(wèn)用戶不要悶頭手寫(xiě)。第 4 節(jié) Tier B 的修訂分類就依賴這個(gè)原生 API 層——很多既有 sheet 換成ActionSheetIOS/Alert.prompt/ 原生日期選擇器后會(huì)整個(gè)消失。場(chǎng)景原生 API文本輸入提示單字段Alert.prompt(title, msg, callback)確認(rèn) / 破壞性操作提示Alert.alertN 選 1 動(dòng)作表ActionSheetIOS.showActionSheetWithOptions日期 / 時(shí)間選擇react-native-community/datetimepicker已安裝圖片 / 相機(jī)expo-image-picker已安裝文檔expo-document-picker已安裝分享react-native的Share.share觸感反饋確認(rèn) / 錯(cuò)誤 / 選中expo-haptics已安裝3.3 主題方案類級(jí)暗色模式darkMode: class CSS 變量應(yīng)用內(nèi) Settings → Appearance 提供light/dark/system三檔選擇選擇持久化在expo-secure-store。RNR 的默認(rèn) Tailwind 配置就是 class 模式與需要顯式用戶設(shè)置的需求匹配純 media-query 方案不允許用戶覆蓋 OS 偏好。3.4 組件三層分類不做一刀切全量遷移。部分遺留組件是領(lǐng)域 UI 而非通用原語(yǔ)留在原地但使用 RNR 的地基Text組件、語(yǔ)義化 token、CVA variant。3.5 硬規(guī)則寫(xiě)入 CLAUDE.md新組件要么來(lái)自 RNR要么先走原生 API 層。遷移刪除手寫(xiě)遺留 variant這條規(guī)則防止再次積累。這一規(guī)則如今已固化在 CLAUDE.md 的 UI components theming 章節(jié)作為遷移完成后依然有效的持久規(guī)則。4. 組件清單與三層分類Tier A —— RNR 直接替換遷移對(duì)象通用原語(yǔ)中 RNR 有近乎同形等價(jià)物的直接用npx react-native-reusables/clilatest add name的輸出替換手寫(xiě)文件然后清掃調(diào)用方現(xiàn)有文件行數(shù)RNR 組件備注components/ui/button.tsx63buttonPhase 2 的 canarycomponents/ui/input.tsx9input平凡components/ui/text-field.tsx34inputlabel用 RNR 組合components/ui/card.tsx36card可直接替換components/ui/text.tsx18text到處都在用要小心做清掃所有 importcomponents/ui/autosize-textarea.tsx89textarea需核對(duì)一致性 —— 自動(dòng)增高行為可能要基于 RNR textarea 重實(shí)現(xiàn)components/ui/otp-input.tsx68RNR 目前無(wú)等價(jià)物繼續(xù)用input-otp-native移入 Tier Bcomponents/ui/modal-close-button.tsx25無(wú)平凡 —— sheet 遷移后并入Dialog關(guān)閉模式合計(jì)約 270 行待替換含調(diào)用方清掃約 4 小時(shí)工作量。從當(dāng)前倉(cāng)庫(kù)結(jié)構(gòu)看components/ui/ 目錄在文檔撰寫(xiě)之后已經(jīng)出現(xiàn)了collapsible、dropdown-menu、radio-group、separator、skeleton、switch、tabs等文件可以推斷 Tier A 之后的組件引入已按 RNR 模式在推進(jìn)但按文檔 Status 行Phase 2/3 的收尾工作仍以文檔記錄為準(zhǔn)。Tier B —— Sheets / Modals套用 §3.2 瀑布這一層收益最大CLAUDE.md Lesson 6 已給重復(fù)出現(xiàn)的 sheet bug 建了檔。按iOS 原生 RNR 討論瀑布18 個(gè) sheet 三分B.1 —— 原生 API 替換文件直接刪現(xiàn)有 sheet替換為原因components/issue/comment-action-sheet.tsxActionSheetIOS.showActionSheetWithOptionsN 選 1 動(dòng)作菜單 —— 正是 ActionSheetIOS 的用途。推薦作 Phase 3 起手可見(jiàn)的刪除、無(wú)樣式問(wèn)題components/issue/pickers/due-date-picker-sheet.tsxreact-native-community/datetimepicker內(nèi)聯(lián)選擇器日期選擇 —— 原生 API 已安裝B.2 —— 改為 formSheet 路由已完成原計(jì)劃是把每個(gè) picker-sheet 換成 RNRSelect。mobile-sheet-rollout PR 系列最終收斂到了不同形態(tài)每個(gè)原 picker-sheet 都拆成components/domain/pickers/下的純XxxPickerBody組件嵌入 Expo Router formSheet 路由app/(app)/[workspace]/context/picker/field.tsx。這拿到了 iOSUISheetPresentationController的原生 chromegrabber detents 彈簧拖拽關(guān)閉同時(shí)省掉了 RNRSelect仍需要的每個(gè)調(diào)用點(diǎn)狀態(tài)與可見(jiàn)性 prop 的周折。本行文件已全部刪除無(wú)后續(xù)動(dòng)作。B.3 —— 真正需要自定義內(nèi)容 sheetRNRDialogpageSheet現(xiàn)有 sheet為什么保留為 Dialogcomponents/issue/issue-filter-sheet.tsx一個(gè) sheet 里多個(gè)控件篩選表單不是列表選擇components/issue/runs-sheet.tsx運(yùn)行歷史行 操作不是 N 選 1components/chat/session-sheet.tsx待定 —— 到時(shí)重新審視可能歸 B.2components/chat/agent-picker-sheet.tsx大概率 B.2Select—— 待重審components/project/add-resource-sheet.tsx待定 —— 取決于單選還是小表單B.4 —— RNR 沒(méi)有的空。唯一一項(xiàng)components/issue/emoji-picker-sheet.tsx已通過(guò)采納rn-emoji-keyboard解決評(píng)論表情反應(yīng)流程遷移到 formSheet 路由app/(app)/[workspace]/issue/[id]/comment/[commentId]/emoji-picker.tsx。移動(dòng)端現(xiàn)在在每條評(píng)論動(dòng)作表的更多表情溢出項(xiàng)后提供完整表情集與 Web 對(duì)齊。執(zhí)行規(guī)則不要批量替換sheet-shell.tsx。它被 18 個(gè)文件引用原子替換 18 處同時(shí)壞掉。按 CLAUDE.md Lesson 6一個(gè) sheet 一個(gè) PR一個(gè) PR 一次驗(yàn)證。B.1 是刪除類 —— 應(yīng)當(dāng)先做因?yàn)槊總€(gè)都只是刪文件、零替換代碼從父組件調(diào)ActionSheetIOS即可。復(fù)合收益代碼更少 符合默認(rèn)值優(yōu)先 符合iOS 原生優(yōu)先。B.2 簡(jiǎn)化調(diào)用點(diǎn)但引入的組件是新代碼排在 B.1 之后。B.3 保留結(jié)構(gòu)復(fù)雜度遷移主要是Modal換 RNRDialog。視覺(jué)變化最小但 bug 修復(fù)最大拖拽關(guān)閉、焦點(diǎn)管理、安全區(qū)都由 RNR 處理。Tier C —— 領(lǐng)域 UI保留升級(jí)地基這些不是通用 shadcn 組件 —— RNR 沒(méi)有優(yōu)先級(jí)圖標(biāo)或參與者頭像的等價(jià)物。它們留在components/ui/以兼容現(xiàn)有 import但內(nèi)部構(gòu)建塊必須遷到 RNR 地基用 RNR 的Text替代裸Text用cva做 variant 表而非內(nèi)聯(lián)條件用語(yǔ)義化 tokentext-foreground永不用#1f1f23actor-avatar.tsx158 行—— 底層用 RNR 的avatar原語(yǔ)但業(yè)務(wù)邏輯保留app-header-actions.tsx51、avatar-stack.tsx97、presence-dot.tsx44priority-icon.tsx80、project-icon.tsx49、project-priority-icon.tsx71、project-status-icon.tsx130、status-icon.tsx163pulse-dot.tsx52、screen-header.tsx37Tier C 不排期 —— 某個(gè) bug 或功能觸碰到文件時(shí)順手在該 PR 里升級(jí)地基機(jī)會(huì)主義而非排期驅(qū)動(dòng)。5. 主題架構(gòu)CSS 變量 類級(jí)暗色模式目標(biāo)Settings → Appearance 提供Light / Dark / System三檔選擇持久化在expo-secure-store鍵theme-preference值light/dark/system。5.1 分層結(jié)構(gòu)global.css CSS 變量定義于 :root 與 .dark:root顏色的唯一事實(shí)來(lái)源 tailwind.config.js darkMode: class 工具類映射到 hsl(var(--...)) lib/theme.ts CSS 變量的 TypeScript 鏡像導(dǎo)出給 React Navigation 用的 NAV_THEME lib/use-color-scheme.ts 包裝 NativeWind 的 useColorScheme expo-secure-store 持久化 app/_layout.tsx 啟動(dòng)時(shí)讀取持久化偏好調(diào) setColorScheme(...) 用 ThemeProvider(NAV_THEME[...]) 包 Stack 為 RNR dialog/popover 掛載 PortalHost /5.2 各層實(shí)現(xiàn)細(xì)節(jié)源碼佐證global.cssPhase 1 之前tailwind.config.js里約 20 個(gè)語(yǔ)義化 token 是硬編碼 hex?,F(xiàn)在它們成了global.css中:root亮色與.dark:root暗色下的 CSS 變量。亮色基礎(chǔ)值即 shadcn neutral 默認(rèn)如--background: 0 0% 100%、--primary: 0 0% 9%Multica 自定義 token 追加其后/* Multica custom tokens */ --brand: 225 71% 58%; --brand-foreground: 0 0% 98%; --success: 142 71% 45%; --warning: 48 89% 47%; --info: 217 91% 60%; --priority: 25 95% 53%; --code-surface: 240 4% 92%;實(shí)際實(shí)現(xiàn)比文檔更進(jìn)一步補(bǔ)了一套 5 級(jí)表面高程階梯--surface-1/--surface-2按 Refactoring UI≥5% L 差異為可感知閾值校準(zhǔn)亮色下 L100 頁(yè)面底 → L98 surface-1評(píng)論氣泡→ L96.1 shadcn secondary → L90 surface-2氣泡內(nèi)嵌代碼塊→ L84 border暗色下明度隨高程升高陰影在暗色下不成立色調(diào)抬升才是高程線索--code-surface是自定義 token 中唯一需要真實(shí)暗色值的例外240 4% 18%——亮色值近白暗色下會(huì)把代碼塊襯得比頁(yè)面還亮。tailwind.config.jsdarkMode: class所有顏色工具類映射為hsl(var(--background))形式borderWidth注冊(cè)了hairline: hairlineWidth()來(lái)自nativewind/theme插件區(qū)注冊(cè)tailwindcss-animate并保留移動(dòng)端的borderRadius覆蓋module.exports { darkMode: class, content: [./app/**/*.{ts,tsx}, ./components/**/*.{ts,tsx}], presets: [require(nativewind/preset)], theme: { extend: { colors: { background: hsl(var(--background)), primary: { DEFAULT: hsl(var(--primary)), foreground: hsl(var(--primary-foreground)) }, // ... 以及 brand / success / warning / code-surface 等自定義 token }, borderWidth: { hairline: hairlineWidth() }, }, }, plugins: [require(tailwindcss-animate)], };lib/theme.tsCSS 變量的 TS 鏡像。THEME是原始 token 對(duì)象供內(nèi)聯(lián)樣式、動(dòng)畫(huà)等 Tailwind class 夠不到的場(chǎng)景NAV_THEME是給react-navigation/native的ThemeProvider用的主題header、modal、返回鍵跟隨明暗。lib/use-color-scheme.ts包裝 NativeWind 的useColorScheme()加上expo-secure-store持久化鍵theme-preference。暴露{ colorScheme, isDarkColorScheme, setPreference }。文檔沒(méi)有細(xì)說(shuō)但源碼里寫(xiě)明的一個(gè)取舍首掛載時(shí)是異步讀取保存的偏好讀取完成前 NativeWind 默認(rèn)行為跟隨 OS生效——意味著選了 Dark 的用戶在亮色 OS 上冷啟動(dòng)可能短暫閃一下亮色可接受因?yàn)?secure-store 沒(méi)有同步后端。app/_layout.tsx實(shí)際接線處。RootLayout調(diào)用useColorScheme()拿到colorScheme/isDarkColorScheme用ThemeProvider value{NAV_THEME[colorScheme]}包住StackStatusBar顏色隨模式翻轉(zhuǎn)PortalHost /rn-primitives/portal掛在 provider 子樹(shù)末尾供 RNR dialog/popover 使用。components.json標(biāo)準(zhǔn) RNR/shadcn 配置 ——style: new-york、baseColor: neutral、cssVariables: true別名指向/components、/lib/utils。metro.config.jswithNativeWind(config, { input: ./global.css, inlineRem: 16 })——inlineRem: 16是 Phase 1 清單里的關(guān)鍵項(xiàng)保證 CSS 變量按 16px 基準(zhǔn)編譯。5.3 為什么是 class 模式而不是 media-query 模式media-query 模式media (prefers-color-scheme: dark)是更簡(jiǎn)單的默認(rèn)但應(yīng)用無(wú)法覆蓋它。Settings → Appearance 需要覆蓋 OS 偏好必須 class 模式。代價(jià)是啟動(dòng)時(shí)一次setColorScheme()調(diào)用來(lái)應(yīng)用保存的偏好首次繪制前一次性付清。5.4system選項(xiàng)用戶選system時(shí)調(diào)用setColorScheme(system)NativeWind v4 原生支持框架通過(guò)Appearance.addChangeListener跟隨 OS無(wú)需自己訂閱isDarkColorScheme響應(yīng)式更新。5.5 暗色調(diào)色板策略舊配置里不存在暗色值必須創(chuàng)作。兩個(gè)選項(xiàng)直接用 shadcn neutral-base 暗色調(diào)色板RNR 默認(rèn)安裝的--background: 0 0% 3.9%等—— 最快立刻有能跑的暗色模式品牌對(duì)齊可能要二遍手工創(chuàng)作暗色對(duì)齊 Web/桌面暗色主題 —— 慢但與桌面視覺(jué)一致。Phase 1 選了選項(xiàng) 1換取速度。現(xiàn)在基礎(chǔ)設(shè)施已驗(yàn)證后續(xù)可以按桌面的 tokens.css 暗色主題做校準(zhǔn)但注意桌面用 oklch / Tailwind v4移動(dòng)端用 hsl / Tailwind v3.4跨版本共享不現(xiàn)實(shí)分歧是刻意保留的基線。6. 三階段推進(jìn)計(jì)劃Phase 0 —— 研究與文檔本文檔?通讀 RNR 安裝與定制文檔、檢查移動(dòng)端現(xiàn)狀tailwind.config.js、global.css、app/_layout.tsx、metro.config.js、babel.config.js、更新 CLAUDE.md 的 UI 與主題規(guī)則、寫(xiě)下本文檔最后過(guò)用戶驗(yàn)證關(guān)卡。Phase 1 —— 基礎(chǔ)基礎(chǔ)設(shè)施 ? 已完成目標(biāo)裝上 RNR 腳手架但不碰任何一個(gè)現(xiàn)有組件。驗(yàn)證標(biāo)準(zhǔn) App 構(gòu)建運(yùn)行與之前完全一致設(shè)置里的主題切換器端到端可用。Phase 1 的 10 項(xiàng)清單全部交付依賴按 RNR 手動(dòng)安裝第 3 步npx expo install tailwindcss-animate class-variance-authority clsx tailwind-merge rn-primitives/portalcva/clsx/tailwind-merge/rn-primitives/slot確認(rèn)已存在新增的只有tailwindcss-animate和rn-primitives/portalmetro.config.js設(shè)inlineRem: 16重寫(xiě)global.css:root.dark:root雙調(diào)色板含 Multica 自定義 token重寫(xiě)tailwind.config.jshsl(var(--...))映射、darkMode: class、tailwindcss-animate插件、hairlineWidth()邊框?qū)挾缺A粢苿?dòng)端專屬覆蓋新建lib/theme.tsTS 鏡像 NAV_THEME新建lib/use-color-scheme.ts持久化包裝新建components.json標(biāo)準(zhǔn) RNR 配置更新app/_layout.tsx啟動(dòng)時(shí)讀持久化偏好、首繪前setColorScheme(...)、ThemeProvider(NAV_THEME[...])包Stack、provider 末尾掛PortalHost /Settings → Appearance 選擇器三行Light / Dark / System調(diào)setPreference 持久化UI 復(fù)用既有行模式無(wú)新依賴驗(yàn)證構(gòu)建通過(guò)、亮色下所有既有頁(yè)面渲染不變、切 Dark 背景/文字翻轉(zhuǎn)、切 System 跟隨模擬器 OS 外觀、殺進(jìn)程重開(kāi)偏好仍在。Phase 1 不替換任何現(xiàn)有組件。按鈕、輸入、sheet 仍是手寫(xiě)版。暗色模式之所以對(duì)既有 hex 派生的語(yǔ)義 token 能用是因?yàn)橹皇前阉鼈兏牡澜?jīng)過(guò) CSS 變量 —— 同一個(gè)bg-backgroundclass 現(xiàn)在解析到有一個(gè)值變兩個(gè)值的變量。殘留風(fēng)險(xiǎn)帶入 Phase 3硬編碼 hex 的組件如Ionicons color#71717a、bg-[#fafafa]不響應(yīng)主題切換。Phase 1 做過(guò)一次#[0-9a-fA-F]{3,6}的 grep 清掃每個(gè)命中要么換 token要么標(biāo)TODO(rnr-migration):留給 Phase 3。Phase 2 —— 首個(gè)組件 canary未開(kāi)始目標(biāo)在批量做 20 個(gè)之前用最簡(jiǎn)單且非平凡的組件驗(yàn)證遷移機(jī)械流程。選定button.tsx。理由調(diào)用方數(shù)量高能驗(yàn)證 import 清掃模式、RNR 的 button 帶variant/sizeprop 與 shadcn 同形驗(yàn)證 API 對(duì)等、到處可見(jiàn)視覺(jué)回歸立刻明顯。步驟npx react-native-reusables/clilatest add button—— CLI 覆蓋現(xiàn)有文件舊文件成為 git 里的 diff 基線新舊 diff記錄 prop 或視覺(jué)差異RNRvariant枚舉 vs 自有的、默認(rèn)尺寸差異清掃所有調(diào)用方API 有差異就在同一 PR 里改調(diào)用方模擬器視覺(jué) diff逐個(gè)打開(kāi)用到 button 的頁(yè)面截圖與 main 對(duì)比亮色暗色雙模式驗(yàn)證。Phase 2 就是一個(gè) PR。驗(yàn)收標(biāo)準(zhǔn)所有既有按鈕仍工作亮色無(wú)回歸暗色下默認(rèn)值合理。Phase 3 —— 其余全部順序其余 Tier A 原語(yǔ)input、text-field、card、text、textarea—— 一個(gè)組件或一組一個(gè) PR同 canary 模式text特殊處理幾乎每個(gè)文件都 import 它單獨(dú)排 PRcodemod 是機(jī)械的import { Text } from /components/ui/text已存在背后文件變化即可Tier B sheets —— 一個(gè) sheet 一個(gè) PR順序 B.1原生 API 替換刪文件→ B.2Select替換→ B.3Dialog遷移。首個(gè) sheet PR comment-action-sheet.tsx→ActionSheetIOS干凈的刪除、且在實(shí)踐中驗(yàn)證 §3.2 瀑布。每個(gè) PR 后停下來(lái)重新驗(yàn)證Tier C 地基升級(jí) —— 機(jī)會(huì)主義無(wú)排期 PR收尾 PR刪除不再被引用的遺留文件、清掉 Phase 1 hex 清掃留下的 TODO 注釋最終pnpm typecheck pnpm lint干凈。停止規(guī)則連續(xù) 3 個(gè) PR 引入視覺(jué)回歸就暫停重新審視 token 映射不要硬推Tier B sheet 遷不干凈RNRdialog不適合該場(chǎng)景時(shí)在本文檔記錄分歧保留手寫(xiě)版并標(biāo)記為刻意例外而非待辦。7. 已知陷阱寫(xiě)進(jìn)反射弧研究階段踩過(guò)的坑動(dòng)手前先固化darkMode: class.dark:root是 NativeWind v4 類控制模式下唯一可用的組合。不要用標(biāo)準(zhǔn).dark選擇器 —— NativeWind 需要:root后綴才能全局應(yīng)用。global.css 中的選擇器就是.dark:root。setColorScheme()來(lái)自 NativeWind不是 React Native。從react-nativeimport 得到的是只讀的 OS 值。NativeWind 版支持setColorScheme(light | dark | system)并觸發(fā)重渲染。同步陷阱lib/theme.ts與global.css必須互為鏡像。只改一邊Tailwind class 樣式化的組件看著對(duì)但直接讀THEME的地方內(nèi)聯(lián)樣式、動(dòng)畫(huà)、React Navigation chrome就錯(cuò)了。兩份文件的頭部注釋都寫(xiě)明改一邊必須改另一邊見(jiàn) rnr-migration.md §5。AbortSignal.timeout/AbortSignal.any在 Hermes 上仍不存在CLAUDE.md Lesson 5。與 RNR 遷移無(wú)直接關(guān)系但任何自己發(fā)網(wǎng)絡(luò)請(qǐng)求的新組件都要手動(dòng) AbortController 模式。RNRDialog內(nèi)部的useSafeAreaInsets與裸Modal一樣不可靠。CLAUDE.md Lesson 6 的 pageSheet 陷阱仍適用 —— 在父組件讀 insets把bottomInset當(dāng) prop 傳進(jìn)去。rn-primitives/portal的PortalHost /位置敏感。必須是所有 provider 的最后一個(gè)子節(jié)點(diǎn)如果掛在頻繁重渲染的 provider 內(nèi)dialog 會(huì)被意外卸載。只在 app/_layout.tsx 放一次。CLI 覆蓋文件無(wú)確認(rèn)。components/ui/button.tsx存在時(shí)add button直接替換。對(duì)遷移是期望行為但對(duì) Tier C 文件誤跑是災(zāi)難 —— 每次add后都查 git status。NativeWind 5 尚未采納?;€釘在 v4RNR v1 兩者都支持本項(xiàng)目走 v4 安裝路徑。8. 開(kāi)放問(wèn)題暗色品牌色當(dāng)前品牌色#4571e0僅亮色。暗色等價(jià)值要定 —— 保留深色底上對(duì)比度高還是偏移留給設(shè)計(jì) pass。code-surfacetoken亮色下是#e8e8eb比secondary深 5%。暗色等價(jià)是比暗色secondary亮 5%。實(shí)際實(shí)現(xiàn)已在 .dark:root 中給出240 4% 18%理由注釋齊全。設(shè)置頁(yè) UXAppearance 選擇器可內(nèi)聯(lián)三行直接擺也可做成打開(kāi) picker sheet 的行。v1 選內(nèi)聯(lián)更簡(jiǎn)單sheet 變體等 Tier B 遷完再說(shuō)。暗色 token 是否與桌面共享桌面packages/ui/styles/tokens.css用 oklchTailwind v4移動(dòng)端 hslTailwind 3.4跨版本共享不現(xiàn)實(shí)接受分歧為既有基線移動(dòng)端升級(jí)到 NativeWind 5 Tailwind v4 時(shí)再議。9. 小結(jié)與延伸閱讀這次遷移的方法論可以濃縮為四條復(fù)制粘貼所有權(quán)優(yōu)先于庫(kù)綁定默認(rèn)值優(yōu)先拒絕稍微改進(jìn)版原語(yǔ)用原生 組件庫(kù) 討論瀑布消滅不必要的抽象層基礎(chǔ)設(shè)施先行、canary 組件驗(yàn)證、批量推進(jìn)時(shí)設(shè)停止規(guī)則。配套文檔遷移主文檔 rnr-migration.md、持久 UI/主題規(guī)則 CLAUDE.md UI components theming 章節(jié)、主題實(shí)現(xiàn)的四個(gè)文件 global.css / tailwind.config.js / lib/theme.ts / lib/use-color-scheme.ts以及接線入口 app/_layout.tsx?!久赓M(fèi)下載鏈接】multicaMake humans and AI agents work as one team — open-source and self-hostable.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/mu/multica創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色久五月天| 色五婷婷开心缴| 亚洲精品色| 开心五月激情站| 欧美日本另类| 色一色综合| 色色色国产| 色婷婷综合在线| 热99只有精品| 亚洲小电影在线观看黄999| 亚洲精品成人| 久热这里只有精品66| 综合99在线| www.五月天婷婷| 婷婷香香五月| 大战熟女丰满人妻AV| 久久er免费视频| 少妇性按摩无码中文A片| 夜夜做夜夜愛| 日本九九视频| 日本视频久久| 99热都是精品| 色99欧洲色19| 99黄色在线视频精品熟女| 外国碰视频网站97| 五月花成人网| 91啪啪网| 成人精品视频99在线观看免费| 天天干天天 亚洲| 丁香五月 性爱| 激情五月婷婷综合网| 人人视频色| 丁香五月天婷婷91| 八戒青柠影视剧在线观看| 日日爱激情| 色播五月丁香综合| 大香蕉啪啪| 五月婷婷亚洲综合在线 | 婷婷五月丁香四射| 五月丁香精品| 永久AⅤ1| 9.1综合网| 97久久婷婷色| h在线看免费版在线看| 九九机热| 精品久久人妻热| 69人人操人人爽| 欧美日本VA| www.婷婷五月天| 五月天婷亚洲天综合网综合| 五月婷婷激情中文字幕| 青青操avbb| 亚洲四色五月| 丁香色婷婷色手机免费在线| 91丨九色丨白浆秘| 亚洲熟妇AV乱码在线观看| 五月天婷婷综合免费| 亚洲操逼网| 国产无遮挡又黄又爽免费网站| 婷婷网五月天| 怡红院精品视频久久久久久久久| 99re热在线视频| 五月丁香激情综合网| 婷婷舔| 9|在线观看视频| 天天肏高清在线| 久久五月丁香伊人青草| 日韩在线视频网站| 97伊人综合婷婷| 蜜臀嫩草| 亚韩在线视频| 超色欲天天| 日本4399天堂中出| 99综合免费视频| 99色色| 天天干天天色天天干| 热九九精品| 色久一| 婷婷五月天AV| 91精选国| 欧美色婷婷| 激情综合丁香六| 五月香六月婷| 色五月婷婷影视| 99啪啪网| 婷婷五月天电影网| 99热免费精品| 综合精品99| 玖玖婷婷五月天| 九热久| 激情五月天无码| 天天干天天干天天操| 婷婷久久亚洲| 人妻久久久| 开心五月激情网| 精品九九婷婷| 天天性视频| 狠狠色大香蕉| 激情小说婷婷五月| 久久99久久99精品免视看婷婷| 99综合99| 婷婷五月综激情| 伊人超碰在线| 日韩在线看AV| 狠狠干在线| 五月丁香好婷婷A片网| A1片久久| 九九成年视频| 青青草原爱爱网| 26uuu欧美| 99ri在线观看视频| 丁香婷婷啪啪| 天天干夜夜想| 丁香五月综合婷婷| 精品激情| 精品久久艹| 亚洲精品国产setv| 97天堂| 日本天天色| 色欲午夜无码久久久久久张津瑜| 天天操天天操天天操天天操天天操 | 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 99精品在这里| 丁香五月婷婷网| 婷婷五月天av| a在线观看| 99爱在线精品视频免费观看| 婷婷在线视频| 久草热8精品视频在线观看| 久久久这里有精品| 丁香六月亚洲综合| 日韩在线aaa| 亚洲另类在线观看| 五月天激情电影| 五月天最新网| 欧美精品中文字幕亚洲专区| 婷婷在线播放| 一二线视频 另类| 99精品久久| 五月天大香蕉| 99在线精品观看99| 美女五月天| 天堂综合久久 | 亚洲色图81p| a色婷婷| 人妻丰满精品一区二区A片| 无码AV久久久久久久久| 狠狠色婷婷| 任你草| 在线中文字幕视频| 久热中文字幕| 婷婷五月天最新综合你懂的 | 五月天色色网站| 99ri视频在线播放| 91色久| 天天爽天天爽| 91在线资源| 婷婷五月,综合伊人| 婷婷五月天成人网| 色噜婷婷| 久久色五月| 91一起操| 天天干肏夜夜| www999日韩精品| 丁香五月婷婷偷拍| 99爱视频| 久久久婷婷婷| 一级视频网址| AV天堂婷婷五月天| 欧美黄色韩日网| 99免费热视频在线| 丁香五月手机视频| 日本久久人| www.婷婷五月天| 色99在线| 久久99热精品a片在线观看| 欧洲亚洲免费视频区| 激情com| 婷婷五月丁香婷婷| 亚洲激情免费视频观看| 婷婷五月天激情在线| 伊人在线视频| 日本久久婷婷| 99精品一二三四视频| 五月久久婷婷| 超碰婷婷色| 丁香婷婷视频在线| 这里只有精品2| 欧美性猛交99久久久久99按摩| 成人精品免费在线观看| 九九综合色| 日本一级一片免费视频| 久久精彩免费视频| 日韩无码乱轮| 五月丁香啪啪激情| 女婷久久| 成人国产欧美大片一区| 亚洲国产精品VA在线看黑人| 丁香五月天久久| 色婷av| 另类激情五月天。| 综合色色色色色色| 色婷婷综合网站| 99热www.| 99亚洲大片精品永久在线观看 | 亚洲中文字幕av| 婷婷中文字幕网站| 激情四射五月天| sewuyuejiqingwang| 99视频久久| 天天综合在线网| www天堂99| 天天操五月天| 丁香六月天色婷婷| 日本人妻A片成人免费看片| 中文字幕 中文字幕明步| 天天插天天爱| 成人午夜天| XX久久| 五月 婷婷 成人| 天天爽免费视频| 一起草性爱不卡视频| 丁香婷婷激情| 亚洲成人中心| 五月婷婷丁香在线视频| 天天日天天插| 大香线蕉伊人| 五月丁香六月婷婷久久| 亚洲中文字幕在线观看| 色色影院黄大片| 日本va欧美va精品发布视频| 91视频一起草| 久久ri精品视频| 色噜噜狠狠色综无码久久合欧美| g00d人体西西| 丁香五月婷婷俺也要去| 日韩另类| 激情久久肏屄视频| 久久激情综合| 狼人婷婷久久| 美女久久婷婷| WWW五月婷婷| 五月天婷婷视频小说| 亚洲激情久久| 婷婷爱爱蜜臀天天操| 婷婷激情五月综合在线视频| 97色色婷婷| 五月天社区婷婷丁香社区| 五月综合在线婷婷图片| 婷婷丁香五月麻豆| 婷婷五月无码| 黄色AAAAA| 99九九在线视频| 色婷婷狠狠| 综合在线观看99| 亚洲视频丁香网va| 国产精产国品一二三在观看 | 99热综合| 天天爽天天摸| 91久操| 婷婷五月天激情电影| 丁香 婷婷 亚洲 熟女| 欧美韩国日本| 99婷婷五月天| 中文字幕永久在线| 伊久久婷婷| 五月亭亭激情综合| 99色精品| 97人人干| 色五月综合激情| 亚洲 视频 导航 一区| 五月色色激情网| 丁香婷婷婷| 色狠狠图片| 午夜爱爱网站| 熟女91九色| 九九性视频| 五月天国产婷婷精品视频在线| 激情小说婷婷| 亚洲色婷婷五月天| 成人综合AV| AV在线观看网站| 激情综合九月| 九月丁香婷婷综合激情| 婷婷综合五月天| 妻久久久久| 综合久久婷婷| 丁香五月天综合| 9久9久| 99久久6| 高清av在线国产| 开心五月婷婷在线| 色五月婷婷成人| 狠狠穞A片一區二區三區| 91色噜噜狠狠狠狠色综合| 亚洲视频综合网| 那里有AV网址| 99色在线| 亚洲综合五月天综合| 一起草av| 五五月五月| 欧美搡BBBBB摔BBBBB| 六月丁香婷婷拍拍| 97色碰| 丁香五月在线视频| 久久人妻熟女一区二区| 色色色色av777| 日本V在线观看不卡视频网站| 九九在线视频| 五月色丁香国产在线视频| 9热成人在线视频| 精品人妻久久久久久| 综合五月天| 婷婷五月综合色中文字幕| 五月天五月天激情网| 欧美精品狠狠色丁香婷婷| 开心亚洲久久开心| 色五月大香蕉婷婷| 丁香婷婷性爱| 色婷婷亚洲在线| 丁香 亚洲 久久| 五月婷婷成人| 狠狠干夜夜干| 日韩黄黄| 香蕉久久六月| 丁香5月综合啪啪| 国产成人精品亚洲线观看| 天干干夜夜操| 2015在线中文字幕| 久色| 五月丁香综合啪啪| 综合欧美五月婷婷| 色婷婷88| 久久这里只有精品视频15| 丁香五月激情啪啪| 亚洲精品又粗又大又爽A片| 婷婷免费无视频| 五月丁香久久激情综合| 婷婷丁香宗合888| 99人人干| 精品亚洲国产成AV人片传媒| 五月婷婷激情视频| 99热碰碰热| 婷婷五月成人| 婷婷 月 丁香| 欧美六月| BBWCUCKOLD精品熟妇| 五月花在线观看视频| www.婷婷亚洲基地| 91主播在线| 欲求不满的人妻| 5月婷婷激情在线| 99热线观看9| 五月丁香激情婷婷| 这里只有精品视频在线观看免费| 日韩成人影片网站| 久久WW| 婷婷丁香五月天狠狠| 婷婷伊人综合中文字幕| 久久亭亭电影| 久久在线人妻| www.婷婷五月天| 伊人喵咪a V| 99视频只有这里精品| 在线99精品| www.五月天婷婷姐姐| 五月天丁香网| 天天爽人人爽| 在线观看免费狠狠色丁香香综合| 国产性爱色| 91人人爽人人操| 天天操天天曰| 伊人五月天在线| 日韩无码专区| 99精品视频播放| 夜夜穞天天穞狠狠穞AV美女按摩| 开心激情久久久久久久| 八戒青柠影视剧在线观看| 99这里只有精品视频| 激情综合激情五月| 激情婷婷综合| 9热在线视频| 狠狠色噜噜狠| 操老逼综合网| 国产偷人爽久久久久久老妇APP| 一起草性爱不卡视频| 九九热最新| 天天激情站| 九九久久五月天综合伊人| 五月丁香六月婷婷亚洲天堂网站| 天天射美女| 亚洲午夜电影| 99ri国产在线| 激情五月天com| 人妻精品在线| ..真实国产乱子伦毛片| 婷婷91| 国产精品久久7777777精品无码| 97在线视频人妻九色| 99色在线视频| 国产a视频| 99视频综合网| 99热999| 久久蜜臀婷婷| 性av| 99热xx| 91九色白丝| 国产99久久久国产精品免费看 | 欧美丁香五月97色| 精品久久久久成人码免费动漫| 香蕉婷婷色五月| 蜜桃婷婷丁香| 色综久久AV| 日本色色网| 精品婷婷| 亚洲爆乳无码精品AAA片蜜桃| 丁香五月花婷婷开心| www.爱婷婷.com| 亚洲亚洲人成综合网络| 五月色网| 五月天激情小说| 五月丁香色狠狠干大屄| 五月激情丁香六月狠狠干| 丁香花狠狠婷婷亚洲中文字幕| 人人爱人人草| 久久六月天| 逼里香不卡| 天天插天天很| 九九综合九九| 综合色网站| 天天干天干| 婷婷五月天激情五月天| 99综合| 在线视频激情网站| 99日韩| 九九無妻| 婷婷涩涩五月天| 五月色丁香婷婷中文字幕| 九九碰九九爱97超碰| 玖玖99婷婷| 欧美极品999| 在线观看996精品| 丁香色五月 97干| 丁香五月图片| 丁香婷婷视频一区二区| 超碰人人99| 五月婷婷天| 欧美色图片88| 久久激情五月网| 热99精品视频五月| 天天拍天天做视频| 婷婷五月天综合在线| 色婷丁香| 神马久久五月天| 久久婷婷影院| 丁香婷婷综合激情五月色| 丁香婷婷啪啪啪| 月婷婷婷婷五月| 日韩成人精品中文字幕| 婷婷五月天综合AV| 中文字幕日产A片在线看| 91九色 熟| 超碰三级秋霞| 99色热视频| 91精品国产日韩91久久久久久国模| 中文字幕在线人妻| 97超碰色| 国产永久一黄| 五月天丁香欧美激情| 9|在线观看视频| 丁香五月五月婷婷欧美大香蕉| 自拍视频在线观看9| 狠狠爱五月婷婷| 五月丁香婷婷激情澎湃四射| 丁香久久久| 丁香五月在线观看完整版| 全国最新疫情| 中文字幕AV网址| 97碰碰在线观看视频| 成人网站高清无码| 久久五月婷婷丁香| www.超碰在线| 91干| 91色综合网| 超碰日日操| 九九99精品视频| 国产9色在线/日韩| 六月丁香婷| 久久99操| 精品在线| AV五月丁香| 777久久综合视频| 九九免费精品在线视频| ss99热| www.伊人天堂偷偷婷婷| 激情色情五月天| 欧美三级欧美一级| 人人爽天天莫| 深爱激情四射| 激情五月丁香六月婷婷| 五月天四色房丁香亭亭| 婷婷色在线播放| 五月婷婷片| 色无婷婷| 婷婷在线操| 色色免费网站| 俺去也五月天婷婷| 婷婷色丁香六月| 五月天久久www| 色五月激情基地| 丁香六月激情蜜桃| 丁香五月天的网址。| 丁香五月五婷| 少妇性BBB搡BBB爽爽爽视頻| 婷婷五月天国产性感美女演员久久久久| 色婷网| 五月丁香六月玩女人| 大香焦啪啪啪| 亚洲色情激情丁香五月| 天天久久狠狠色综合| 中文字幕婷婷在线| 99er热精品视频| 黄色热99| 丁香五月婷婷色五月| 思思热在线精品视频| 黄色一级影片| 99色| 日韩人妻白浆视频系列| 日本三级中国三级99人妇网站| 色五月播五月| 婷婷综合在线视频| 狠狠搞狠狠操| 蜜乳人妻一区二区三区| 激情五月婷婷五月| 九九久久精品| 欧美日韩AAAAA| 99热只有这里有精品| 久久亚洲天堂| 色情久久久| av在线播放网站| 丁香开心深爱| 91妻人人爽人人看片| 天天操夜夜玩!| 国产一二三四五六七八视频| 日日操夜夜撸| av九九| txt五月激情四射网综合俺也来了| 综激情网| 婷婷五月天伊人网在线观看视频| 成人在线99| 五月婷在线| 国产人人操| 超碰人妻在线| 美女妹子后射视频网站在线观看| 99超级碰免费视频| 综合另类激情| 欧美极品999| 激情综合网激情五月欧美| 来吧亚洲综合网| 丁香婷婷大香蕉| 九九九九中文字幕| 久er7久热| 色色色综合色| 大香蕉久久久久| 无码人妻少妇色欲AV一区二区| 色综合77777| 久久人人九九| 五月天激情网址| 亚洲综合另类| 九九九九国产| 国产SUV精品一区二区883| 91猫咪国产在线播放| 激情五月天婷婷| 99久久玖玖| 丁香五月天堂网| 精品一区二区三区三区| 婷婷久久视频| 激情久久久久久| www.com久久久久久久久久久久久久久久久| 超碰免费人妻| 亚洲欧美成人在线| 成人国产欧美大片一区| 99热精品在线播放| 激情五月天天| 99视频精品| 天天日综合| 激情五月综合色婷婷| 97超级碰人人| 91九色熟女| 美女黄频aⅴ视频| 大香蕉综合在线| 亚洲综合婷婷五月天| 偷偷操九九| 综合激情在线| 色A网| 综合一啪| 婷婷五月天综合网| 婷婷瑟瑟五月天| 任你爽精品免费视频6| 久久五月视频| 国产另类综合| 亚洲美女高潮久久久久久69| 伊人高清无码| 九九色热| 99无码免费视频| 国产欧洲欧洲精品久久| 五月草影视| 99在线热| 人人人操 超碰| 成人网在线视频| 色婷婷精品小视频| 欧美色偷拍| 国产人妻777人伦精品HD| 自拍盗摄 另类| 91丨九色丨43老版熟女| 亚洲182在线观看| 色激情综合| 色射婷婷五月天| 婷婷激情性爱| 五月丁香色色色| 99久re热视频精品98| 国产综合A片| 亚洲 无码 中文字幕 中出| 这里只有精品1| 亚州色综合| 国产精品婷婷午夜在线观看| 亚洲国产精品成人午夜| 丁香五月婷婷成人色区| 九九aV| 日本精品99| 丁香九月综合激情| www.sebowuyue| 日韩AAAAAAAAAAA片| 国产露脸150部国语对白| 人妻性爱av网站| 九九久久精品| www狠狠| 天堂久久精品| 婷婷中文无码| 亚洲无码另类| 久久综合五月婷婷| 天天操天天操| 99成人在线观看| 亚洲综合在线视频| 99久久极情精品一区| 99热欧美偷拍| 婷婷五月激情在线视频| 久草婷婷网| 丁香久久AV| 丁香六月天| 欧美超碰人人| 精品99在线| 亚洲碰碰碰| 欧美日韩成人在线观看| 中文字幕综合| 人妻人人操| 久久曰曰| 激情影院丁香五月| 激情小说五月丁香在线视频观看视频| 色婷婷电影网| 国内一级精品| 激情6月| 五月婷婷香| www,奇米影视| 狠狠色综合777| 久操欧美在线观看97| 成人在线视频男人的天堂4399| 另类图片天天影视在线观看| 亚洲AV人人操| 五月丁香操婷逼| 国产精品爽爽久久久久久| 色狠久| 六月色国内综合| 2023天天日夜夜爽| 五月婷婷成人w| 色色色在线播放| 国产中文亚洲欧美日韩性交| 久久九九网| 国产一级片| av在线观看免费| 99自拍网| 色综合久久久久| 99热偷拍| 26uuu国产色| 婷婷激情五月天激情在线| 激情五月,色五月| 5月激情天| 九九伊人网| 久热视频A.| 日本激情ⅩXX免费视频| 欧美日比视频| 五月婷婷久久久| 99黄色性生活| 爱爱色五月天| 婷婷九月激情网| 激情五月天之五月婷婷| 亭亭社区五月天| 婷婷五月天干干| 色五月亚洲| 久操干| 性爱视频99| 日日撸天天干| 影音先锋偷偷色男人站| 九九热视频在线观看| 深爱激情久久| 我去色色网五雨天| 99无码| 一级二级香港秋霞欧美欧美秋霞| 91色在线| 五月天婷婷色| 色欲色香综合网| 97操在线视频| 日韩AV在线影片| 狠狠色噜噜狠狠狠888| 97操操| 91性交在线播放| 五月丁香啪啪啪| 久久只有这里精品免费| 亚洲日本三级片| 秋霞成人毛片一级A片| 五月婷婷久久开心网| 日韩AV在线电影| 99热99美国在线观看| 精品国产人人爱人人| 影音先锋91视频| 欧美日韩999| 日日狠夜夜狠| 亚洲性爱电影| 国产无遮挡又黄又爽免费网站| 亚洲久久激情| 色色成人網| 一级黄色操B| 91啪啪视频| 丁香六月激情国产| 五月丁色AV| 激情五月天婷婷| 婷婷欧美激情| 9九热视频| 91人无码久久久久久| 深爱激情综合网| www.五月天激情| 成人在线不卡| 丁香婷婷浪潮AV久久综合| 伊人无码高清| 国产婷婷综合| 婷婷开心六月| 伊人激情啪啪| 黄色aa观看aaguochan| 狠狠色噜噜狠狠狠888| 操精品9| 色婷婷影视99| 五月六月丁香激情视频| 俺去也五月天婷婷| 五月综合久久| 麻豆精品| 激情图片婷婷| 综合久久综合久久| 五月天sesese| 色噜噜狠狠色综合日日| www.狠狠艹| 激情六月天| 婷婷色情五月| 丁香五月综合图片在线观看| 97碰人人操| 色婷婷丁香花五月天| 色九月婷婷综合| 五月丁香婷婷伊人| 99热激情| 婷婷激情人妻| 91人人澡人人爽人人看| 中文字幕 久久9999| 色九月婷婷综合| 超碰免费成人网站| 色插人人| 五月天色婷好好| 九九色色| 少妇AB又爽又紧无码网站| 日本一级| 色婷婷丁香五月在线观看| AV九九| 亚洲性爱电影| 激情五月天综合| 亚洲亚洲人成综合网络| 内射综合网| 五月开心激情| 性爱网五月婷婷| 爱性综合网| 五月天激情啪啪| 丁香六月成人| 六月激情婷婷综合| 久色视频| 婷婷在线综合| 亚洲无码色色| 国产精品久久久久久喷浆| 综合啪啪| 9月色婷婷| 天天情色五月天| 色综合色欲综合天天免费| 九九精品在线视频观看| 超碰日日操| 97碰碰碰| 综合网色综合| 亚洲天堂玖玖| 五月婷婷色在线| 亚洲无码99| 狠狠干婷婷| 婷婷久久综合久| 激情六月天婷婷| 丁香六月婷婷综合| 五月色亚洲| 精品成人无码A片观看香草视频 | 色婷婷丁香五月| 国产婷婷五月色情综合| 亚洲激情精品| 亚洲婷婷成人五月天| 五月丁香九九九综合| 五月婷婷六月激情在线| 色婷婷成人丁香| 五月丁香日本在线视频观看| 丁香六月婷婷激情| 思思网站| 色婷婷成人做爰A片免费看网站| 久久婷婷青草五月天| 骚五月婷婷| 亚洲一区二区无遮挡A片| 亚洲AV另类| 影音先锋综合网| 婷婷五月天va| 性生生活大片又黄又| 婷婷五月激情基地| 五月天电影网| 五月天色导航| 中文字幕乱码亚洲精品一区| 丁香六月婷婷高清| 人人爽网| 日韩精品二三区| 午夜九九九九九九| 五月婷婷丁香五月婷婷| 久久91久久精品久久| 开心五月综合| www狠狠爱com| 99精品综合| www.婷婷,com| 婷婷精品| 狠狠夜夜五月丁香| 免费视频WWW在线观看网站| 五月婷婷这里都是精品| 丁香婷婷老熟女综合网| 人妻精品久久久久久| 99操不停| 99免费| 精品久久久人妻| 激情五月综合网| 搡BBBB搡BBB搡18| 熟女人妻视频| 婷婷色色色| 99er热精品视频| 欧美人久久| 大香蕉七区| 综合婷婷久久| 丁香五月综合久久八| 激情婷婷丁香色五月综合| 久久五月天精品视频| 色五月五月丁香| 天天操夜夜爽歪歪| 激情六月天婷婷| 五月丁香六月婷婷网| 亚洲性视频| 综合色色色| 97高清国语自产拍| 丁香五月玖玖| 五月99久久| 色婷婷99| 婷婷激情五月综合基地| 狠狠色婷婷777| 精品爆操| 99无码精品| 国产精品18久久久| 99色在线观看视频者| 久操人| 狠狠爱综合| 天天插夜夜爽| 天天干夜夜想| 激情婷婷色色| 最近中文字幕2019视频1| 好大好粗嗯啊-一级黄色大片免费观看-成人AV| 亚洲无码成人网| 久热99| 日韩抽插操逼| 99热精品中文字幕| 五月丁香婷婷啪啪| 91人人人人人| 五月丁香综合中文| 久热视频A.| 蜜臀嫩草| 婷婷综合视频| 丁香激情五月天| 超碰cap| 久久总和99| 五月激情久久综合| 五月亭亭网成人在线视频| 丁香色五月天| 玖玖99婷婷| 玖玖综合色| 丁香五月在线观看综合| 丁香综合婷婷五月天| 色婷婷六月| 国产欧美日韩综合精品一区二区| 人人叉久| 久久久久婷婷五月热综合| 蜜乳中文字| 久/久精品99看9| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 人人操人人看97干| www.婷婷| 五月婷婷婷婷网| 五月色婷婷在线观看| 国产综合丁香五月天| 思思热在线播放| 九九99一区| 色婷婷六月激情| 色婷婷久久天天性爱| 操操操B| 亚洲AV免费在线| 丁香六月成人| 亚洲avjiujiur91| 狠狠狠狠狠狠色| 日韩国产AV播放| 九九久久综合| 91免费看片| 九九视频这里只有精品| 高清激情av在线观看| 国产操B视频| 97人人操人人拍| 少妇大叫太大太粗太爽了A片| 大香蕉五月婷婷| 开心激情网在线| 久思思热视频在线观看| 91色吧网| 91九九热| 在线观看免费人成视频无码| 强伦轩人妻一区二区电影| 五月天综合色| 米奇影视五月天| 电影爱拉战争免费观看| 91黄址| 婷婷伊人五月丁香天堂网| 五月久久综合| 亚洲成av人影院| 婷婷五月激情五月激情| 热99在线精品| 激情五月天社区| 久久视频这里99| 亚洲色小说在线综合| 亚洲俩性性爱图片久久第六页| 色色色国产| 九月婷婷综合网| 综合久久狠狠| 欧美精品中文字幕亚洲专区| 五月丁香免费看| 性视频久久| 五月激情影院| 日日色综合| 开心五月深爱婷婷| 激情五月天色婷婷| 狠狠色 综合色区| 在线五月色播| 五月婷婷这里都是精品| 人妻自慰在线| 超碰久热| 伊人婷婷五月天| 丁香六月激情四射| 玖玖婷婷色五月| WWW久久99久久99久久| 久月久在线视频| 久久人妻熟女一区二区| 色丁香五月| 五月丁香婷婷五月| 国产成人一区二区三区在线观看| 99久在线精品99re8| 91九色视频在线观看| 大鸡巴伊人网| 久久奄也去色色网站| 婷婷狠狠干| 久久精品63| 激情五月婷婷在线观看| 99国产精品久久久久久久久久久| 欧美色色色色色色色| 激情五月婷黄版| 青青草轻轻操| 超碰超碰在线| 性爱综合网| 五月丁婷香| 婷婷色五月亚洲| 色综合开心五月深爱五月| 久久伊人日日夜夜| 五月丁香婷婷成人伊人网| 婷婷无码视频| 99在线播放| 一级A片天天操夜夜操| 精品国产乱码久久久久夜深人妻 | 四色永久成人网站| 99A级片| 久久网址99热| 亚洲精品大片| 日本天堂网站99| 天天婷婷天天| av国产精品| 狠狠操天天操| 婷婷六月激情| 亚洲激情在线| 99综合视频| 久久香蕉影院| 日韩婷婷| 激情综合区| 在线看片av| 91色综合网| 婷婷色色丁香五月天| 97人操人免费视频| 99婷婷国产最新视频| 特级操b片| 精品99在线| 日本久久视频| 色综合久久44| 久婷婷五月天影院| 色欲午夜无码久久久久久张津瑜| 五月丁香啪。| 日本五月天网站| 99热销国产这里有精品| 香蕉伊人综合| 婷婷精品视频| 99热这里只有精品国产免费| 五月婷婷开心亚州在线| 日韩成人AV在线播放| 91久久久久久久久18| 亚洲激情四射色| 99热插| 久久亚洲婷婷| 久9久9久9久9久9久9| 激情综合无码| 激情综合网五月| 六月五月丁香五月欧美| 无码AV免费精品一区二区三区 | 丁香色婷婷| 亚洲综合五月天| 久久黄色免费视频| Blackedraw视频一区二区| 大香蕉院线| 91av视频| 99视频只有精品| www.99热在线观看| www.minyis.com【JT】实力收量可预付QQ2101460746 | 色五月婷婷1| 丁香六月AV| 五月天综合视频| 九九热精品视频| 深夜婷婷 丁香| WWW.久久99| 五月丁香网视频| 午夜婷婷六月天| 99久久婷婷国产综合| 丁香久久在线| 婷婷午夜激情| 99热777| 亚洲激情综合网| 激情五月天天| 五月婷婷欧美| www,色中色| 99久久婷婷| 99精品手机在线视频| 亚洲乱码在线观看| 五月天婷婷成人资源站| 色五月婷婷五月| 欧美怡红院黄站| 婷婷五月天激情综合| 狠狠干 狠狠操| 狠狠色狠狠操| 丁香五月激情五月| 色五月丁香六月资源站| 天天插综合| 爱久久小说下载网| 色色丁香五月| 99热骚货| 日韩视频99| 东京热免费视频网站| 五月丁香在线国产| 亚洲午夜av| 97操资源婷婷| aaaaaa片| 内射综合网| 成人无码中文| 五月丁香狠狠爱婷婷综合| 色色色网站| 色婷婷成人做爰A片免费看网站 | 色婷婷色99国产综合精品| 九九中文色色| 另类小说五月天综合| 97香蕉碰碰人妻国产欧美| 九九九九中文字幕| 五月婷婷色情| 久久99精品视频| 综合www色| 久色国产| 丁香五月六月综合激情| 99热国内精品| 97热这里只有精品| 97啪在线观看视频| 五月丁香少妇网| www.minyis.com【JT】实力收量可预付QQ2101460746 | 九九综合色综合| 五月情综合| 极品人妻VideOssS人妻| 91操在线观看| 十月丁香九月婷婷综合| 久久99国产综合精品免费| 综合亚洲色色| 亚洲成人在线免费| 久久曰9| 六月亭亭久久综合激情| 狠狠色丁香久久| 国产AV一区二区三区最新精品| 亚洲色婷婷五月天| 开心深爱五月天| 狠狠综合色网| 天天爽天天操| 五月婷婷九| 五月丁香综合伦理片| …亚洲黄色在线播放日韩、av中文a…| 97精品综合| 激情五月天小说网| 五月天天天开心激情网| 婷婷丁香成人五月天| 99九九久久| 涩综合婷婷| 丁香午月AV中文字幕| 丁香六月综合激| 久久网站观看免费欧洲国产 | 久久se 综合网| 只有久久精品免费| 日本不卡高字幕在线2019| 五月婷婷成人w| 人妻丰满精品一区二区A片| 婷婷黄色五月天在线视频| 97天堂| 九九精品片一| 国产乱子轮XXX农村| 五月激情丁香久久综合网| 狠狠干狠狠色| 色色综合日韩| 婷婷香五月天| 激情综合网络插| 亚洲五月天激情| 丁香五月色播中文在线播放| 天天操天天插| 99在线视频精品| 色婷青青| 天天视频亚洲| 国产综合久久久777777| 丁香五月社区| 久久女人天堂| 色欲色香综合网| 六月99天天婷婷激情综合| 色婷婷五月天在线观看| 玖玖无码中文| 91操人视频| 婷婷伊人激情婷婷| 久久中文网| 五月天激情啪啪| 丁香久久久| 超碰女人天堂| 99色区| 黄色国久久| 色五月丁香六月欧美综合| 五月 成人 婷婷| 国产色色小草视频| 成人羞羞啪啪 全 视频| 精国产品一区二区三区A片 | 亚洲视频无| 久久人操| 婷丁香久综合| 色欲色欲久久宗合网| 五月丁香在线综合| AV成人在线播放| 婷婷五月av| 五月天婷婷黄色| 久久综合网免费视频| 久久五月激情| 在线看黄色| 五月丁香激情综合网官网| AAA级久久久精品| 五月丁香婷婷啪啪| 亚洲午夜av| 中文字幕成人影视| 婷婷五月天堂| 五月婷婷开心丁香| 丁香久久AV| 99爱视频精品在线观看| 日韩综合久| 欧美人人超级碰| 婷婷字幕在线| 亚洲中文字幕在线观看| 激情婷婷五月| 99这里只有精品|v| 成人丁香色| 婷婷 丁香 精品| 99热这里只有精品2| 天天添天天摸天天天天做| yazhou seshipin| 中文字幕婷婷五月天| 婷婷五月天国产精品| 亚洲在线综合| 96精品久久久久久久久| 99ri视频在线播放| 热九九九九| 欧洲区自拍| 91精品综合久久久久久五月天| 亚洲AV久久久久久久久久久久久久久久 | 天天射影院| 色玖玖| 婷婷综合五月天| 久热爱大香蕉在线蜜臀悦色| oVV4WIB3vFi8D| 天天日天天做天天操| 99热免费网站| 久热精彩视频98| 色欧美色色色| 婷婷丁香综合| 亚洲综合激情五月久久| 大香蕉伊在| 激情五月,婷婷五月,丁香五月| 99燥99日| 开心五月婷婷激情网| 超碰免费人| 色婷婷伦理| 亚洲中文字幕av| 激情五月丁香六月综合AVXXXX| 香蕉婷婷色五月| 色色丁香五月天| 热久久这里只有三级视频| 五月丁香婷婷久久| 超碰99久久| 色婷网| 97色色综合| 月月AV| 婷婷情色激情| 婷婷丁香五月综合免费视频百花| www.婷婷,com| 色婷婷中文在线| 色综合99无码 | 九九九九毛片| 五月婷婷六月婷| 丁香五月天激情婷婷丁香六月| 97丁香视频| 99热6精品| 久久人妻人人| 天天插天天| 99色6爱9热| 欧美乱码国产一级A片| 日本少妇裸体做爰高潮片 | 亚洲国产色色| 六月丁香婷婷色综合| 婷婷五月香蕉| 久久婷婷丁香视频网| 欧美色激情四射| 高清一区二区三区日本久| 丁香综合网|