免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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
返回資訊列表
五月天丁香成人| 色啪影院| 天天天操天天天爰| 玖玖婷婷色五月| 亚洲天堂久久| 26uuu在线观看| 亚洲av网站| 日韩黄在免| 婷婷欧美激情综合| 色婷婷丁香| 天天操夜夜啊| 99在线精品观看99| 婷婷丁香九月| 亚洲国产网站| 久久综合综合综合| 五月J香蕉婷婷| yellow视频在线观看91| 五月丁香六月玩女人| 综合激情啪啪| 婷婷五月激情图片| 色五月成人| 久久丁香网| 色婷婷久久综合中文久久一本| 久久婷婷综合五月趴| 五月丁香网av| 六月99天天婷婷激情综合| 国产综合久久久777777| 亚洲不卡123| 337p大胆噜噜噜噜噜91Av| 久热这里只有精品6| 欧美综合丁香网| 9人人操人人看| 国内久久婷婷| 97人人操人人拍| 亚洲综合色网| 嫩BBB搡BBBB榛BBBB| 99热在线精品观看| 亚洲成人免费在线| 欧美人与性动交CCOO| 大香蕉综合在线| 五月婷婷激情五月| 国产精品美女| 天天操中文字幕| 天天干天天爽天天操| 91精品熟女| www.99热日韩.com| 五月婷婷丁香五月亚洲色| 天天搡日日搡aaaaⅩ| 激情五月丁香色色去久久| www,setingting| www.五月天| AV在线资源| 操碰99| 亚洲国产精品VA在线看黑人| 丁香五月影视| 99久久婷婷国产综合| 99热在线精品观看| 人妻AV在线| 色婷婷综合视频| 久久激情五月| 黄网在线免费观| 中文毛片无遮挡高潮免费| 亚洲av骚货| 亚洲久久激情| 超碰成人公开| aaa9区免费在线观看| 亚州第一A片| 五月成人丁香av91| 激情啪啪五月| wuyuedingxiang99| 就去涩涩丁香五月天| 六月婷婷狠狠做| 青青草婷婷综合五月| 激情五月天婷婷视频| 亚洲人妻一区二区| 婷婷网五月天| 色婷婷五月天偷拍| 久久涩视频| 色婷小说| 99操99| 久久五月天精品视频| 人人玩人人橾| 99热这里只有精品最新网址| 曰曰久久| 色一色综合| 久久aaaaa| 蜜桃婷婷狠狠久久| 嫩草综合网| 新五月天婷婷激情电影| 精品网站:999WWW| 99视频自拍| 人人摸人人干| 国内久久亭亭| 一區四區歐美日韓| 深爱综合网| 色色免费网站| 九九婷婷热| 97伊人综合婷婷| 五夜丁香| 婷婷五月丁香色情| 91精品久久久久久久| 开心激情婷婷| 色五月自偷自拍婷婷婷婷| 日韩不卡DvD| 色五月开心五月激情五月| 欧美激情-区二区三区| 亚洲综合五月天婷婷| 丁香婷婷久久| 色综合色婷色基地| 操操操操操电影网| 九九精品热| 狠狠色 综合色区| 九九综合网色全集 | 人人草碰| 中文字幕丰满乱孑伦无码专区 | 九九99精品| 亚洲综合网在线| 色婷婷五月天成人网| 99视频地址| 热99这就是精品视频| 五月丁香综合| 日本丰满久久| 天天插天天草人人玩| 婷婷色5月激情网| 精品成人在线观看| 丁香五月桃花在线激情综合| 精品婷婷五月天| 天天爱天天做天天| 日本44久久在线| 婷婷五月天久久| 九九99视频精品| 深爱五月激情| 丁香花综合永久入口| 天天爽在线视频| 激情文学五月丁香六月婷婷| 婷婷色色网站| 色亚洲中文| 久久久久久久人妻| 九九美女视频| 久久这里只有国产视频| 亚洲欧洲中文日韩久久AV乱码| 91porn一起草| 亚洲激情网| 狠狠精品干练久久久无码中文字幕 | 九九热99视频在线| 日本色五月| 国产欧洲欧洲精品久久| 91丨九色丨白浆秘| av在线中文| www.wuyuetian啪啪| 激情文学 综合 色| 99热只有这里有精品| 97在线/日本| 五月天五月婷五月激情网| 国产成人综合网| 色综合久久综合| 国产片色| 超碰婷婷五月| 99re最新地址| av在线免费播放观看| site:minyis.com| 久99视频在线观看| 六月婷婷综合| 人人摸人人| 26.uuu丁香五月婷婷| 婷婷五月天开心激情网| 五月丁香婷婷综合网色欲| 五月欧美色色五月| 五月婷婷玖玖综合玖玖爱| 六月婷婷视频| 亚洲第一成人无码A片| 五月天色婷好好| 狠狠搞狠狠操| 69人妻人人澡人人爽久久| 综合一本道| 秋霞少妇AV网站| 丁香五月日啪| 激情AV网| 激情综合色播| 五月丁香婷草| 夜夜爱网站| 99色精品视频| 中文字幕婷婷9月天| 五月激情开心婷婷| 伊人天堂婷婷| 狠狠爱五月婷婷| 视频1区2区| 十一月婷婷激情四射| 大胆伊人久久| 超碰成人免费| 婷婷精品在线| 久久9RE热视频精品98| 久久这里有精品| 啪精品| 播五月开心婷婷欧美综合| Caop在线| 丁香五月人妻| 天天免费日日夜夜夜夜| 182TV大香蕉| AV在线免费播放| 91九色国产| 国产成人亚洲综合A∨婷婷| 青青草原中文字幕| 26uuu成人网| 亚洲色爱综合| 俺来也综合网精品一区| 97超级啪啪在线观看| 2025年最新亚洲在线欧美| av超碰在线| 伊人婷婷色| 欧美日韩999| 五月色综合| 人人操超踫| 色 噜噜 九月 婷婷| 涩涩五月天| 91久久1118| 99精品成人无码A片观看金桔| 丰满人妻一区三区三区| 99ri视频在线播放| 国外亚洲成AV人片在线观看| 婷婷六月丁香欧美视频在线| 99久视频| AⅤ在线播放网| 免费看成人747474九号视频在线观看| 狠狠88综合久久久久噜噜噜| 91在线日本| 亚洲热综合| 久久五月婷婷开心网| 91在线观看www| 丁香六月婷婷久久综合| 思思 热 99| 51成人| 无码少妇高潮喷水A片免费| 亚洲亚洲亚洲AAAAAA| 九九热10| 五月天激情黄色网址| 久久色情| 婷婷五月综合体验看| 色五月丁香五月五月婷婷| 碰超亚洲| 涩涩五月天| www.五月天婷婷| 五月婷婷五月丁香综合| 婷婷六月激情| 五月婷天堂视频| 无码99| 日韩AAAAAAAAAAA片| 操逼六区| 五月天婷婷Av| 五月天偷拍| 天天干天天日天天操| 99色中文| 亚洲国产网站| 色综合激情图区| 天天操婷婷| 婷婷五月天首页| 狠狠综合久久| 亚洲色夜| 久久涩视频| www.99视频| 婷婷开心激情| 久久 视频这里只有精总| 欧美在线视频99| 亚洲啪啪精品| Caoub青青超碰 | 色五月丁香五月激情五月激情| 操婷婷久久| 色婷婷五月天| 亚洲综合婷婷| 欧美人妻一区二区| 亚洲av骚货| 先锋av性爱成人电影| 九九激情网| 99精品网址| 成人无码精品1区2区3区免费看| 成人av在线网址| 99热在线观看免费| 婷婷五月天激情综合网| 亚洲性爱99在线| 婷婷五月激情网站| 日韩成人精品中文字幕| 99热老网站| 综合久久综合综合| 人妻中文字幕网| 亚洲天堂婷婷| 97超碰色| 91精品啪| 五月丁香操亭亭网| 婷婷五月天日日日干干干| 电影蜘蛛女| 另类激情五月天。| 色婷婷88| 综合婷婷久久| 99九无网码| 久久精品女人天堂AAA| 日韩在线视频9色| 国产精产国品一二三在观看| 久久久一级AAA| 亚洲成av人影院| 97久久视频| 99久久99九九99九九九| 亚洲爆乳无码精品AAA片蜜桃 | 色综合色色| www.99婷婷| 大香蕉五月婷婷| 玖玖激情网| 91色欲综合| 久久五月天 91| 99re久热| 国产精品电影网| 超碰不卡在线| 九九人人操| 丁香五月婷婷狠狠色| www.久久久.com| 97视频久久| 中文资源在线a | 狠狠草婷婷| 无码毛片992367| 五月丁香六月婷婷中文版| 大香蕉网站,大香蕉综合| 色色丁香婷婷综合| 亚洲亚洲激情| 狠狠干青青草| 玖玖婷婷五月天| 色婷婷超碰| 久久 婷婷 五月天| 这里只有精品日韩精品| 五月丁香狠狠| 亚欧州精品视频| 色五月网址| 欧美成人精品A片免费一区99| 国产乱妇乱子在线播视频播放网站| 性按摩玩人妻HD中文字幕| 99干在线视频| 五月婷婷另类| 丁香六月色婷婷| 99在线资源| 婷婷五月天色| 国产亚洲色婷婷久久99精品9j| 精品亚洲国产成AV人片传媒| 操笔无码| 天天橾日日橾夜夜橾17| 深爱开心激情| 久久婷婷六月综合综合| 九热av| 天天肏在线观看| 五月婷婷丁香啪啪| 99精品在这里| 五月天婷婷综合| 偷拍九九热| 91大操| 99色中文| 丁香五月激情综合啪啪| 色三级色三级| 九色综合网| 国产熟女大叫受不了| 亚洲中文无码成人| 可似看的AV| 狠狠干五码| 五月深爱婷婷| 天天射天天射一道本日本社区| 亚洲AV色婷婷人禽五月天| 深爱激情五月婷婷| 99视频自拍| 色护士综合| 99亚色色色| 天天成人丁香美女AV| 色欲丁香| 婷婷五月丁香超碰| 色色色色av色色色色| 五月婷婷六月色| 国产1区2区| 狠狠色无码| 久久综合五月天| Caoub青青超碰 | 丁香婷婷色| 欧美综合激情五月天| 五月丁香六月激情在线| AV网站免费在线| 国产资源91在线| 婷婷六月色| www.精品99| 国产偷人妻精品一区| 日本人妻伦在线中文字幕| 伊人久久大香网| 色狠久| 欧美日本日韩| 日本在线免费中文com.| 大香蕉婷婷| 九九精品综合| 五月天丁香综合| 九九九九无码| 久久偷拍综合五月天| 日本人妻伦在线中文字幕| 五月总合激情网| 另类 在线| 一区二区传媒视频| 99这里只有精品视频| 九九XX视频| 五月天亚洲最大成人| 久久xx| www.99热视频| 97碰免费视频在线| 99热这里是精品| 综合色五月天| 五月天激情综合网俺也去| 中文资源在线a| 99久久玖玖| 九月丁香八月婷婷加勒比| 五月天无码视屏播放| 天天操人人干| 天堂爱爱| 色婷婷丁香女女| tingtingzonghewang| 思思久久99热只有频精品66| 我要看激情五月天| 97sese婷婷| 六月丁香激情网| ...婷婷五月综合不卡,国产在线手机| 可以看的av网站| 亚洲第一av| 婷婷色色婷婷| 亚洲国产成人综合| 99这里有精品视频| 激情综合色婷婷啪啪六月天| 丁香五月久久社区| 91九色精品| 99热青青草| 婷婷五月天成人网| 5月丁香婷婷| 国产一级片色色| 亚州性爱99| 91热久| 久操97| 色欲婷婷五月天| 俺去也婷婷| 婷婷丁香人妻| 精品动漫 无码av| 色噜噜狠狠色综合日日| 婷婷综合激情| 激情5月婷婷| 综合久久99| 久久久激情视频| 97婷婷色| 五月婷婷六月少妇激情| 综激情网| 亚洲色就是色色色| 99性爱| 激情图片亚洲| yirenjiqingshiping| 丁香五月婷婷基地| 美臀自射自家人妻| 婷婷五月天开心网| 五月丁香婷婷久久| 超碰免费人| 中文字幕 中文字幕明步| 97干免费视频| 五月天丁香婷婷网| 久久婷丁香五月| 99热思思在线观看| 99热99操| 中文中文在线| 97性视频| 五月丁香久久丝袜啪啪| 成人一级片| 无码激情AAAAA片-区区| 九九热婷婷| 99爱免费在线观看| 中文字幕97超级碰| www五月婷婷88导航| 激情五月婷黄版| 久热这里这里有精品| 在线亚洲综合| 开心五月婷婷| 婷婷五月天AV在线| 五月色俺婷婷| 97色色色色| 婷婷丁香婷婷97| 五月天桃色深爱网| 婷婷五月天网| 色五月婷婷五月丁香五月| 99热国产精品| 色色综合热| 国产成人精品123区免费视频| 婷婷中文字幕| 9久热这里只有精品| 亚洲va欧美| 黄色99热| 偷拍九九热| 久久九九国产精品怡红院| 996er热| 丁香五月天精品| 99re热在线视频| 99久久婷婷五月| 久久小视频| 久久99婷婷| 第四色五月天| 五月丁香无码视频| 亚洲VA在线| 亚洲人成网亚洲欧洲无码久久| 五月婷视屏在线观看| 欧洲激情五月天婷婷| 五月丁香久| 玖玖玖婷婷婷| 婷婷桃色网| 乱精品一区字幕二区| 色狠狠综合网| 狠狠99| 99热免| 狠狠操狠狠狠| 九色视频这里只有精品| 激情综合五月激情| 婷婷五月天激情网址| 日本婷婷在线| 六月丁香停| 五月婷天堂视频| 久月久在线视频| 亚洲精品V天堂中文字幕| 色播五月婷婷| 丁香五月激情综合| 婷婷网五月天| 香蕉婷婷| 国产美女无遮挡裸体毛片A片| 色五月网址| 情色五月天网站| 欧美成人日韩| 99在线视频精品| 九九99香蕉在线视频播放| 亚洲视色| 色五月欧美| 婷婷五月天久久| 99热这里只有精品22| 婷婷瑟瑟五月天| 五月婷婷综合潮喷| 五月亭亭六月天| 夜夜夜夜夜骑撸| 九九热在线99| 日韩超碰在线| 激情综合久久| 丁香五月天激情| 六月丁香久久| 一区二区三区四日本| 国产性爱在线| 丁香婷婷婷婷十二月在线观看视频| 97超级碰人人| 婷婷五月超碰| 久久婷网| 色婷婷五月天天天天天| 在线色五月婷婷| 婷婷激情欧美| 久久婷婷五月免费视频| 五月丁香无码| 99在线精品视频| 色婷婷丁香五月| 欧洲MV日韩MV国产| 九九综合88| 操日视频| 青青操绿aaa一区日v| 秋霞电影理论| 天天操天天干天天日| 九九人人精品| 超碰av在线| 黄色三级毛片中字| 99精品女人天堂| 日本精品99| 99r这里只有精品哦| 国产偷人爽久久久久久老妇APP| 成人国产欧美大片一区| 99ri6在线视频| 中文AV在线观看| 五月婷婷丁香成人网| 国产在线另类五月婷婷| 五月婷婷影| 99re久久| 超碰免费电影| 婷婷香香五月| 成人综合伍月天| 狠狠色噜噜狠狠| 91精品久久久久久77777| 色婷婷六月| 丁香五月色网| 天天操九九插| 久久婷狠狠色| 激情五月婷婷综合网| 玖玖婷婷婷丁香五月| 丁香六月婷婷综合色| 亚洲色综合性| 九九热在线精品| 人人操婷婷| 伊人久久五月天| 99热精品一区| www.激情| 国产伊人大香蕉| 五月天无码| 五月丁香六月婷婷久久| 91精品久久久久久综合五月天| 九九Y精品热播| 婷丁香久综合| 久久大香蕉同僚| 香蕉婷婷五月| 色情五月天小说| 婷婷五月天第三页| 人妻日日日| 天天色月| 91视频一起草| 日韩AV在线电影| 国产精品色色666| 大天天伊人| 日本久久色| 九九这里只有精品在线视频| 色色色色网站| 2018夜夜草| 日韩成人精品中文字幕| 五月天亭亭俺也| 亚洲日韩乱码一区二区三区四区| 久久综合五月天| 天天干天天射色综合| 99热免费观看| 综合久久综合久久| 欧美色性色好| 婷婷九月丁香中文| 热91久| 热九九精品| 99国产精品久久久久久久久久久| 91无码色色| 九九热视频精品2| 日本九九网| 91啦丨九色丨刺激中文| 成年人99热| 五月婷在线| 色久九| 色香久久| 天天干天天曰天天射| 色色色色色网站| .青娱乐天天操B| 99在线视频免费| 亭亭五月色男人| 日韩av在线电影| 五月婷婷视频在线观看| 伊人丁香五月婷婷潮吹| 伊人五月天婷婷| AAA级久久久精品| 天天AV导航网| 五月婷婷六月色| 热九九在线| 26uuu欧美日本| 中文字幕AV在线播放| 91九色精品| 婷婷六月色情| 亚洲秘 无码一区二区三区妃光/1| 综合精品啪啪| 五月婷婷婷丁香播| 影音先锋91| h在线看免费版在线看| 久久久久久久久久久44| 久久久无码精品成人A片小说| 色婷婷综合在线| 久久五月天激情| 大香伊人婷婷影院| 激情网婷婷五月天| 中文字幕九九九九| 色99在线视频| 侠女刀之记忆电影在线看免费| 欧美日韩999| 综合亚洲五月天| 三男玩一女三A片| 六月香五月婷| 99日这里只有精品| 色9色| 人人色性网| 色五月亚洲五月天| 色婷婷五月亚洲| 丁香六月视频免费观看| 丁香婷婷色五月| 亭亭五月色男人| 五月丁香六月婷婷网站| 色五开心五月五月深深爱| 五月天婷婷青青草| se影音资源在线观看| 噜噜精品| 日本视频99| 色99在线| 久久婷婷五月天| 538在线精品| 色和综合网| 丁香九月色| 五月亭亭色| 97干网站| 秋霞学生妹一二级| 亚洲人妻五月丁香婷婷| 婷婷五月天视频| 91丨九色丨丰满人妖| 亚洲AV网站| 久操操| 色五月丁香91| 97资源碰碰在线| 色狠狠五月天| 亭亭五月激情亚洲在线| 丁香婷婷激情六月五月开心| 五月婷婷av| 九九热免费视频| 一级黄在线| 青青操丝袜美腿| 99久久综合网| 激情狠狠丁香月| 婷婷六月啪啪| 五月天激情网图片| 成人免费超碰| 女婷久久| 五月天电影网| 人妻久热| 国产AV一区二区三区最新精品| 夜色.cnm| 99热最新地址在线| 五月第四色| 色色五月天激情| 色色色香蕉五月婷| 亚洲视频二区| 狠狠色 综合色区| 综合久久综合久久| 教师性爱毛片| 五月丁香婷婷在线| 婷婷综合网站| 九九伊人网| 九月性爱网| 五月开心婷婷极品激情| 欧美五月丁香| 国产成人精品一区二三区熟女在线 | 五月丁香婷色| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 99九九视频| 天天天天干| 婷婷五月色影视先锋| 九九婷婷五月天影视| 欧美综合123区| 97碰碰九九视频| 色久播播| 强伦轩人妻一区二区电影| co超碰在线观看| 26uuu国自产精品| 欧美大道不卡| 伊人影院久久网| 婷婷中文字幕版| 五月婷婷激情久久| 六月婷婷啪啪| 99热.com| 久久女伦| 99久久综合网| 亚洲亚洲人成综合网络| 久久久久妻| 久久久99视频| 婷婷五月综合啪| 五月丁香狠狠| 密着浓厚中出乚交尾GvG935| 狠狠夜夜五月丁香| 99热这里只有精品1| 97视频.干com| www.黄色片-久久成人国产精品在线播放-999AV | 五月丁香六月婷婷综合在线| 综合99综合久久久久久久| 五月丁香久久婷| 狠狠狠夜夜夜| 丁香八月综合激情| 精品51XX| 色婷婷小视频| 人妻久久久久久久久久| 亚洲操女| 夜夜撸天天日| 成人五月天。COM| 五月丁香激情婷婷综合| 99热亚洲只有色| 五月欧美色色五月| 91色性感五月婷婷丁香| 国精产品一区二区三区| 99九九这里有免费视频| 欧美激情综合色综合| 丁香婷婷AV| 一级A片天天操夜夜操| 婷婷五月久久| 毛片毛片毛片毛片| 性爱五月婷婷| 99久精品视频| 亚洲操逼网| 婷婷久久网| 99在线视频色版| 综合伊人久久| 91丨九色丨高潮丰满日本| 色情五月婷| 色婷婷导航| 色综合网址| 亚洲国产精品五月天| 国产精品色| 五月丁香综合网色欲| 久久久99精品免费观看| 成人欧美Va| 曰本aaaaaa丈片| 婷婷开心久久| 69久久99精品久久久久婷婷| 99热在线观看精品| 激情小说五月丁香在线视频观看视频| 可以免费观看的AV| 国产性色蜜乳| 日韩五月婷婷久久| 五月丁香六月婷婷啪啪| 在线观看av网站| 天天综合色| 日日干综合| 六月婷婷日| 久热网站| 伊人久久大香蕉网| 国内外色色色色色成人视频| 色播播之激情五月婷婷| 婷婷国产五月天17c| 色色国产| 五月婷婷狠天天色综合| 操B无码视频国语| 97碰人人操| a色色色色色| 久久婷婷五月天丁香| 丁香五月天在线| 思思热久久艹| 99热在线播放| 能看的av网站| www99热| 六月色丁香婷婷| www.91九色| 久久五月天激情婷婷| 色综合9| 粉嫩av懂色av蜜臀av熟妇| 亚洲五月婷天天操| 丁香婷婷婷五月综合色情| 五月天婷婷基地| 激情丁香五月激情婷婷| 亚州操操| 亚洲色无码A片一区二区麻豆| 泰州成人视频| 91vip在线观看| 精品9久| 久久538| 日日插日日干| 99热热九九| 丁香久久激情俄| 婷婷色五月激情| 亚洲激情综合免费| 操人妻90p| 人妻激情视频| www。五月,com| 五月婷婷激情网| 色五月婷婷小说亚洲中文字幕组 | 丁香婷婷五月六月天| 久久综合丁香| 久久久婷婷婷| 亚洲视频五区| 99久视频| 五月丁香色狠狠干大屄| 五月天激情小说| 热久久婷婷| 成人中文网| 日韩无码专区| 色婷婷激情四射视频| 婷婷激情五月天在线| 五月天狠狠网站| 超碰com| 亚洲综合网激情五月天| 丁香五月婷婷啪啪啪| 激情性爱五月天网页| 天天射影| 婷婷狠狠操| 成人丁香婷婷| 这里只精品| 无码橾| 97色综合视频| 婷婷六月丁香色| 色激情五月| 丁香社92视频| anquye五月| 国产亚洲99久久精品| 操操熟女| 色色五月婷婷丁香| 狠狠操天天干| 激情视频婷婷五月花| 亚洲激情网| 91男人资源站| 婷婷丁香五另类网站| 玖玖婷婷五月天| 日韩成人中文| 老司机伊人| 色五月天在线观看| AV在线中文| 久久婷婷综| 欧美激情综合五月色丁香| 色综合天天天天做夜夜| 五月激情婷婷开心| 五月丁香激情在线| 日韩在线aaa| 婷婷激情五月综合丁香社| 99热99热| 玖玖资源在线视频| 色五月综合在线| 婷婷五月天久久| 免费观看的婷婷五月视频在线| 日日噜狠狠色综合久| 久热这里只有精品99re| 婷婷五月天色| 色六月天| 色婷婷基地| 日本操碰碰| 五月婷婷色综图片| 九九综舍久久| 五月天色综合| 五月婷婷丁香啪啪| WWW99热| 丁香五月婷婷欧美激情-中文天堂最新版在线观看| 性天天中文网| 九日日夜夜69| 欧美丁香五月| 青草视频在线播放| 欧美性色五月天| 人妻在线观看视频| 婷婷色av| 丁香五月婷婷大香蕉| 深爱激情综合网| 九九九九大香蕉| 51XX午夜影福利| 粉嫩av懂色av蜜臀av熟妇| 婷婷五月丁香香蕉| 婷婷丁香69精华| 欧美交换配乱吟粗大25P| 99热思思久| 思思99热热热99| 欧美天天爽| 开心五月丁香婷婷| 综合性爱网| www.久久爱.com| 亚洲亚洲人成综合网络| 欧美日本97| 成人婷99最新| 五月天成人在线| site:feetmall.com| 婷婷五月婷婷| 久久AAAA片一区二区| 丁香五月激情五月色综合| 日韩不卡DvD| 丁香五月天殴美激情| 五月婷婷五月丁香综合| 五月天激情综合在线| 欧美日本韩国亚洲| 久久激情综合| 中日韩美欧成人一区二区精品在线| www.色五月| 99热插| 久久久九九九 99| 99久久99视频| 亚洲激情Av| 丁香五月激情在线| yw国产AV| 色呦呦美女| 激情com| WwW色婷婷| enecarbon-materials.com污K127封锁请涟系@wip1688 | 襙逼网| 伊人天堂婷婷| 丁香五月色情| 。久久久久久久久久久久久久人妻| 91在线观看www| 久久五月天综合| 开心五月婷婷在线视频免费观看| 久久精品女人天堂AAA| 99热97| 婷婷色情小说| 91avse| 99热这里只有精品8| 欧美婷婷成人| 色五月婷婷久久爱| 中文字幕丰满乱孑伦无码专区| 欧美色宗和激情| 激情五月天久久丁香| 99热人人操人人操| 精品人妻一区| 亚洲成人va| 丁香五月亚洲激情婷婷射| 五月丁香婷婷狠狠操| yellow视频在线观看91| 色色婷婷综合网| 色五月偷偷| 99丁香婷婷综合网| PORNY九色9l自拍视频成人| 亚洲avjiujiur91| 欧美性久| 以及AA大片看看| 91在线日| 综合色五月| 欧美成性色| 激情婷婷九月| 九月丁香八月婷婷加勒比| 美女网黄| 婷婷五月天开心激情网| 亚洲区视频| 99久久欧美| 性爱综合网| 96丁香六月婷婷蜜桃综合久久| 欧美综合激情五月丁香| 五月婷啪| 国产av网| 久久在线视频免费观看| 亚洲日韩欧美综合VA| 婷婷六月丁香激情综合| 九色视频91| 噜噜五月天综合| 国产精产国品一二三在观看| www.99在线| 99综合色| 9999热这里只有精品| 深爱激情五月天| 99色热视频在线| aaa日韩| 99亚色色色| 久久婷婷五月综合伊人| 精品视频网| 99热在线观看| 97在线精品| 欧美激情综合| 六月色婷婷| 五月天涩涩| 午夜国产精品AV在线播放| 99热色无码| 激情四射五月天| www.ywav| 99久久九九视频| 九九这里只有精品| 天天摸天天肏| 激情久久久久久久久久久| 综合久久五月天| 99久久99热这里只有精品| 婷婷五月综合婷婷| 婷婷综合久久| 97操碰视频| 99热在线中文字幕| 伊人大综合| 在线视频区| 国产婷伊人| 另类少妇人与禽zOZZ0性伦| 99色色网| 啪啪91| 五月天伊人网| 精品人妻久久久久久| 91狠狠综合久久久久久| 久久婷婷五月综合色奶水99啪| 99精品在线观看| 国产毛片精品一区二区色欲黄A片| 五月丁香婷婷激情爱爱| 99在线免费视频播放| 亚洲影院婷婷色| 青青久久五月天丁香婷婷| 色九月丁香婷婷蜜桃在线观看| 成人国产网| 99热热热天天人人人超超碰| 亚洲成人av中文| 婷婷五月激情基地| 亚洲综合碰| 婷婷 丁香 久久| 婷婷丁香色性爱| 丁香婷婷五月综合影院| 大香蕉五月天婷婷| 深夜男女福利刺激影院一区完整| 亚洲午夜AV| 好吊操这里只有精品| 噜综合| 久久A热| 日日日日操| 五月婷婷中文| 久久色五月| 超碰国产在线| 99人人干| 香蕉婷婷五月| 婷综合六月| 国产视频福利| 天天操天天爱天天日| 色9色| 色婷激情网| 色欲一二三| 成人av在线电影| 能直接看的av网站| 大战熟女丰满人妻AV| 97色五月丁香婷婷| 狠狠 久久| 99久在线| 五月丁香婷婷综合激情基地| 激情综合网亚洲色图| 天天干天天干天天干天天干天天干| 五月天激情四射网站| 操一区| 色五月激情五月| 婷婷免费视频| 九九精品自拍| 97色色色视屏| 婷婷五月天免费视频| 亚洲天堂99| 天天做天天爱| www亚洲无码| 91欧美| 九月婷婷丁香| 国产精品视频| 亚洲精品又粗又大又爽A片 | 丁香五月天激情视频| 超pen个人视频97| WWW久久99久久99久久| 九九久久五月天| 怡红院精品视频久久久久久久久| 婷婷精品综合| 99无码黄色视频| 亚洲99精品九九在线| 91视频综合网| 天天网站天天爽| 天天做天天爱| 激情五月天色播| 婷婷不卡基地| 久热婷婷| 色丁香五月婷婷在线| 站长推荐无码播放| 日本操B视频在线观看| 激情五月天啪啪| 在线,国产,色,热视频| 五月开心久久| 国产成人精品一区二三区熟女在线 | 91 影音先锋| 伊人激情综合网| 天天天日天天天干| 97人人干| 色婷婷yy久| 婷婷亚洲五| 五月丁香六月综合激情| 大香蕉久| 黑人无码一区| 婷婷六月天亚州| 成人短视频在线| 五月天婷婷网站| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 狠狠操狠狠色| 天天干天天操天天射| 99色视频在线观看| 综合网色| 色99无码| 五月综亚洲| 婷婷综合久久| 久九九热| 综合视频五月| 五月开心网| 国产精品美女| 丁香婷婷人妻| 99玖玖在线视频| 五月婷婷久久爱| 国产丁香五月天婷婷| 9精品在线| 狠狠色噜噜色狠狠狠综合色| tingtingzonghewang| www.99在线| 人人操女人| 色久天| 超碰操日| 再次出发二| 伊人久久艹| 99亚洲视频| 五月婷婷我| 日韩成人中文| 亚洲色欲欧美一区二区三区| AV大香蕉| 六月丁香六月婷婷欧美| 亚洲va在线∨a天堂va欧美va| 先锋影音av色五月天资源站| 成人五月天综合网| 五月婷婷五月天| 国产日韩av片| www.yw色| www狠狠爱com| www,av好吊操| 99超碰欧美| 99热这里只有精品21| 五月婷婷性爱| 黄网网站在线播放| 人妻九九九九| 婷婷久久婷婷| 狠狠草在线观看| 91传媒无码人妻精| 婷婷精品性性性性性性性| 日本熟妇乱妇熟色A片蜜桃| 色99亚洲| 全部老头和老太XXXXX| 婷婷五月天AV网| 日韩aaaaa| 国产日批视频免费播放| 中文av网| 婷婷五月天免费小说| 久久香蕉网| 亚洲精品色色| 婷婷综合| 久久66er久久| 五月婷丁香| 亚洲五月丁| 亚洲无码影音| 丁香五月人妻熟女| 亚洲六月综合激情久久下卡| 久久AV电影| 狼人伊人天堂| 六月丁AV| 五月天婷婷色情| 婷婷五月激情欧美| 亚洲AV中文在线| 久热婷婷| 成人视频九九| 婷婷综合中文| 97五月天婷婷| 免费啪啪啪网站 | 超碰网站在线观看| 综合图片色色| 九色91国产| 亚洲激情婷婷| 五月天婷婷六月| 日韩精品视频中文字幕| 99热这里只有精品搜| 热久69| 伊人久久艹| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 亚洲无码色| 91碰超| 久久婷婷影院| 欧美97p| 婷婷九月丁香天堂丁香天堂| 六月丁香五月婷婷| 九九色天堂| 一级性感毛片| 国产成人av在线播放| 五月丁香性爱| 99激情视频| 精品色色网| 久久久久久久久久婷婷| 婷婷五月天久久| 九九视频这里只有精品在线播放 | 97人人操人人| 99视频地址| 色9999综合久久| 91九色丨国产丨爆乳| 五月天激情综合在线| 婷婷综合性爱网| 天天日天天舔| 99在线免费视| 丰满少妇乱A片无码| 午夜丁香五月天综合| 日本色99| 中文字幕乱码亚洲精品一区| 深爱激清网| 一级性感黄色内射视频| 538在线精品| 亚洲激情五月天| 激情综合网丁香| 五月婷三级片| 天堂久久精品| 久久久久99精品成人片| 日本97在线视频| 天天干天天干天天| 色婷婷狠狠| 激情com| 玖玖婷婷色| 六月丁香久久| 五月天激情中文字幕| 久久婷狠狠色|