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精品视频在线观看| 亚洲视频一区| 色99网站| 五月婷婷六月丁香综合视频在线| 亚洲Av成人在线观看| 色色五月天丁香| 五月天色婷好好| 夜色五月天| 五月丁香亭亭| 色欲久久久久| 久久五月丁香综合17C| 婷婷WWW久久| 五月激情网站| 激情五月天综合婷婷网| 操一区| www.91久久| 玖玖爱综合网| 狠狠插狠狠插| 99噜噜噜| 美女五月天| 五月丁香六月合| 五月天伊人久久久久| 丁香五月激情网| 开心五月婷婷六月丁香| 五月天狠狠网站| 影音先锋AV资源男人站| 久久五月婷综合| 香蕉AV777XXX色综合一区| 99热九九这里只有精品| 九月影院義母在线播放| www.9797国产| 91chinese 在线| j五月香在线| 99热在线只有精品| 人妻内射视频| 五月婷视频在线| 五月天四色房丁香| www 五月天 com| 久久久人妻人伦| 亚洲韩国日产综合AV| 青草青草视频2免费观看| 99久re热视频精品98| 99热只有精品在线播放| 亚洲第一色色色| 色五月婷婷操逼| 丁香婷婷综合影院| 久久全色| 中文字幕久久婷九女同| 无码一区二区三区四区五区91c| 国产成人AV| 激情丁香五月天| 婷婷五月天激情电影| www,五月天激情| 天天操天天操| www.亭亭五月天| 久久99热这里只有精品23| 欧美日韩成人免费在线| 99热只有精品综合| 色婷婷4| wWwCom夜操wwW| 色综合丁香婷婷| 六月丁香成人| 六月丁香综合| 婷婷五月天激情偷拍| 亚洲欧美综合7777色婷婷| 男人的天堂97| 九九香蕉网| 日韩在线9| 六月丁香婷婷色狠狠久久| 欧美叉叉叉BBB网站| 99色视频在线| 91精品刘玥| 亚洲韩国日产综合AV| 波多野结衣成人作品在线| 影音先锋美国A| 任你躁XXXXX麻豆精品| 99精品国产乱码久久久人妻| 色狠狠色噜噜AV天堂五区| AA片在线观看视频在线播放| 五月伊人婷婷999| 色五月自偷自拍婷婷婷婷| 国产原创视频91九色| 色色色宗合网| 六月丁香婷婷视频综合在线观看| 婷婷开心综合人妻小说网址| 久久婷婷五月天| 人妻九九九九| 中文超碰视在线| 无码AV大香线蕉伊人| 中文字幕综合色| 五月天婷婷亚洲| 久久9精品| 2050人人操免费工开爱| 天天噜噜| 人妻熟人中文字幕一区二区| 亚洲成人在线综合| 五月婷色| 婷婷开心五月| 噼里啪啦完整版中文在线观看 | 日本久热| 丁香蜜臀黄色婷婷五月天| 日日噜狠狠色综合久久| www九九热| 色五月av| 操日视频| 色欲AV导航| 色色com| 日韩无码色色| 丁香五月123| 9l视频自拍9l九色成人| 天天摸夜夜夜| 激情五月天丁香| 国产伦亲子伦亲子视频观看| 综合色久| 五月丁香婷婷潮喷中文字幕| 搡BBBB搡BBB搡18| 欧美操我| 99热这里只有精品21| 九九在线这里只有精品视频| 粉嫩AV久久一区二区三区| 九九成年视频| 婷婷综合五月色播| 亚洲视频在线观看| 777色婷婷爱五月| 色高清无码视频| 国产熟女一区二区三区五月婷| 日本人妻伦在线中文字幕| 亚洲免费av在线| 亚洲免费99| 26uuu国产激情视频| 天天看A片| 色一情一乱一乱一区9| 狠狠久久婷五月综合色| 婷婷五月天AV| 色五月xxx| 婷婷久久五月天| 激情内射人妻1区2区3区| 99热主页日本| 九月婷婷综合| 金桔一区二区ab地址| 凹凸操Av| 久久五月热| 色综合天天网| 99欧美| 91人人操人人| 99啪啪视频| 伊人大香蕉在线视频| 天天狠狠色| 91丨九色丨熟女高潮| 欧美六月| 婷婷五月色播| 激情五月综合色婷婷| 99热8| www.婷婷,com| 日夜操B| 九九久久高清| 日韩久久视频| 色五月丁香五月激情五月激情| 婷婷五月天激情五月天深爱五月天| 五月丁香婷婷综合| 色香五月天| 国产FREESEXVIDEOS性中国| 99热最新网址| 少妇熟女视频一区二区三区| 91Chinese在线| 影视av久久久噜噜噜噜噜三级| 综合久久激情久久| 日韩精品成人在线| 五月婷婷色色| 另类小说婷婷色| 99热在线观看| 天天色天天操天天射| 成人AV综合在线| 777丁香六月青青草婷婷综合久月| www.色婷婷| 思思网站| 精品一区二区三区三区| 久久99精品视频| 久久五月丁香婷婷| 免费看欧美成人A片无码| 免费婷婷| 色色丁香婷婷| 九九视频精品在线免费| 玖玖爱导航| 91丨九色丨熟女| 97狠狠色| 激情九月婷婷九月| 婷久久| 九月丁香八月婷婷久久综合久97| 九九AV| se99视频| 99热99热不卡| 亚洲成人免费电影| 无码碰碰| 婷婷综合网站| 婷婷香五月天| 九九热这里有精品23| 九九成人电影婷婷| 26uuu成人网| 成人在线网| 26uuu欧美| 五月天精品综合在线| 久热伊人在91| 无码免费人妻A片AAA毛片西瓜| 天天操夜夜爱| 大香网伊人久久综合| 免费看欧美成人A片无码| 色色色.COM| 超碰99久久| 涩涩五月天| 日本社区五月天激情| yellow视频在线观看91| 婷婷丁香久久网| 五月狠狠| 在线可以看的av网址| 91超级碰在线视频| 抽插特写| 极品少妇高潮啪啪AV无码| 婷婷金品综合视频| 天天操夜夜玩!| 五月天综合久久丁香91| 日本在线播放97| 超碰99资源站| 狠狠激情五月天| 97操碰免费视频| 五月婷婷成人| 久久免费婷婷视频| 天天摸日日舔狠狠添婷婷婷| 高潮毛片遮挡费高一百度| 国产在线网址1| 伊人激情影院| 激情色播| 亚洲激情综合网| 色婷婷丁香五月综合| 99精品女人天堂| 日韩精品AV一区二区三区| 色婷婷88| 天天爽夜夜爽天天爽夜夜爽| 色色综合无码| 99在线精品观看99| 91天天操天天干天天射| 国産精品| 久久9视频欧美| 99精品网址| 超碰日韩人妻在线| 一本色道久久综合狠狠躁一二三| 欧美婷婷色| 五月天色综合| 婷婷五月天影院| 99热一区| 欧美激情综合色综合啪啪五月| 五月天堂在线| 亚洲国产色色| 桔色成人官方网站| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 五月天久草| 亚洲视频一区| 超碰2021| 日韩无码系列| 中文字幕,综合,91| 丁香激情久久| 色五月婷婷中文字幕在线观看| 97欧美在线| 免费啪啪啪网站| 婷婷狠狠青青| 操逼亚洲天堂| 青青操成人福利| 久9草在线观看视频| 9+1视频网址| 激情四射五月天| 综合网色| 日本一级黄色片。| 日笨久久网| www网站在线观看| 国产干逼片| 婷婷五月激情欧美大胆视频| 免费AV在线网址| 久久五月情| 色激情五月| 六月丁香停| 婷婷五月天大香蕉| 夜夜夜天天操| 欧美日本一区二区三区| 欧洲免费视频色| 激情五月综合网最新 | 五月丁香综合影院| 91免费看片| 五月天综合激情网| 四川BBB搡BBB搡多人乱亂| 亚洲黄网AV| 久草婷| 免费97碰碰| 色情五月丁香| 青青草性爱视频| 激情五月六月婷婷综合啪啪| 性色视频| www.99视频| 欧美婷婷色| 国产精品扒开腿做爽爽爽A片唱戏 亚洲爆乳无码精品AAA片蜜桃 | 久久9精品| 99久视频| 九九精品婷| 色五月色情| 久久伦乱| 五月天激情婷婷小说| 亚洲成人五月| 香蕉久久国产AV一区二区| 91热视频| 丁香五月综合色婷婷| 亚洲、热| 中文av网站| 国产XXXX搡XXXXX搡麻豆| 吾爱AV导航| 九九無碼| 婷婷五月天成人网| 变态 另类 在线| 丁香五月天.com| 99在线免费视| 九九五月天| 婷婷丁香91综合| 激情五月天的婷婷| 久热这里只有精品视频免费观看| 五月天激情小说| 99热久久日本| 亚洲综合婷婷六月丁香五月| 天天做天天爱天天高潮| 麻豆忘忧草午夜| 超碰97色| 精品综合久久久久久五月天| 九九热av| 久久婷婷亚洲无码一起| 久久这里只有精品22| 91热久久| 狠狠色噜噜狠狠| 丁香五月丁香伊人| 97人人干| 99色色爰| 色五月综合| 双性美人被调教到喷水A片| 丁香五月婷婷五月| 色婷婷社区| www.激情| www.久久久久久久| 久色激情| 五月五月婷婷| 婷婷五月六月| 日韩三级视频一区二区| av中文网站| 丁香五月久久| 日日夜夜狠狠婷婷色| 日本欧美国产| WWW.久久久久久久| 欧美日韩成人高清在线| 五月婷婷九九热| 99热只有这里才是精品| 99精品在线观看| 欧美色色色色色| 91九色欧美| 日本人妻操| 天天干天天色天天干| 99综合网| 婷婷五月天伊人网在线观看视频| 国产午夜精品一区二区三区嫩草| 婷婷五月天激情网| 99色色| 亚洲XX网| 色久丁香五| 亚洲另类婷婷综合| 五月天婷婷基地综合网| 九九99精品免费播放| 婷婷五月天色| 亚洲无码yw| 亚洲人妻Av| 丁香五月综合激情久久潮喷| 五月婷婷婷婷网| 久久人人添人人爽添人人片αV | 综合五月婷婷| 色色色婷婷五月| 六月丁香激情| 色婷婷狠| 婷婷香五月天| 99精品在线观看| 思思热久久爱| 大香蕉人人网| 久操综合| 色色网站免费在线视频| 成人无码髙潮喷水A片| 亚洲精品国产成人AV在线| 色播色丁香五月| 婷婷六月激情综合| 99碰| 五月丁香婷婷色| 男女99免费视频| 五月婷在线| 婷婷精品免费久久| 中国女人做爰A片| 色五月婷婷五月久久| AA片在线观看视频在线播放| 亚洲99精品欧美一区| 亚洲AV无码成人精品区电影网| 色五月天丁香婷婷| 五月丁香激情综合| 99热6精品| 情欲综合网| 91人妻九色大屁股| 网色99| 婷婷五月天AV网| 777影视理论片大全在线观看| 五月丁香人人婷婷在线观看| 在线观看996精品| 夜夜爱网站| 翔田千里无码| 久久五月激情| 久久精彩视频18| 色色色色色色色色色色色色色97| 77799热| 丁香婷婷六月| 丁香五月综合| 综合网视频| 婷婷五月电影院| 亚洲精品V天堂中文字幕| 国产精品色婷婷AV综合色色| 六月丁香视频网站| 六月婷婷香蕉| 亚洲AV久久久久久久久久久久久久久久 | 欧美叉叉叉BBB网站| www,26uuu,c0m,色情| 天堂久久精品| 97操资源婷婷| 色五月综合网| 97人凄人人操人人爽| 天天插天天日天天爽| 99热国产婷婷| 国产内射婷婷| 天天日天天色| 91啪啪| 色婷婷综合视频| 操人妻90p| 69色婷婷| 激情内射人妻1区2区3区| 丁香六月激情| 天天爽天天操| 色色AV色色色东莞| 区区欧美你爱| caopeng97日韩| 日韩 中文 欧美| 大香蕉视频婷| 91re色综合视频| 狠狠穞A片一區二區三區| 无码色色色| 天天爽夜夜爽夜爽精品| 久久伊人日日夜夜| 天天成人综合| 国产xxxxx在线观看| 丁香五月激情综合婷综| 九九久久污| 九色成人AV在线| 偷偷与邻居做爰完整视频| 在线视频你懂得| 国产亚洲色婷婷久久99精品91| 丁香六月激情蜜桃| 九热视频这里只有精品| 五月丁香网中文字幕| 丁香五月激情宗合网| 亚洲激情综| 夜夜爱爱亚洲| 亚洲4区国产欧美| 99精品久| 婷婷婷五月香蕉| 中文AV网站| Blackedraw视频一区二区| 久久久五月天| 色五月丁香五月五月婷婷| 五月天天堂久久| 五月久久网| 99久久五月天| 亚韩在线视频| 开心久久xxx色| 婷婷月五天在线在线看| 99爱免费在线观看| 婷婷五月天激情亚洲小说| 天天插天天很| 精品免费99| 青草激情在线| 激情5月天天天| 婷婷热婷婷色| 五月婷婷久草在线视频综合| 激情五月天偷拍综合网| 91人妻人人做人碰人人爽九色| 婷婷色色丁香五月天| www,色婷婷| 色婷网| 久久婷婷五月综合| 激情久久伊人| 久久天堂婷婷五月| 亚洲激情视频在线观看| 六月婷婷视频| 婷婷五月丁香手机在线视频| 日韩人妻在线观看| 丁香婷婷久久 | 91操人| 人妻系列久久久久久久久久久 | 婷婷在线视频| 色色色色色色色五月| 97丁香视频| 丁香婷婷五月色成人网站| 桃色五月婷婷| 色色五月婷婷丁香| 欧美内射AA| 极品少妇高潮啪啪AV无码| 黄色激情网站在线观看| 日本三级中文字幕| www.日韩艹| 五月婷婷五月丁香| 成人AV在线电影| 97搞在线| 五月天激情小说| 狠狠干 狠狠操| 久热这里只有| 国产成人一区二区三区在线观看 | wwccc久久久| 野战毛片三一3| 激情五月影院| 99免费青青蜜臀| 五月丁香爱婷婷深深| 五月香六月婷| 激情五月综合| 超色欲天天| 丁香婷婷免费| 国产在线中文字幕| 99热一本| 中文字幕簧片| 激情五月丁香五月| 婷婷性爱视频在线| 国产99视频永久免费| 欧美影院| 20253AV| 婷婷精品视频| 五月天激情久久| 欧美在线| 26uuu青青| 婷婷丁香五月综合免费视频百花| 无码一区精品一区视频| 婷婷五月大| 色五月丁香五月| 成人精品视频99在线观看免费| 精品亚洲国产成AV人片传媒| wwwC0maV五月花| 一起草性爱不卡视频| 五月婷婷丁香综合,亚洲天堂| 99热这里只有精品26| 激情五月天com| 天天肏在线| WWW,激情五月天,COM| 婷婷激情六月视频| 停停六月 综合| 久久久久99精品成人片| 国产真人做爰视频免费| 国产色丁香| av在线免费播放| 婷婷色五月天色| 影音先锋人妻出差| 丁香五月天操B| 天天综合激情| 99视频这里有精品| 成人免费视频一区| 亚洲aV写真天天综合网久久| 亚洲xx在线| 午夜丁香六月婷| 亚洲中文字幕网| 午夜大香蕉| 91超级碰在线| 99热主页日本| 久久久97| 精品久色| 91操碰| VA日本视频| 久久免片| 日韩三级片一区二区| www.婷婷五月| 日韩抽插操逼| 丰满少妇猛烈A片免费看观看| 久月丁香爱婷婷综合| 国产日韩欧美性爱| 五月婷婷久久激情| 丁香网五月天| 亚洲激情免费视频| 97碰碰电影| 日本九婷婷| 久婷婷色| 91操人| 免费色色色| 国产乱妇无乱码大黄AA片| 久久奄也去色色网站| 色综合久久之分久久| 丁香五月婷婷精品视频| 婷婷丁香久久网| 九九久久网| 久久激情天堂| 开心五月婷婷| 开心五月深爱激情| www久久艹| 五月婷精品| 色综合xx| 久久综合婷| 天天射美女| 狠狠色五月激情| 激情婷婷丁香| 综合一区二区三区| 五月丁香综合啪啪啪啪啪| 影音先锋自拍网| 夜夜躁爽日| 伊人婷婷大香蕉| 99色综合| 人人爽欧美婷婷久久久五月丁香| 中文字幕不卡网站| 色五月婷婷基地| 婷婷99中文字幕| CHINESE熟女老女人HD视频| 国产一二三四五六七八视频| 超碰91av| 久久99久久99久久99| 人人干女人| wWw色五月| 九九热99久久99| 香蕉综合在线| 久久这里有精品在线观看| 4438国产免费看| 天天日天天色| 五月丁香综合网| 日韩黄黄| 色婷婷天堂| 欧美顶级少妇做爰HD| 久久激情五月婷婷| 五月天激情婷婷五月天久久| 欧美色97| 90色免费视频| 无码色| 天天日天天色| 亚洲精品性色| 噜一噜免费视频| 碰超在线九色| 嫩草AV久久伊人妇女超级A| 婷婷五月色| 人人干AV| 五月丁香久久网| 欧美色色色色色色| 大香蕉丁香五月| 无码99| 色五月超碰| 天天网站天天爽| 黄网在线观看免费| 日韩啪啪自拍| 日日躁夜夜躁狠狠久久AV| 亚洲av网站在线观看| 99热这里只有免费| 激情合网婷婷| 天天激情综合| 欧美天天草人人草| 婷婷五月天奸女| 99综合成人视频在线观看| 五月天激情小说| 丁香五月婷婷啪啪| 亚洲综合久| 色五月丁香婷婷久草| 成人丁香婷婷五月天| 久久五月丁香伊人青草| 婷婷伊人| 亚洲综合99| 五月丁香色婷婷色| 国产精品人妻在线网址| 婷婷丁香www视频日本韩国| 狠狠色色色| 91人人人人人| AAA级久久久精品| 五月综合激情网| 丁香五月天视频| 超碰av在线| 五月丁香人妻| 五月天综合色| 99热最新网址| 国产片XXXXA片国语对白| 日韩啪啪网| 99热这里只有精品99| 婷婷六月丁香五月| 99热97| 99久在线精品99re8| 香蕉婷婷色五月| 天天爱天天秀天天做| 色偷偷五月天| 国产97色在线 | 日韩| a久久| 欧美大道不卡| 啊V视频在线观看| 久久9精品| 玖玖在线视频| 少妇人妻丰满做爰XXX| 97 天堂| 九热网站| 亚洲自拍天堂| 日本三级大片| 五月天影院婷婷在线观看| 99热精这里只有精品| 五月丁香色婷婷伊人| 色优久久| 婷婷中文在线| 亚洲 五月 婷婷 成人| 色色色色色色色色网站| 淫视馆AV在线| 亚洲亚洲人成综合网络| 日韩啪啪视品| 爽极品色| 嫩草综合网| 欧美日韩AAA| enecarbon-materials.comWu染请涟系Bao护@wip1688| 婷婷亚洲综合| 99久热| 任你爽在线视频| 五月丁香色婷基地综合久久| 激情视频婷婷五月花| 丁香五月天婷婷中文| 色色射| 久碰视频| 婷婷五月成人社区| 久久五月网| 五月婷丁香久久久| 久久丁香综合| 熟女人妻一区二区三区免费看| 97干资源在线观看| 狠狠综合久久| 久狠日av| 婷婷五月丁香六月| 成人综合视频网址| 99WWW免费视频| 中文人妻主播久久| 久久婷婷亚洲| 成人AV在线中文版| 99久在线视频| 六月丁香成人网| 中文字幕在线日亚州9| 天天色2017| 99久久综合网| 天天碰夜夜爽| 亚洲妇女熟BBW| 久久久久久久久久久97| 三级成人网站| 69精品人人人人| 91碰操| 日本va欧美va精品发布视频 | 国产精品A成V人在线播放| 婷婷五月天网址| 色综合网综合| av中文在线| 五月丁香无码| 五月色色激情网| 国产精产国品一二三在观看| 97在线/亚洲| 思思国产99| 五月花激情| 欧美激情综合五月色丁香| 女婷久久| 五月婷婷在线观看黄| 丁香婷婷天堂| 免费AV黄在线播放| 午夜天堂啪啪| 91凹凸在线| 很很干夜夜干| 久久久91精品| 思思久久96热在精品国产,| 九九99久久| 另类亚洲视频| 色五月天成人| 伊人久久五月天| 九九热视频在线观看| 99九无网码| 天天做天天爽| 伊人久热91| 五月婷婷六月丁香在线视频| 丁香五月天堂婷婷| 五月丁香网中文字幕| 五月天婷婷色色| 色久播播| 99色视频| 无码se| 91丨九色丨高潮丰满日本| 大香蕉人人网| 丁香五月婷婷AV在线| 精品动漫 无码av| 婷婷色狠狠| 婷婷五月综合社区在线| 色色 9| 国产一级黄色影片,| 五月天婷婷永久免费视频| 国产精品久久久久久久久久 | 久久五月婷天天干| 亚洲天堂色| 99热无码| 综合久久久婷| 99爱免费视频在线观看| 99原创自拍视频在线观看| 狠狠色综合777| 五月丁香婷婷成人网| 深爱激情五月天婷婷网| 五月精品99综合| 五月成人天| 射区导航| 思思热在线视频精品| 丁香婷婷五月天色综合| 国产又粗又大又爽又黄| 婷婷丁香五月噜噜噜| 91热久88| 96丁香六月婷婷蜜桃综合久久| www.com亚洲网站在线免费| 这里有精品| 久久98| 五月婷婷六月激情| 伊人狠狠操| 亚洲九九婷婷| 99性色| 五月丁香婷婷成人伊人网| 久久ri精品视频| 欧美啪啪9| 新久久五月天激情| 五月激情四射网站| 日本五月天激情| 探花搜索结果 - 黄上黄| 成功精品影院| 久久婷婷五月国产色综合激情| 亚洲精品又粗又大又爽A片 | 色五月婷婷亚洲| 激情伊人| 激情婷婷丁香五月| 亭亭玉月丁香| 色五月在线观看| 五月综合亚洲婷婷| 97热在线精品| 全部老头和老太XXXXX| 色丁香五月| 开心婷婷五月天综合| 五月天激情美女久久| 欧美Va婷色| 色欲Av五月天| 婷婷成人在线| 白人荫道BBWBBB大荫道| 色婷婷电影网| 色五月天综合| 色噜噜狠狠色综合成人99| 国产成人精品一区二三区熟女在线| 五月情色天| 丁香婷婷五月天校园春色| 日本操B片| 五月丁香影视| 久久这里有精品视频在线免费观看| 综合色吧| 99自拍视频在线| 天天爱天天操| 六月丁香婷婷在线波多| www超碰| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 色综合久| 色情久久久| www.亭亭五月天| 激情五月天噢美| 亚洲色图在线视频| 日韩成人影片网站| 日夜操B| 婷婷六月综合激情| 色婷激情网| 色婷婷电影网| 日韩欧美老妇性视频91久久久| 国产精品第一国产精品| 99综合| 国产精品国产| 五月天五月天激情网| 综合久色五月| 蜜桃人妻无码AV天堂三区| 久久婷婷五月天大香蕉| 99视频日韩| 五月婷色| 亚洲综合激情五月久久| 五月激情综合网| 狠狠色丁香久久婷婷综合五月| 第2色五月婷| 久碰久操| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 热99精品视频| 91久草五月天婷婷| 偷拍九九热| 国产露脸150部国语对白| 99热这里只有精品4| 超碰色色综合| 97精品自拍视频| 五月天啪啪啪| 激情綜合W W W,激情五月天| 婷婷五月天综合色| 激情五月天小说视频| 天天干狠狠操| 色噜噜,噜噜色| 久久久er热| 婷婷五月蜜桃成人桃色丁香| 天天做天天爱天天爽夜夜揉| 99超级碰免费视频| 国产成人综合网| 久久五月网| 超碰成人在线观看| 国产激情久久久| 日韩欧美一道四区中文字幕| 亚洲无码AV片| 一级二级色大片| 色吊丝永久访问网址| 欧美久久网| 99re在线视频| 91色婷婷综合久久中文字幕二区| 国産精品| 日韩色色小视频| 婷婷激情五月天网站| 丁香五月天激情五月天激情五月天激情网| 久热无码| 99热精在线九九久久保| 丁香婷停五月激情综合深爱| 欧美丁香五月天| 色天天综合| 色五月激情五月| 综合久久97| 九九在线精品| 不卡在线超碰| 欧美激情综合色丁香婷婷五月天| 涩涩涩.com| 思思久久99| 秋霞A V毛片| 色婷婷六月| 熟女人妻一区二区三区免费看| 婷婷五月天综合在线| 91操熟女| JAPANRCEP老熟妇乱子伦视频 | 国产激情AV| 99re热| 都市激情小说婷婷| 天天日天天色| 成人丁香| 91黄色五月天视频| 欧洲一区二区| 婷婷,五月天,丁香,第一| 欧美天天干五月丁香| 婷婷色5月激情网| 97色永久免费视频| 亚洲亚洲人成综合网络| 丁香五月婷婷高清| 级情九色| 色五月天在线| 91色色色18| 少妇AB又爽又紧无码网站| 五月丁香婷婷色播无码| 免费观看亚洲AV片| 五月天婷婷丁香视频| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 涩涩五月天| 1024人妻无码中文字幕| 日本精品99网站| 丁香六月爱综合| 久久在线大香蕉| 国产日韩精品SUV| 欧美色偷拍| 都市激情五月婷婷综合| 婷婷综合五月天| 婷婷五月丁香五月| 久久99久久久| 日本五月丁香| 五月丁香啪综合| 激情五月天网站| 丁香婷婷老司机久操| 综合五月草| 国产精品国产| 久久视9精| 久久99免费视屏| 亚洲色激情| 99色视频| 久久久ww| 5月丁香啪啪啪| 天天插天天射| 久99久视频| 亚洲免费婷婷| 日本一級黃色一級片| 五夜婷婷| 激情噜噜噜| 成人丁香五月| a免费在线| 性爱先锋AV| 99在线视频播放| 婷婷97C| 亚洲综合五月天综合| 五月香婷婷| 久9精品| 人妻VideOssS人妻高清| 八戒青柠影视剧在线观看| 日本一级特黄大片AAAAA级| 思思 热 99| 国产在线激情视频| 久久五月天综合视频网站| 欧美综合五月丁香六月婷| 婷婷伊人綜合中文| 国产又黄又爽又激情不遮挡视频在线观看| 激情文学久久| AV在线观看网站| 婷婷久久18| 蜜桃五月天| 97久久婷婷色| 色婷丨日丨天丨综合久久| 色综合婷婷| 涩九九九九| 噜噜色噜噜网| 超碰99成人在线| 99热这里只有免费| 婷婷五月天国产传媒| 五月情综合| 丰满老熟妇BBBBB搡BBB| 99噜噜噜在线播放| 很很干天天干| www.激情.com.| 久久机热/这里只有精品| 97碰久久| 色五月天激情| 伊人www22综合色| 婷久久| 欧美97色| 亚洲av网站| 婷婷色播婷婷| 久热婷婷| 囯产精品久久欠久久久久久九大| 99热精品在线| www.五月天婷婷| 日韩成人AV在线| 天天摸色吧天天摸色吧| 国产XXXX搡XXXXX搡麻豆 | 能看的av片| 精品二区| 婷婷激情社区| 国产视频福利| 激情五月丁香五月| 九九视频网| 欧美日本日韩| 五月婷久久在线| 婷婷五月欧美AA片免费| 99热这里只有精品5| 99热热这里只精品996小说| 一起草Av| 丁香六月婷婷缴情欧美| 99网| 婷婷五月天香蕉| 99久热视频在线| 色99网| 色久女| 色婷婷成人做爰A片免费看网站 | 99re这里只有精品首页| 五六月婷婷久久| www,超碰| 99re在线观看| 五月天久久色| 五月天婷婷视频小说| 婷婷性爱网| 最近韩国日本免费高清观看| 国产精品久久7777777精品无码| 日韩久综合| 久久综合九九| 99热免费精品热久久66| 色色五月婷婷狠狠| 九九亚洲| 五月激情六月| 国产女生爱爱AA| 黄色AV日韩| 婷婷激情五月天7| 日本色色影片| www.91婷婷| 亚洲精品欧洲精品| 激情五月婷婷她| 99热一区| 亚洲天码视频www蛋播视频| 日韩人妻在线观看| 少妇水多A片太爽了| 殴美综合激情五月天免费视频| 久久色频| 丁香五月大香蕉AV| 五月天婷婷色色| 婷婷丁香18| 五月婷婷亚洲综合网| www狠狠com| 成人综合网站| 激情综合国产| 日日干日日s| 97人操人免费视频| 日本操B视频| 丁香五月影视| www五月天激情com| 欧美日韩成人在线| 91久久九九| 大学生高潮无套内谢视频| 五月婷婷色| 激情五月色综合国产精品| 91一起艹| a片在线免费观看一区| 婷婷五月花| 色99热| 天天狠狠干| se色99| 欧美日韩123| 婷婷字幕在线| 婷婷综合五月| 九色七七| 一级性爱视频| 五月天色导航| 色色综合无码| 96精品久久久久久久久| 日韩一级淫乱片一区二区三区| 激情综合一| 99熟女啪啪视频| 婷婷五月天激情丁香| 思思99精品视频在线观看| 9999三级片| www色综合亚洲92| 超碰狠狠色| 99re这里只有精品免费| 性爱网六月丁香| 99久久6| 色情五月停停丁香| 婷婷五月综合激情小说| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 五月丁香久久激情网| 天天操夜夜啊| 色五月综合激情| 九热久| 91一道本| 日本情色一区二区| 五月婷婷久久网| 丁香五月天天久久综合小说| 色婷婷成人做爰A片免费看网站| 五月丁香啪啪啪| 狠狠做深爱婷婷久久综合一区| 26uuu色噜噜精品一区| 五月婷婷在线丁香| WWW.99热| 亚洲精品视频在线播放| 91综合国免费久入| 五月天婷婷伊人| 1024操逼视频| 91肏| 九色91视频| 91人人操.COM| 成人在线不卡| 久久五月视频| 日本色道视频网站| 激情五月综合网| 99re思思| 久久ER视频com| 五月色婷婷影视在线电影| 91性高潮久久久久久久久| 综合久久婷婷99| 日韩激情网站| 啪啪东京热| 久久久久久综合88| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 日日爽天天| 婷婷五月婷婷| 91丨九色丨国产打屁股| 国内外色色色色色成人视频| 成人做爰A片免费看视频| 国产真人做爰视频免费| 99se丁香| 久久五月天免费网站| 激情无码网| 日本久久高清| 中文字幕av在线| 色综合久久久久| 丁香五月天激情五月天激情五月天激情网| av 一区三区四区| oVV4WIB3vFi8D| 洗浴中心操B视频| 色五月五月天色婷婷色五月| 成人av在线网站| 婷婷丁香熟妇综合网| 草草女人亚洲| 婷婷综合另类| 97碰超级人人看| 婷婷激情五月天天天开心| 密乳视频| 丁香亭亭激情四射| 无码一级片| 999热在线视频| 午夜 外网 精品 在线| 婷婷五月天在婷| 手机旧版看人妻1025| 九九热精品| 青吴乐视频| 色五月婷婷综合在线| 五月丁色AV| 夜夜爽天操| 日本一道久久| 97在线观视频免费观看| 国产一二区爆乳_1国产日韩一区二区三-成人AV| a久久| 九九久99免费视频| 九九色色色| 操一区| 六月婷婷视频| 婷婷色六月| 狠狠色丁香| 男人的天堂97| 激情的五月婷婷蜜桃| 五月天婷婷激情在线色图| 亭亭玉月丁香| 99小视频在线观看| 婷婷丁香激情综合色情| 婷婷五月天免费| 色五月综合网| 亚洲一级 片内射网站在线观看| 欧美精品99| 五月丁香基地| 五月天激情影院| 五月综合丁| 激情亚洲五月| 国产成人网站在线观看| 懂色av粉嫩AV蜜臀AV| 六月婷婷色综合| 岛国资源网| 天天搞天天色综合| 九色在线五月婷婷网址| 激情婷婷五月久久| 亚洲丁香婷婷丁香五月天激情| 中文字幕日产A片在线看| 亚洲视频操| 色五狠狠| 国产亚洲精品AAAAAAA片| 久9热视频在线观看| 久久久久久久久久人妻| 久久婷色| 色七七九九| 99精色| 亚洲五月婷婷| 丁香婷婷婷| 婷婷五月天色综合翘| 九月丁香婷婷| 欧美超级视频97| 激情综合网激情五月丁香| 97操操| 日韩成人电影AV| 久久超视频| 狠狠色婷婷色| 五月婷六月天| 8090在线影视少妇| 婷婷偷拍网| 99噜噜| 丁香花五月天社区| 久久精彩视频99| 国产精产国品一二三在观看| 婷婷永久在线| 色五月超碰| 哇嘎成人久久| 99久在线精品99re8| 99色综合久久| 开心五月丁香婷婷| 中字幕视频在线永久在线观看免费| 国产亚洲在线| 91chinese在线| 超碰精品在线| 婷婷色五月天在线| 999久久久国产精品|