久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

Flutter鴻蒙實(shí)戰(zhàn):打造SKU動(dòng)銷與庫存健康度看板

Flutter鴻蒙實(shí)戰(zhàn):打造SKU動(dòng)銷與庫存健康度看板 站在零售數(shù)字化項(xiàng)目坑里爬出來的我第一眼看到“Flutter鴻蒙共贏”這幾個(gè)字想到的并不是什么高深的技術(shù)選型而是去年年底一個(gè)連鎖便利店客戶的真實(shí)訴求門店幾百個(gè)SKU哪些在動(dòng)銷、哪些在倉庫里睡大覺、哪些該補(bǔ)貨、哪些該清倉全部靠店長(zhǎng)拍腦袋總部的采購Excel表看得眼睛都快瞎了。他們要的其實(shí)就一句話——把SKU賣得動(dòng)賣不動(dòng)這事跟庫存壓了多少貨這堆數(shù)變成一張手機(jī)上看一眼就明白的圖。而恰好那陣子我剛把一套Flutter寫的App適配到鴻蒙上跑通兩邊需求撞到一起就有了這個(gè)智慧零售場(chǎng)景下的SKU動(dòng)銷與庫存健康度看板項(xiàng)目。這篇文章我會(huì)把整個(gè)項(xiàng)目的設(shè)計(jì)思路、核心的業(yè)務(wù)計(jì)算模型、Flutter跑鴻蒙的實(shí)操細(xì)節(jié)以及上線后踩過的那些坑全部攤開來聊。適合正在做零售數(shù)字化、供應(yīng)鏈看板或者剛把手頭Flutter工程往鴻蒙上遷移的朋友參考純干貨不鋪墊。1. 項(xiàng)目全貌與方案選型為什么是Flutter 鴻蒙 SKU動(dòng)銷1.1 智慧零售里的真實(shí)痛點(diǎn)貨架上的“沉默庫存”零售行業(yè)的庫存問題表面看是“壓貨多、周轉(zhuǎn)慢”本質(zhì)上是信息斷層??偛靠吹降脑聢?bào)是匯總后的平均值門店看到的是每天進(jìn)銷存的臺(tái)賬數(shù)字而真正影響決策的“動(dòng)銷速度”和“健康狀態(tài)”這類衍生指標(biāo)反而沒有任何系統(tǒng)能給個(gè)準(zhǔn)話。這個(gè)項(xiàng)目要解決的核心問題有三個(gè)層級(jí)。第一層是“看得清”每個(gè)SKU的銷量趨勢(shì)、動(dòng)銷頻次、庫存水位是多少第二層是“算得準(zhǔn)”把動(dòng)銷數(shù)據(jù)和庫存數(shù)據(jù)映射成一個(gè)可量化的健康度分?jǐn)?shù)而不是只靠“感覺賣得不錯(cuò)”來判斷第三層是“跟得上”店里店長(zhǎng)、總部采購、運(yùn)營(yíng)總監(jiān)各自打開同一個(gè)看板看到的是同一套邏輯得出的結(jié)論。跟我之前做過的純報(bào)表項(xiàng)目不太一樣這個(gè)項(xiàng)目的難點(diǎn)在于數(shù)據(jù)口徑的統(tǒng)一和指標(biāo)模型的可解釋性。你直接甩一個(gè)綜合健康度分?jǐn)?shù)給店長(zhǎng)他不信你得能拆出這個(gè)分?jǐn)?shù)是怎么來的、由哪幾個(gè)指標(biāo)組成、為什么這個(gè)周顯示黃色預(yù)警。所以架構(gòu)上從一開始就不是做一個(gè)大而全的后臺(tái)而是把核心指標(biāo)的計(jì)算做成了可配置、可拆解的服務(wù)。技術(shù)側(cè)還有個(gè)隱性需求——客戶的店員手里的設(shè)備五花八門有安卓、有蘋果還有陸續(xù)換上的國(guó)產(chǎn)鴻蒙設(shè)備如果每個(gè)平臺(tái)各做一個(gè)原生App維護(hù)成本直接翻倍。這就引出下面這個(gè)選型問題。1.2 技術(shù)選型的底層邏輯Flutter與鴻蒙的“共贏”關(guān)系先說結(jié)論如果只是把鴻蒙當(dāng)成Android的換皮那是會(huì)踩大坑的。鴻蒙的UI框架、路由機(jī)制、生命周期管理跟Android有本質(zhì)差異尤其HarmonyOS NEXT之后徹底砍掉了AOSP兼容層很多老的Android思路直接失效。選Flutter的原因不光是跨端省成本更重要的是Flutter的渲染引擎是自己那套Skia/ImpellerUI層并不依賴系統(tǒng)的原生控件所以在鴻蒙上跑Flutter引擎本身是自帶渲染能力的只需要適配好平臺(tái)通道、生命周期、輸入事件這幾層。說直白一點(diǎn)Flutter App在鴻蒙上更像一個(gè)“自帶渲染器的應(yīng)用”系統(tǒng)要管的只是給Flutter引擎提供一個(gè)宿主容器和必要的系統(tǒng)服務(wù)調(diào)用入口。這個(gè)“自帶渲染器”的特性讓Flutter做鴻蒙適配的成本比React Native那類依賴原生橋接的框架低很多。我在工程里直接沿用了原有Flutter業(yè)務(wù)代碼花在鴻蒙適配上的時(shí)間主要集中在入口工程配置、平臺(tái)插件補(bǔ)齊、以及部分系統(tǒng)能力比如通知、存儲(chǔ)權(quán)限的鴻蒙化調(diào)用。當(dāng)然不能回避的是Flutter官方對(duì)鴻蒙的支持走的是OpenHarmony社區(qū)分支并不是Flutter SDK自帶的。實(shí)操起來需要把依賴切到社區(qū)的ohos分支版本并配合DevEco Studio完成鴻蒙側(cè)的編譯打包。具體怎么配后面第3章我會(huì)詳細(xì)講。1.3 整體架構(gòu)設(shè)計(jì)從訂單數(shù)據(jù)到健康度看板這個(gè)項(xiàng)目的整體鏈路不復(fù)雜但每個(gè)環(huán)節(jié)都有值得摳的細(xì)節(jié)。數(shù)據(jù)從門店P(guān)OS系統(tǒng)和ERP倉庫系統(tǒng)流出經(jīng)過ETL清洗后入數(shù)倉然后通過指標(biāo)計(jì)算服務(wù)產(chǎn)出SKU動(dòng)銷表和多維健康度評(píng)分最終由Flutter編寫的看板App拉取接口并渲染前端圖表。我畫在紙上的架構(gòu)分四層。第一層是數(shù)據(jù)采集層門店的一筆訂單就是一個(gè)事實(shí)記錄POS的數(shù)據(jù)通過定時(shí)任務(wù)同步到Kafka倉庫的出庫入庫單據(jù)走ERP的增量接口第二層是計(jì)算層Spark批處理計(jì)算昨日、近7日、近30日的動(dòng)銷指標(biāo)同時(shí)在Redis里維護(hù)實(shí)時(shí)熱Key支撐“今日實(shí)時(shí)動(dòng)銷”這種對(duì)時(shí)效性要求高的指標(biāo)第三層是服務(wù)層面向C端的查詢接口按門店、品類、時(shí)間范圍三個(gè)維度組合返回指標(biāo)數(shù)據(jù)接口設(shè)計(jì)上直接按看板組件所需的數(shù)據(jù)結(jié)構(gòu)來定避免前端做二次計(jì)算第四層是展示層Flutter App內(nèi)的首頁看板、SKU列表、庫存預(yù)警三個(gè)大模塊。關(guān)于Flutter在其中的角色它是純展示層不做業(yè)務(wù)計(jì)算。所有指標(biāo)口徑都在服務(wù)端算好App只負(fù)責(zé)渲染和交互。這么設(shè)計(jì)的原因很簡(jiǎn)單——業(yè)務(wù)人員在不同端上看到的數(shù)字必須完全一致如果App端也做一套打折邏輯Debug的時(shí)候會(huì)瘋掉。2. 核心業(yè)務(wù)模型拆解SKU動(dòng)銷分析與庫存健康度量化2.1 動(dòng)銷脈動(dòng)從訂單流水到趨勢(shì)信號(hào)如果說“動(dòng)銷”這個(gè)詞聽起來有點(diǎn)玄那就用最直白的話解釋動(dòng)銷就是商品真的被賣出去換成了錢而不是躺在倉庫里吃灰。一個(gè)SKU的動(dòng)銷分析不能只看總銷售額更要看它是均勻地賣還是在某幾次促銷里集中爆發(fā)。我在這套系統(tǒng)里引入了幾個(gè)關(guān)鍵指標(biāo)第一個(gè)是動(dòng)銷率公式很簡(jiǎn)單有真實(shí)銷售記錄的天數(shù)除以統(tǒng)計(jì)周期天數(shù)乘以100%。比如一款飲料在過去7天里有5天產(chǎn)生了銷售記錄那它的7日動(dòng)銷率約為71.4%。這個(gè)指標(biāo)比銷量本身更能反映產(chǎn)品有沒有穩(wěn)定的消費(fèi)需求。第二個(gè)是動(dòng)銷深度看的是同一個(gè)SKU在多少家門店里有動(dòng)銷記錄。覆蓋的門店越多說明這個(gè)SKU的接受度越廣。哪怕它總銷量不高只要?jiǎng)愉N深度在漲說明鋪貨正在起效果反過來如果總銷量高但動(dòng)銷深度很低很可能只是少數(shù)幾個(gè)門店在沖量潛在風(fēng)險(xiǎn)是過度依賴單一門店。第三個(gè)是動(dòng)銷波動(dòng)度計(jì)算周期內(nèi)每日銷量的變異系數(shù)用來判斷銷售是穩(wěn)定還是脈沖式。零售業(yè)務(wù)的季節(jié)性很強(qiáng)不是所有SKU都要求“穩(wěn)定”比如冰淇淋就天然是夏季脈沖但像牙膏、紙巾這類日用品波動(dòng)度過大往往意味著消費(fèi)習(xí)慣沒有養(yǎng)成或者促銷把未來的銷售透支了。這三個(gè)指標(biāo)合在一起就是“動(dòng)銷脈動(dòng)”的數(shù)字化表達(dá)。業(yè)務(wù)人員在App上看到的不只是“某SKU賣了多少”而是知道它賣得穩(wěn)不穩(wěn)、在哪些門店賣得動(dòng)、有沒有出現(xiàn)異常波動(dòng)這三條信息疊加起來才談得上對(duì)庫存做健康度判斷。2.2 庫存健康度評(píng)分模型把直覺變成可計(jì)算的分?jǐn)?shù)庫存健康度這個(gè)事很多團(tuán)隊(duì)的做法是圈幾個(gè)閾值庫存大于多少算積壓小于多少算缺貨。這種粗暴切分在真實(shí)生意里經(jīng)常被投訴因?yàn)椤昂侠韼齑妗备鶶KU的品類、毛利、供貨周期、季節(jié)系數(shù)都強(qiáng)相關(guān)。我采用的方案是加權(quán)評(píng)分法每一個(gè)SKU在每日數(shù)據(jù)跑批后會(huì)按五個(gè)維度打分最后合成一個(gè)0到100的健康度綜合分。這五個(gè)維度分別是庫存周轉(zhuǎn)天數(shù)得分、庫齡得分、動(dòng)銷率得分、安全庫存覆蓋率得分、缺貨風(fēng)險(xiǎn)得分。其中周轉(zhuǎn)天數(shù)得分是最基礎(chǔ)的一項(xiàng)以該SKU過去30天的日均銷量為分母當(dāng)前可用庫存為分子算出按現(xiàn)有速度需要多少天賣完。不同品類設(shè)定不同的基準(zhǔn)線生鮮3天內(nèi)合理日用百貨15到30天季節(jié)性商品按對(duì)應(yīng)季節(jié)壓縮或放寬。得分邏輯是偏離合理區(qū)間越遠(yuǎn)扣分越多不管是積壓還是空轉(zhuǎn)都算不健康。庫齡得分針對(duì)的是“沉睡庫存”按入庫時(shí)間算庫齡超過30天、60天、90天分別觸發(fā)不同的衰減權(quán)重。這里有個(gè)容易被忽略的細(xì)節(jié)庫齡得分必須按批次算同樣的SKU可能有一批入庫15天、另一批入庫70天庫存賬看似總量正常實(shí)際結(jié)構(gòu)已經(jīng)分化了。所以我在計(jì)算時(shí)按批次加權(quán)70天的批次占比越高整體扣分越重。動(dòng)銷率直接復(fù)用2.1的指標(biāo)覆蓋率得分則是回答一個(gè)更實(shí)際的問題以現(xiàn)有庫存和平均每日銷量還夠賣幾天用安全庫存作為一個(gè)緩沖閾值低于安全庫存且供應(yīng)鏈補(bǔ)貨周期內(nèi)預(yù)計(jì)消耗完就要提級(jí)為缺貨預(yù)警。缺貨風(fēng)險(xiǎn)得分用來識(shí)別那些“今天能賣但明天就斷”的SKU這類往往被總庫存充足的表象掩蓋住得用下單補(bǔ)貨頻率和預(yù)測(cè)銷量來單獨(dú)判斷。五項(xiàng)得分各占20%權(quán)重最終輸出一個(gè)健康度總分同時(shí)映射到“健康、預(yù)警、風(fēng)險(xiǎn)、積壓/缺貨”四個(gè)檔位。得分模型上線后我記得最清楚的一個(gè)案例是有一款堅(jiān)果禮盒月銷售額很高按傳統(tǒng)指標(biāo)算是明星品但它的動(dòng)銷深度極低只有兩家門店在賣且?guī)忑g超過80天健康度總分只有51分系統(tǒng)把它從“明星品”降級(jí)為“風(fēng)險(xiǎn)品”采購核實(shí)后果然發(fā)現(xiàn)是連鎖節(jié)日促銷沖的虛量節(jié)后退貨率高達(dá)三成。這就是模型把直覺數(shù)字化之后的價(jià)值——不再被表面銷量騙到。2.3 數(shù)字化映射的可視化呈現(xiàn)從指標(biāo)到看板模型算出來的健康度分?jǐn)?shù)不是給人看的最終形態(tài)真正在店里值班的店長(zhǎng)沒空研究85分和82分的區(qū)別。所以前端要做一次“從數(shù)字到圖形的映射”。首頁大圖用的是SKU動(dòng)銷熱力矩陣橫軸是最近7日動(dòng)銷率縱軸是庫存健康度得分每個(gè)SKU按氣泡形式散在矩陣?yán)餁馀荽笮〈?0天累計(jì)銷售額。這個(gè)矩陣圖的好處是一眼能看出問題分層右上角是又賣得好又庫存健康的“明星區(qū)”左上角是賣得好但庫存有風(fēng)險(xiǎn)的“補(bǔ)貨區(qū)”右下角是動(dòng)銷差但庫存還多的“清倉區(qū)”左下角則是不好賣且?guī)齑嬉膊簧畹摹疤蕴^望區(qū)”。頁面?zhèn)葯谑菐齑娼】刀阮A(yù)警列表按門店維度聚合展示TOP風(fēng)險(xiǎn)SKU、風(fēng)險(xiǎn)原因打標(biāo)庫齡過長(zhǎng)、周轉(zhuǎn)過慢、覆蓋過窄、建議動(dòng)作補(bǔ)貨、調(diào)撥、促銷、清倉。實(shí)際操作中我發(fā)現(xiàn)店鋪店長(zhǎng)最關(guān)心的不是列表本身而是“今天要做的事”——所以這個(gè)預(yù)警列表直接接入了任務(wù)流店長(zhǎng)點(diǎn)“確認(rèn)處理”后會(huì)生成一條事務(wù)記錄追蹤到處理結(jié)果。顏色體系上我用四色狀態(tài)來區(qū)分健康等級(jí)綠色表示健康、黃色表示預(yù)警、橙色表示風(fēng)險(xiǎn)、紅色表示嚴(yán)重異常。需要特別說明的是顏色閾值不是簡(jiǎn)單的“分?jǐn)?shù)大于80是綠”而是結(jié)合SKU所在品類的差異化基線動(dòng)態(tài)生成的。比如生鮮品類健康度65分可能已經(jīng)是綠色因?yàn)橹苻D(zhuǎn)本身就快、風(fēng)險(xiǎn)周期短而家電品類即使健康度80分仍可能顯示黃色因?yàn)樗鼈冑Y金占?jí)捍蟆⒅苻D(zhuǎn)慢稍高一點(diǎn)的庫齡都意味著風(fēng)險(xiǎn)。這個(gè)動(dòng)態(tài)閾值邏輯是跟業(yè)務(wù)方反復(fù)過了三輪才定下來的。3. 雙端開發(fā)實(shí)戰(zhàn)Flutter工程接入鴻蒙的關(guān)鍵步驟3.1 工程初始化與鴻蒙化的正確姿勢(shì)Flutter要跑在鴻蒙上市面上的資料很亂我實(shí)測(cè)下來最穩(wěn)的路子是走OpenHarmony SIG社區(qū)維護(hù)的flutter_flutter倉庫的ohos分支。整個(gè)遷移改造的核心是在原有Flutter工程里增加一個(gè)鴻蒙平臺(tái)入口而不是把Flutter SDK替換掉重來。先把Flutter SDK切到支持鴻蒙的版本通過命令git clone -b ohos拉取社區(qū)分支并替換本機(jī)Flutter SDK路徑。然后配DevEco Studio在原有Flutter工程中新建一個(gè)鴻蒙殼工程這個(gè)殼工程的職責(zé)是用HarmonyOS的UIAbility作為啟動(dòng)入口在其加載時(shí)初始化Flutter引擎實(shí)例并把Flutter的Dart代碼作為so/har資源打包進(jìn)鴻蒙應(yīng)用。工程結(jié)構(gòu)上會(huì)新增entry/src/main/ets目錄里面是ArkTS寫的入口和Flutter容器管理類。業(yè)務(wù)開發(fā)幾乎還是純Dart在pubspec.yaml里如果用到原生插件得確認(rèn)該插件是否有鴻蒙的實(shí)現(xiàn)。這里最常踩的坑是很多第三方Flutter插件只有Android/iOS的實(shí)現(xiàn)鴻蒙運(yùn)行時(shí)會(huì)直接MissingPluginException。我當(dāng)時(shí)的做法是寫一個(gè)插件適配層優(yōu)先用官方鴻蒙實(shí)現(xiàn)沒有的走自定義平臺(tái)通道調(diào)用原生能力。編譯鏈上鴻蒙側(cè)需要配置簽名、權(quán)限聲明且版本匹配很有講究。我用的組合是Flutter ohos分支的3.7.x版本搭配DevEco Studio 4.0和HarmonyOS SDK API 10。工程能跑通之后每次改動(dòng)Dart代碼都需要先執(zhí)行flutter build hap生成鴻蒙產(chǎn)物再由DevEco加載運(yùn)行不能直接沿用Android的install流程這個(gè)節(jié)奏一開始容易搞混。3.2 組件通信與狀態(tài)管理的落地細(xì)節(jié)跨端開發(fā)最容易出問題的往往不是UI而是數(shù)據(jù)流的組織和事件傳遞。這個(gè)看板項(xiàng)目里我采用Riverpod做全局狀態(tài)管理把SKU列表、健康度分值、門店篩選條件都定義為異步狀態(tài)源業(yè)務(wù)組件通過watch監(jiān)聽變化保證了頁面切換時(shí)數(shù)據(jù)的一致性。組件通信分三層來梳理。第一層是跨頁面通信看板首頁點(diǎn)擊某個(gè)SKU氣泡跳轉(zhuǎn)到SKU詳情頁并傳參我用Router傳參加Provider覆蓋初始狀態(tài)兩種方式結(jié)合第二層是同頁面不同區(qū)塊的數(shù)據(jù)同步比如頂部日期篩選器變化后熱力矩陣、預(yù)警列表、統(tǒng)計(jì)數(shù)據(jù)區(qū)要同步刷新這里用了一個(gè)共享的ProviderfilterProvider所有區(qū)塊都依賴它一改全改第三層是Dart側(cè)與鴻蒙原生側(cè)的通信用的是MethodChannel的自定義封裝例如獲取設(shè)備推送Token、查詢系統(tǒng)存儲(chǔ)權(quán)限這類能力統(tǒng)一封裝成PlatformBridge類用平臺(tái)分支判斷當(dāng)前運(yùn)行在哪個(gè)系統(tǒng)上。這里分享一個(gè)關(guān)于異步任務(wù)的細(xì)節(jié)有同事問過為什么Flutter里.then的回調(diào)有時(shí)看起來像微任務(wù)有時(shí)又像宏任務(wù)。實(shí)際在Dart里Future.then默認(rèn)就是以微任務(wù)方式調(diào)度的但如果你在回調(diào)里又嵌套了新的Future、調(diào)用了耗時(shí)Native方法或者回調(diào)所在的zone被改寫了調(diào)度方式就會(huì)出現(xiàn)“明明先注冊(cè)卻是后執(zhí)行”的錯(cuò)覺。在動(dòng)銷看板這種加載遠(yuǎn)程指標(biāo)數(shù)據(jù)的場(chǎng)景我建議所有接口請(qǐng)求統(tǒng)一走async/await不在鏈?zhǔn)絫hen里做跨頁面的導(dǎo)航觸發(fā)避免微任務(wù)與現(xiàn)任務(wù)交替時(shí)出現(xiàn)白屏閃爍。3.3 頁面渲染與導(dǎo)航適配鴻蒙的布局習(xí)慣雙端布局適配是UI層面最費(fèi)時(shí)的一塊。鴻蒙原生是ArkTS聲明式語法跟Flutter的Widget樹確實(shí)有差異但如果頁面完全用Flutter構(gòu)建那UI代碼就是一份不需要重寫。問題主要出在使用PlatformView的場(chǎng)景——比如嵌入PDF報(bào)表、播放營(yíng)銷視頻這類。Flutter在鴻蒙上渲染本身靠Impeller新版或Skia舊版而PlatformView的嵌入走的是TextureLayer hybrid合成。實(shí)測(cè)下來少量、小區(qū)域的PlatformView比如單張商品圖、簡(jiǎn)短視頻沒什么問題但如果在列表里快速滑動(dòng)大量PlatformView鴻蒙側(cè)容易掉幀因?yàn)槊看位旌虾铣啥家黾y理拷貝。我的建議是能不用PlatformView就不用商品圖、報(bào)表圖全部轉(zhuǎn)成Flutter側(cè)渲染或直接走網(wǎng)絡(luò)Image組件。導(dǎo)航結(jié)構(gòu)上因?yàn)榭窗錋pp是Tab應(yīng)用底部導(dǎo)航在Flutter里用自身的BottomNavigationBar不存在適配問題。但鴻蒙有個(gè)交互習(xí)慣跟Android很不一樣——右側(cè)邊緣左滑手勢(shì)是返回Flutter側(cè)GestureDetector如果攔了水平滑動(dòng)就會(huì)跟系統(tǒng)返回手勢(shì)沖突。項(xiàng)目里動(dòng)銷矩陣圖需要橫向拖拽查看就必須在GestureDetector上設(shè)置gestureSettings來協(xié)調(diào)。這點(diǎn)剛上線時(shí)被測(cè)試同學(xué)反復(fù)提bug后來在detail頁禁用了邊緣返回只保留頂部返回按鈕才消停。4. 動(dòng)銷與健康度看板的功能設(shè)計(jì)與實(shí)操要點(diǎn)4.1 SKU熱力矩陣一張圖看懂全場(chǎng)動(dòng)銷熱力矩陣是首頁的核心組件交互上看是個(gè)可縮放可拖拽的坐標(biāo)圖。處理的數(shù)據(jù)規(guī)模是最大單店約3000個(gè)SKU全部門店匯總后可達(dá)40000個(gè)以上如果一次性把全部門店的SKU都渲染出來移動(dòng)端內(nèi)存直接爆。所以矩陣圖默認(rèn)只展示當(dāng)前篩選門店下的SKU總店維度則只展示聚合到品類層的氣泡點(diǎn)進(jìn)去再下鉆到SKU明細(xì)。氣泡布局上我用了Flutter的CustomPaint自繪實(shí)現(xiàn)并沒有直接套第三方圖表庫因?yàn)榈谌綆煸跉馀輸?shù)量超過500后性能普遍明顯下滑而且懸停氣泡展示指標(biāo)詳情、點(diǎn)擊氣泡跳轉(zhuǎn)SKU詳情這類交互自繪更好控制。繪制邏輯不復(fù)雜先按橫縱坐標(biāo)把SKU歸入25個(gè)網(wǎng)格再對(duì)每個(gè)網(wǎng)格內(nèi)的氣泡做碰撞避讓防止氣泡重疊。這步避讓算法用的是最簡(jiǎn)單的斥力迭代每幀只跑一輪在400點(diǎn)以內(nèi)幀率能穩(wěn)定在60Hz。氣泡顏色的語義上面已經(jīng)講過但要強(qiáng)調(diào)一個(gè)小細(xì)節(jié)矩陣中的坐標(biāo)軸標(biāo)簽不能只顯示數(shù)字范圍要顯示業(yè)務(wù)語義比如橫軸0.5的位置要標(biāo)“動(dòng)銷良好”而不是“50%”門店店長(zhǎng)不是數(shù)據(jù)分析師語義化標(biāo)簽?zāi)苁箍窗逋耆恍枰嘤?xùn)就能看懂。4.2 庫存健康度預(yù)警閾值怎么定才不會(huì)被罵預(yù)警閾值是整個(gè)項(xiàng)目里被業(yè)務(wù)挑戰(zhàn)最多的地方。一開始我拍腦袋按“庫存金額大于銷售額的三倍”定積壓線結(jié)果上線第一天就有六十多個(gè)SKU觸發(fā)紅色預(yù)警其中一半是季節(jié)性商品——夏季還沒到倉庫當(dāng)然提前備貨了。加班改了一周終于把規(guī)則改成一個(gè)三維判定模型。第一維是周轉(zhuǎn)天數(shù)與品類基線的偏移比例不是看絕對(duì)值而是看相對(duì)差異第二維是動(dòng)銷率的變化方向如果一個(gè)SKU動(dòng)銷率連續(xù)七天上升即使絕對(duì)庫存偏高也降到黃色預(yù)警而不是紅色第三維是庫齡結(jié)構(gòu)超過90天的靜置庫存占比大于30%時(shí)直接觸發(fā)紅色預(yù)警。這套三維規(guī)則跑了一個(gè)月之后業(yè)務(wù)反饋“預(yù)警準(zhǔn)確率能接受了”但我們還有一個(gè)不可說的潛規(guī)則——預(yù)警排序不只是按分?jǐn)?shù)還要乘以“可處理性”權(quán)重。什么是可處理性比如一款進(jìn)口礦泉水因?yàn)楣?yīng)鏈周期長(zhǎng)庫存健康度分?jǐn)?shù)低但讓門店清倉是做不到的因?yàn)橄聜€(gè)月還要賣。這種SKU預(yù)警排到后面去把處理精力聚焦在“現(xiàn)在就能處理”的呆滯庫存上。這個(gè)加權(quán)邏輯對(duì)項(xiàng)目落地起到非常關(guān)鍵的作用建議做類似系統(tǒng)的人一定保留這個(gè)思路。4.3 Flutter下的圖表與大數(shù)據(jù)量性能優(yōu)化圖表渲染的性能優(yōu)化是Flutter做數(shù)據(jù)密集型應(yīng)用繞不開的大山。動(dòng)銷趨勢(shì)這里我一開始直接用fl_chart繪制近30日的銷量折線但數(shù)據(jù)點(diǎn)一旦到上百個(gè)包在ListView里滑動(dòng)時(shí)會(huì)明顯卡頓原因是折線圖每次setState都會(huì)重繪全部路徑。后面改成了三個(gè)優(yōu)化組合。第一個(gè)是圖表組件用RepaintBoundary包起來隔離重繪范圍不隨頁面的其他部分一起刷新第二個(gè)是把數(shù)據(jù)點(diǎn)做抽稀日粒度指標(biāo)在折線圖里不需要精確到天按區(qū)間聚合成10個(gè)左右的點(diǎn)曲線的視覺形狀幾乎不變繪制量減少了80%第三個(gè)是列表頁的SKU卡片改成const構(gòu)造 懶加載配合Flutter的ListView.builder一次只構(gòu)建可見區(qū)域的數(shù)據(jù)。這三個(gè)優(yōu)化做完后真機(jī)滑動(dòng)幀率從25幀提升穩(wěn)定到55幀上下。內(nèi)存上動(dòng)態(tài)監(jiān)控發(fā)現(xiàn)過一個(gè)問題看板頁所有頁面都作為Tab懶加載常駐內(nèi)存長(zhǎng)時(shí)間使用后圖片緩存暴增。處理方案是設(shè)置ImageCache最大字節(jié)數(shù)為80MB并且每次從后臺(tái)切回來時(shí)清理不可見Tab的圖片緩存。這個(gè)數(shù)值不是隨便設(shè)的80MB對(duì)于中端鴻蒙設(shè)備是安全線超過容易OOM。5. 常見問題與排查實(shí)錄含性能與穩(wěn)定性5.1 Flutter在鴻蒙上的典型報(bào)錯(cuò)與處理這一章節(jié)直接放出我這兩三個(gè)月來在鴻蒙設(shè)備上調(diào)試時(shí)碰到過的具體報(bào)錯(cuò)和處理方式真實(shí)有效。第一個(gè)是e/flutter (31173): [error:flutter/runtime/dart_vm_initializer.cc(41)] unhandled exception occurred。很多人一看到Dart VM初始化報(bào)錯(cuò)就以為SDK有問題實(shí)際上這個(gè)報(bào)錯(cuò)是“未捕獲異?!钡耐ǜ骖^真正的原因在報(bào)錯(cuò)后面的堆棧里。我遇到的一次是底層MethodChannel調(diào)用時(shí)原生側(cè)拋了業(yè)務(wù)異常但Dart側(cè)沒有try-catch包裹異常直接穿透到引擎層。修法是給所有異步調(diào)用加統(tǒng)一異常捕獲區(qū)返回一個(gè)可預(yù)期的Result對(duì)象而不是裸拋異常。第二個(gè)是Flutter平臺(tái)插件在鴻蒙上運(yùn)行時(shí)崩潰報(bào)MissingPluginException。排查步驟是看插件目錄下有沒有harmonyos的實(shí)現(xiàn)沒有就改用自定義MethodChannel包一層讓原生側(cè)用一個(gè)統(tǒng)一入口接收并分發(fā)。注意鴻蒙上的原生插件包后綴是.har不是.aar社區(qū)倉庫很多還沒跟上得要自己做適配。第三個(gè)是關(guān)于Flutter的Impeller渲染引擎Impeller在鴻蒙的兼容性還在改進(jìn)期部分中低端設(shè)備上打開三分屏或快速切換頁面時(shí)出現(xiàn)渲染花屏。臨時(shí)方案是回到Skia渲染在AndroidManifest里flutter.engine配置加上--enable-software-rendering的兼容模式等Impeller版本穩(wěn)定再切回去。這個(gè)影響不大因?yàn)榭窗逡詧D表為主軟件渲染對(duì)性能影響很小。第四個(gè)是Future回調(diào)時(shí)序問題有的團(tuán)隊(duì)在頁面A發(fā)起接口請(qǐng)求后在.then里直接Navigator.push跳轉(zhuǎn)頁面B結(jié)果偶發(fā)出現(xiàn)頁面B先blank一幀再出內(nèi)容。原因我在前面分析過Dart微任務(wù)隊(duì)列的執(zhí)行優(yōu)先級(jí)與平臺(tái)消息循環(huán)協(xié)同的問題在鴻蒙上比Android更容易觸發(fā)。解決思路很粗暴跳轉(zhuǎn)操作放在接口數(shù)據(jù)return之后顯式賦值然后由UI層根據(jù)狀態(tài)監(jiān)聽觸發(fā)而不是在then回調(diào)里做導(dǎo)航。5.2 動(dòng)銷計(jì)算偏差那些數(shù)據(jù)對(duì)不上的夜晚業(yè)務(wù)部門對(duì)數(shù)據(jù)看板最敏感的不是功能有沒有而是昨天前臺(tái)顯示的數(shù)字跟財(cái)務(wù)報(bào)表對(duì)不上。這里發(fā)生的兩次偏差復(fù)盤一下第一次是訂單狀態(tài)過濾不完整。POS同步過來的訂單流里有已取消、已退款、僅預(yù)占庫存未支付等狀態(tài)第一版ETL偷懶直接按狀態(tài)字段全量入數(shù)倉結(jié)果“動(dòng)銷率高得好假”的SKU查下來發(fā)現(xiàn)多數(shù)是記賬但未實(shí)付的訂單。修正方案是在ETL層增加訂單狀態(tài)枚舉白名單乙未付款不參與動(dòng)銷計(jì)算同時(shí)核對(duì)線下退款單保證“動(dòng)銷”對(duì)應(yīng)的是真實(shí)資金流動(dòng)。第二次是時(shí)間窗口跨時(shí)區(qū)問題。連鎖門店分布在新疆和北京兩地如果用服務(wù)器時(shí)區(qū)統(tǒng)一算昨日銷量新疆門店夜里12點(diǎn)前的銷售會(huì)算到第二天動(dòng)銷天數(shù)因此多了一天健康度里周轉(zhuǎn)天數(shù)就偏差了。修法是所有動(dòng)銷指標(biāo)計(jì)算之前先把訂單時(shí)間按門店所在時(shí)區(qū)做本地化再按本地日期做切分。這個(gè)坑很容易踩建議做零售類數(shù)據(jù)項(xiàng)目的都在ETL層顯式記錄門店時(shí)區(qū)字段。5.3 看板App在鴻蒙端的基礎(chǔ)問題速查表問題現(xiàn)象可能原因快速處理Flutter引擎初始化極慢或卡死在啟動(dòng)頁鴻蒙殼工程里Flutter引擎創(chuàng)建時(shí)機(jī)不對(duì)或沒有復(fù)用預(yù)熱引擎實(shí)例在UIAbility的onCreate里預(yù)加載引擎并復(fù)用同一FlutterEngine實(shí)例動(dòng)銷看板圖表白屏或閃退Impeller渲染不兼容切換至Skia兼容模式或通過命令行臨時(shí)禁用Impeller商品詳情頁返回手勢(shì)與圖表拖拽沖突系統(tǒng)邊緣返回手勢(shì)攔截在圖表所在頁面禁用返回手勢(shì)統(tǒng)一用頂部按鈕返回更新Dart代碼后鴻蒙包不生效忘記重新執(zhí)行flutter build hap先build hap再在DevEco里運(yùn)行不能直接熱重載到鴻蒙殼工程庫存預(yù)警推送收不到鴻蒙通知未申請(qǐng)鴻蒙通知權(quán)限或Push Kit未配置在module.json5中聲明通知權(quán)限并按鴻蒙Push Kit規(guī)范完成配置列表頁大SKU數(shù)據(jù)滑動(dòng)掉幀圖片緩存過大或列表未懶加載設(shè)ImageCache上限為80MB使用ListView.builder構(gòu)建卡片項(xiàng)這里面我特別想再強(qiáng)調(diào)一次第一行的問題Flutter在鴻蒙上的啟動(dòng)優(yōu)化非常重要。殼工程每一次冷啟動(dòng)都重新創(chuàng)建FlutterEngine的話鴻蒙的中端設(shè)備普遍要2秒以上才看到首幀對(duì)比Android上約1秒的體驗(yàn)有明顯差距。我最后是讓殼工程只創(chuàng)建一個(gè)引擎實(shí)例常駐頁面切換只做Flow的切換而不是引擎重建。啟動(dòng)時(shí)間從2.1秒壓到1.2秒操作體感完全不一樣。5.4 實(shí)操心得給Flutter和鴻蒙新接觸者的避坑建議說幾個(gè)零散的實(shí)戰(zhàn)心得未必寫在任何官方文檔里但每一個(gè)都是真金白銀換來的。第一鴻蒙工程里引用Flutter依賴的時(shí)候不要直接照抄網(wǎng)上示例里的CocoaPods或者gradle的寫法。鴻蒙走的是一套獨(dú)立的構(gòu)建鏈路Flutter產(chǎn)物要打成har包引用關(guān)系在oh-package.json5里配跟Android的gradle完全不通用。剛開始我拿Android的思路硬套編譯報(bào)錯(cuò)到懷疑人生。第二動(dòng)態(tài)權(quán)限的處理思路跟Android也大不一樣。鴻蒙在API 9之后采用了嚴(yán)格的權(quán)限分組像定位、通知這類權(quán)限如果不在module.json5里先聲明代碼里申請(qǐng)會(huì)被直接忽略且不報(bào)錯(cuò)??窗宓谝淮紊暇€時(shí)門店定位上報(bào)功能在鴻蒙上靜默失效查了半天才發(fā)現(xiàn)是權(quán)限聲明漏了。第三Responsive UI不代表做三套布局。鴻蒙平板和手機(jī)尺寸差異挺大的但Flutter本身就有良好的自適應(yīng)能力合理使用LayoutBuilder和MediaQuery就能覆蓋絕大部分不要每遇到一個(gè)新設(shè)備就單獨(dú)寫布局。第四團(tuán)隊(duì)協(xié)作時(shí)Dart側(cè)代碼沒問題的情況下鴻蒙和Android之間最大的摩擦點(diǎn)在版本號(hào)。Flutter ohos分支的版本演進(jìn)比官方主分支慢不要隨手升Flutter SDK版本否則鴻蒙殼工程編譯時(shí)SDK版本和引擎產(chǎn)物不匹配會(huì)在DNS解析階段報(bào)大量莫名其妙錯(cuò)誤。我是固定了一個(gè)已驗(yàn)證的版本組合升版本前先在測(cè)試機(jī)上完整跑一遍鴻蒙鏈路。結(jié)束前最后一條實(shí)用經(jīng)驗(yàn)這個(gè)項(xiàng)目上線跑了一個(gè)半月后我最大的體會(huì)是技術(shù)選型Flutter鴻蒙其實(shí)只占三成精力剩下七成都在跟數(shù)據(jù)模型和業(yè)務(wù)口徑斗智斗勇。再漂亮的控件也頂不住業(yè)務(wù)一聲“這個(gè)數(shù)不對(duì)”的投訴。所以如果你也要做類似“動(dòng)銷庫存健康度”的系統(tǒng)我強(qiáng)烈建議把第2章的指標(biāo)模型設(shè)計(jì)部分拉長(zhǎng)討論周期先讓業(yè)務(wù)方認(rèn)可算法邏輯再開始寫第一行代碼。另外預(yù)計(jì)算與實(shí)時(shí)計(jì)算相結(jié)合這個(gè)架構(gòu)在類似規(guī)模的零售看板項(xiàng)目里值得復(fù)用。用Spark批處理算昨天和近7天的全量指標(biāo)用Redis實(shí)時(shí)累加當(dāng)日訂單做“今日動(dòng)銷”——兩個(gè)口徑中間靠一個(gè)補(bǔ)償任務(wù)去對(duì)齊既保證了指標(biāo)深度又保護(hù)了接口的響應(yīng)速度。如果你正打算折騰Flutter上鴻蒙別怕踩坑先把一個(gè)最簡(jiǎn)Shell跑通再把復(fù)雜業(yè)務(wù)一層層加進(jìn)去。這大概是我在這次項(xiàng)目里最想強(qiáng)調(diào)的一句人話了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
6080YYY午夜理论片在线观看| 激情专区综合| 视频国产欧美在线播放| 91成人亚洲色图| 久久的网站啊啊啊啊啊| 五月丁香综合激情| 日韩亚洲精品一区二区| 中日韩免费看男女操逼大全| 熟女熟妇一区二区三四区| 99热aaa| 99久久综合网| 97色婷婷| 欧美v日韩欧亚洲电影天堂色诱,国产传媒 | 久久99干一本高清| 伊人991| www.久久| 五月丁香社区婷婷日韩欧美精品影院| 老熟女乱伦一区| 欧美激情在线观看视频| 风骚少妇视频中文字幕| 国产丰满少妇久久久精品影院| 蜜臀国产AV中文字幕| 亚洲欧综合另类无码一区| 国产自制av蜜乳| 超碰色图| 伊人网高清| 国产欧美另类久久久精品课程| 粉嫩小泬久久久一区二区| 超碰97玖玖爱| 国产精品91ai| 亚洲欧美洲综合| 欧美,亚洲,日韩,v,天堂,手机在线观看 | 人人妻人人操人人乐| 色九九综合| 成人免费在线网站| 国产成人免费观看在线视频| 97人人超| 色爱综合网| 日韩免费性爱视频在线观看| 久久激情视频| 亚洲婷婷五月天| 天天流夜夜操| 大乔未久88一区| 伊人伊人LD| 男人的天堂在线| 欧洲亚洲综合| 男人的天堂VA| 屁股久久久久久| 久久久久九九九九| 91人妻人人澡人人爽人人精品| 欧美 亚洲| 色欧美综合| 97免费视频在线观看| 欧美姓爱综合网| 蜜臀99久久精品久久久懂爱| 国产精品精品系列在线观看| 婷婷午夜成人色中色| 亚洲日韩精品一区视频在线| 99热66| 韩国一区二区精品亚洲| 日本不卡码黄色| 狠肏骚人妻| 欧美影音在线| 在线视频97| 一级性爱视频免费观看| 91碰超| 97国产|免费| 91日韩网站| 亚洲97在线观看| 亚洲色狠| 亚洲AV性爱电影| 亚洲av强奸乱伦| 超碰97资源大奶| 欧美熟女丝袜| 天天综合网在线观看| 成·人免费午夜在线观看| 国产高清亚洲日韩一区| 亚洲欧美日韩精品久久久一区二区| www网站黄| 激情小说五月天| 日本 成 人 小说 电影 一区二区| 久久久久久久久久久人妻| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 九九毛片这里只有精品| 97超碰免费人人性爱| 九九九精品色乱九九九| 欧洲性爱无码区| AV无码久久久精品| 日本人妻天堂网站在线播放| 伊人天天久久动态图| 岛国激情视频软件| 91麻豆天美国产| 女生久久网| av绯色| 色av中文字| 日韩精品大香蕉伊人在线| 九九九久久久| 无码99| 麻豆一区二区三区在线看| 日韩成人高清一区二区| 99综合视频一体| 天天干天天中出av| 亚洲天天做日日做天天谢日日| 乱色视频中文字幕| 亚洲欧洲日韩中文字幕一区| 久草免费在线一区二区| 久久一本大香蕉 | av绯色| 97色在线观看| 九色黄站| 人人摸人人干| 国产精品分类在线观看| 啊嗯嗯啊好大好爽| 一区二区三区四区免费视频| 天天色怡春院| 欧美精品99久久久**| 亚洲欧美色综合| 91视频综合网| 97国产精品国| 婷婷伊人五月| 蜜桃色院一区久久| 亚瑟国产精品久久无码| 亚洲成人精品久久久| 亚洲国产精品无码AV久久| AAA久久| 日本一二三免费久久| 欧美老妇曰批的视频| 午夜精品久久久久久久99热影院| 一级性爱啪啪视频| 免费99精品国产自在在线| 丰满人妻无码一区二区三区| 欧美偷偷网| 欧美性爱伊人| 97超碰色色| 欧美日韩m| 中出欧美| 有码色中文字幕在线观看| 亚洲无码精品AV久久久| 中文97国产| 国产精品自拍xxxx| 大香蕉视频啪啪啪啪| 激情开心五月天| 啊啊啊在线观看| 欧美成人精品一区二区三区| 柠檬AV导航| 人妻久久一区二区三区| 精品网站99999| 国产女人与拘做受视频免费| 色汉综合| 国产一区二区三区久久精品太古里| 国产亚洲禁久一区二区| 91亚洲不卡一区| 国产91 丝袜在线播放00-百度| 97啪啪| 九九热九九| 美骚妇av高清在线| 六月丁香婷| 中日韩一区二区三区欧美| 久久爽爽精品| 天天操天天插| 日韩图区 偷拍| 97视频免费播放| 曰本熟女视频| 日本在线一二| 色欲蜜臀AV| 亚洲熟妇A V黑人| 丝袜综合| 少妇 综合| 亚洲天堂中文字| 麻豆av一区二区| 97在线观视频免费观看| 成人在线视频二区| 日韩午夜啪啪视频| 久久香蕉国产线看观看猫咪av| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 日本天天色| 九九视频黄色片| 91亚洲最新在线| 亚洲一区二区 麻豆传媒| 天天操天天插| 久久e6只有精品| 五月天色图影视| 日韩人妻一二三区视频| 玖草在线视频| 久久天天摸| 久久透逼视频| 国产白丝精品在线观看| 呻吟 欧美 日本 中出| 精品夜夜澡人妻无码| 欧美大香蕉专区网| 日本人人操人人操| 91c色| 日韩av电影成人在线| 极品少妇久久久| 九九热午夜欧亚国产视频| 91+欧美| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 免费日韩黄片| 无码久久国产| 天天综合网日韩7799| 久久久97| 青春草A| 免费视频在线观看啊啊啊啊啊| AV无码久久久精品| 强奸乱伦大香蕉网| h无码动漫在线观看| 熟女激情综合网| 精品人成视频在线观看| 超碰97人妻在线| 日本媚薬中文字幕在线| dy888午夜老子影视达达兔| 欧亚日韩三区| 日韩欧美性吧婷婷乱伦大香蕉| 五月亭亭六月丁香| 亚洲男人天堂2| 久久久久幕乱码| 欧美91网站| 97干天天| 亚洲做性| 亚洲天堂男人网| 日躁天天爽爽| 日本αv| baisiav| 泰国AV在线观看| 9精品久久久久| 91狠狠综合久久| 四虎884| 易易A毛视频| 伊色久人大在线| 欧美综合第一页| 久久78| 偷拍亚洲熟女视频播放| 人妻精品一区二区在线| 久久久精品日本一道| 久草视频制服诱惑| 中国黄色特级精品一区二区三区片| 神马影院午夜福利久久久| 亚洲综合色在线| 欧美成人精品一区| 91在线视频观看国产| 亚洲一区二区三区欧美日韩| 久久久久精| 高跟伊人julia ann| 日韩啪啪啪视频| 欧美在线第五页| 欧美天天弄| 天天干人人干天天日97| 日韩三级一区 | 麻豆久久久久久久久丝袜 | 欧美精品久久96人妻无码| 丝袜人妻av一区二区| 成人无码电影在线观看网| 成人三级片无码| 高清不卡国产| 欧美久久人体| 最近的最新的中文字幕视频| 玖玖蜜臀资源网| 色97国产69香蕉| 日韩激情电影中文字幕| 嫩草 我啊~嗯~在线| 欧美啪啪色吧在线| 思思热免费在线视频| 97人人干| 日本久久999| 亚洲欧美情色| av国产无码| 国产有码一区| 97视频播放| 国产AV激情无码久久无码| 视频二区美腿丝袜制服人妻欧美| 熟女高潮合集-永久久久-成人AV| 91一区二区三区蜜桃| 亚洲精品视频在线播放| 全国男人天堂网| 一级做a爰片久久毛片图片| 99色在线| 精精品人妻一区二区三区| 国产探花精品在线| 久久爽爽精品| 色色网91| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 粉嫩久久久极品| 伊人网免费视频| 国产精品一二三区福利| 精品美女少妇一区二区| 黑人精品一区二区在线播放| 天天性射网| 亚洲人妻中文在线视频| 青青草中文-久久青草精品一区二区三 | 亚洲天堂另类美腿| 日韩9区| 中国国国产一级特黄毛片| 人人澡综合涩| 日韩国产不卡在线视频| 97久久精品亚洲中六字幕| 亚洲精品久久久久毛片A片拉屎 | 久久久亚洲| 久久曰曰| 女优大全 - 91n| 香蕉综合网| 色综合1991| 国岛片视频| 日本九九久久99| 少妇3P性爱自拍| 啊啊啊啊啊好舒服视频| 人人做人人妻人人夜视频| 欧美最大综合网| 亚洲福利中文字幕在线| 亚洲骚逼少妇| 女人天堂AV五区在线| 人妻天天爽天天爽三区| 免费人人搞97| 日韩一性一交一A片俄罗斯| 欧美亚洲宗合色性图| 日本一区二区三区四区免费观看| 正在播放国产精品一区| 天天色悠悠激情| 日韩国产成人自拍视频| 欧美草草高清日韩视频| 乱日视频| 日本三级一区二区 在线| 激情四射婷婷六月天| 亚洲偷拍自拍在线视频| 在线日韩日本亚洲国产| 久久久男人的天堂| 日韩人妻资源在线看| 东北毛片| 色香欲天天天天综合色| 99热超碰| 18禁精品网站在线看| 97国产精品在线观看| 麻豆国产尤物AV| 亚洲天堂一区二区久久| 啪啪啪男女亚洲中文字幕99| 粉嫩AV一区夜夜嗨| 在线观看一卡二卡| 操逼国产免费| 国产精品96久久久久久| 国产不卡的视频| 极品丝袜无码| 搡老熟女老女人老熟妇免费视频| 国产精品女aA片爽爽视频| 精品亚洲俞拍视频一区| 久久天天摸| 深夜激情无码| 鸡巴插逼视频| 欧美片第一页| 欧美第二页| 久久久精品久久| 干B视频伊人网| 久草免费在线一区二区| 欧美v亚洲v综合v国产v妖精| 麻豆色约约| 国产午夜视频| 亚洲精品一二三四区| av凤凰久久久| 3d成人精品一区二区| 91熟女丨91老女人| 超碰97人人乐| 国产尤物在线三区| 精品成人女人久久| 岛国在线国产| 好吊色综合| 欧美在线亚洲| 亚洲久久东京热一二三四五区视频| 精精夜夜| 校园春色亚洲欧洲| 亚洲综合影片| 刺激性视频黄页| 久久久久骚| 丝袜大香蕉| 家庭乱伦网站国产| 人妻一区视频| 日本操逼二区| 久久婷婷综合国际产色怕| 黄片免费看的| 成人免费福利在线观看| 欧洲成人性爱视频| 亚洲欧美国产其他二区| 亚洲性爱无码乱伦av| 尤物黄色在线观看网站| 亚洲好看强奸乱伦| 久久久性爱| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 久久夜黄色无码A级大片| 情趣丝袜无码操逼视频| 69少妇一区二区| 熟女激情综合网| 一个人免费视频观看在线WWW| 亚洲欧美日韩免费观看| 超碰日韩人妻| 破苞ⅩXXX性无码动漫无码| 户外裸露刺激视频第一区| 爽爽爽免费视频| 色婷婷蜜臀av| 乱色老一区二区三区的观看方式| 久久久78| 91精品国产91久久青草| 国产精品蜜臀久久久久无码AV| 欧美大波激情xxxx| 免费观看的黄色的网站| 亚洲成人免费在线| 高清不卡国产| 日本顶级天天操狠狠操夜夜操中文字幕| 夜夜操中文字幕| 久久久神马影院| 91亚洲网站| 日韩性爱小视频| 国产精品视频麻豆入口| 色区久久| 欧美少妇第一页| 91精品免费| 欧美综合色图网| 亚洲色婷婷久久91| 国产免费久久久久| 91亚州欧美| 麻豆区久久久久亚| 亚洲欧美小说| 国产激情在线| 91色噜噜狠狠| 超碰欧美COM| 久久精品国内Av熟女高清| 人妻少妇被猛烈进入中| 97人肏| 加勒比AV天堂| 懂色Av| 久久一区二区三区入口| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 97综合| www.99中文字幕| 亚洲激情在线| 少妇久久久免费| 精品无码欧美三级| 九九99久久| 四虎视频在线观看| 亚洲欧美日韩不卡人妻| 免费啪啪啪网站18岁| 亚洲国产精品久久久久婷婷青年| 无卡一区=区| 中文字幕精品免费一区二区| 亚洲AV免费在线| 亚洲色悠悠久久88| 中国AV美女| 综合啪啪| 九九九九九九免费视频| 国产精品日韩在线一区| 国模限制级电影| 国产精品另类一区大香蕉| 色欲av一区二区三区蜜芽| 天天综合色| 久久久91福利姬| 精品欧美А∨无码黑人大荫蒂| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 国产精品一区二区a| 国产亚洲国产超碰| 人妻人久久精品中文字幕| 人妻一二三区| 欧美少妇性乱| 久久久亚洲Av| 亚洲淫色网中文| 伊人一级免费黄片| 夜夜操91744565| 97精| 欧美亚洲20p| 中文字幕一区二区视频在线观看| 95精品在线| 婷婷涩嫩草鲁丝久久午夜精品| 91精品丝袜久久久久久| 国产综合久| 中文字幕在线免费观看视频| 欧美姓爱综合网| 人人操AV| 亚洲黄片免费在线播放| 诱惑人妻欧美一区在线播放| 日产欧美电影一区二区三区| 欧美图片色综合| 美女裸体无遮挡永久免费观看网站| 五月丁香在线| 起碰97| 色狠狠综合噜一二三区| 无码一区二区精品视频久久久春药| 黄色高清久久无码依人| 亚欧成人综合影院| 精品大全99999| 久久99精品视频| 五月天伊人网| 国产精品2020| 黄色性爱网网| 1769成人国产精品视频| 欧美熟女妇同| 欧美综合区| 校园春色亚洲色图| 久久久久久久久久久久久久久乱码| 99亚洲国产精品色一区二区三区| 日韩图区| 久久久一区二区三区四曲免费听| 久久av无码| 久久精品视| 九月丁香婷婷| 国产v片在线免费观看| 国产精品不卡一区二区三区| 柠檬AV导航| 韩国免费播放一级毛片| 操死我了啊啊啊| 丁香五月激情网| 欧美A片中文字幕| 91劲爆| 操狠狠| 国产99精品一区二区三区免费| 超碰在线1234区| 天天色悠悠激情| 国产女人极品高潮毛片| 91 综合网| 99re69| 99少妇| 五月丁香黄色网| 久啪| 白嫩嫩一区| 呻吟 欧美 日本 中出| 免费人成毛片乱码| 777AV电影| 婷婷五月花| 久久丁香久草综合网| 日韩人妻丝袜美腿中文| 亚洲性综合9| 亚洲一欧洲中文字幕在线| 天美传媒AV在线播放| 龙兴卡官方查询| 好湿好紧好爽 视频| 亚洲黄色网址视频| 91被操| 欧美性夜| 欧美啪啪啪91| 91熟女.com| 啊啊啊啊啊好大好舒服想要| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 国内毛片热久久思思热| 91黄站| 欧美在线亚洲| 怡红院亚洲怡春院av| 这里是精品| 99精品视频在线观看| 久操视频资源站公开| 男人女人18禁片免费看网站| 色臀AV| 一区二区三区成人高清视频| 男人天堂欧美| 九九九九AV| 九九久久国产精品怡红院| 97色涩| 亚洲国产一级中文综合久久天堂在线免费观看 | 99热这里只有精| 日欧操屄视频| 日韩中文字幕视频在线观看| 国产色精品午夜大片| 国产精品嫩草久久久久| 男女性感激情网站| 国产福利在线视频网站| 凹凸久久人人| 无码乱人伦中文视频| 天天91~综合入口| 国产强奸乱伦xd| 亚洲一区日韩精品| 国产福利电影| 亚洲国产成人精品999| 黄片www视频免费| 中文字幕精品探花视频| 国产精品人妻无码久久久互動交流| 91人人| 84YTCOM性无码| 国产精品99精品视频网站| 韩国三级一线观看久| 久久性爱视频免费看| 国产精品国产亚洲区艳妇糸列| 欧美九九九| 友优传媒精品在线一区二区| 清纯唯美亚洲| 亚洲精品国产熟女| 久久久久国产一区二| 亚洲久热| 中文字幕88av在线| 不卡六六在线91| 亚洲一区二区av| 欧美国产精品久久九九| 夜夜天天噜狠狠爱2021| 九九黄色网| 少妇被玩视频二三区| 欧亚成人在线视频| 一卡二卡三卡| 国产精品第一区第一页| 91操人| 午夜天堂精品久久久久91| 东北熟女91| 久久精品国产亚洲妲己影视| 国产亚州精品美女久久久免费| 日本三级中国三级99人妇网站| av在线人气| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 久久一区无码| 9999久久久久| www国产无码| 艹少妇网站| 久妇网| 国产精品色色| 美女黄色一级A视频| 青青操在线亚洲视频观看欧美在线 | 激情五月激情综合网| 麻豆福利视频导航| 亚洲无码日韩电影| 成人激情无码在线视频| 不卡在线一区,精品一区二区三区中| 91熟女综合| 大香蕉久久| 亚洲精品aa久久伊人| 嫩草 人人网精品| 天堂性色| 亚洲AV成人无码久久精品播放| 欧美色九九九| 女生久久网| 99国产人成精品| 操操操五月天婷婷丁香影院| 99999精品| 欧美第一页| 园内精品自拍视频在线播放| 超碰AV在线| 无码99| 欧美男人一区| 亚洲91亚洲| 色综合99999| 国产原创精品| 欧美人妻制服| 人人干人人操人人..com| www鬼畜国产男人的天堂| 深夜激情 | 91丨人妻丨国产丨丝袜| 九九亚洲视频| 国产国产亚洲一二三久久| 人妻少妇被猛烈进入中| 欧美 青青草| 国产精品视频内谢女人| 中文字幕五区| 校园春色AV天堂| 亚洲第一在线视频| 97视频在线免费| 韩国三级理论在线| av草草在线电影| 人人操,操人人| 九九九九一级| 日韩激情啪啪| 亚洲天在线| 综合色图区| 亚洲精品电影| 欧美成人9797| 东京热男人的天堂网| 天天躁日日躁AAA片李宗瑞| 一区二区首页| 乱性AV| 色一射色一射| 老外又粗又长一晚做五次| 亚洲成人一二三区| 9国产超碰| 国产九区| 欧美成人一级免费电影| 不卡六六在线91| 亚洲综合色婷婷| 国产精品一区二区三区四区五区| 射 色综合| 亚洲精品国语在线播放| 美美91成人国产精品欧美精品久久久久久久| 国产美女口爆吞精视频| 色综合20p| 蜜乳av首页| 九九九九久久久久| 亚射在线| 一区二区三区视频在线观看免费| 极品少妇久久久| 国产夫妻一区二区| 盗摄女人妻在线| 欧美同性恋 的搜索结果 - 91n| 久久乐| 美国黄片aaa| 台湾佬中文娱乐网久久久久久久久久com| 国产福利影视| 一级一性爱免费视频| 噜噜噜久久亚洲精品色情| 日韩AV无码中文一区二区| 91精品人妻一区二区三区蜜臀| 91人妻丝袜无码| 操逼片中文| 欧美91在线| daxiangjiao你懂的| 亚洲欧美大| 18禁精品网站在线看| 97超碰色情| 后入式在线免费观看60秒| 99久久婷婷国产综合| 人人人摸人人| 午夜啊啊| 日韩中文字幕宗合在线| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 欧美制服网站美腿丝袜| 人人操人人摸人人看人人干| 精品亚洲天堂| 综合天天。| 久久一区,青青青青草视频在线播放| 狠狠五月天| 99久久99九九99九九九| 91+欧美| 极品白嫩美女白浆成人福利在线看| 美女黄网| 后入人妻无码| 亚洲色图 综合| 香蕉一区二区三区在线视频| 717影院理论午夜伦八戒| 国产家庭乱伦表演| 亚洲同性aV综合| 色天堂在线观看| 欧美中文字幕一区 | 97超碰免费人人性爱| 花野真衣| 伊人AAA| 亚欧性爱在线无码| 国产综合网站在线播放 | 亚洲欧美综合网| 欧美大色交| 欧美日本天堂| 97超碰天天爱天天爱| 夜夜爽77777| 日韩无码成人电影| 乱伦3P视频| 久久久久亚洲?V片无码V| a亚洲欧美色欲| 91操熟女| 欧美性xxxxx狂欢| 一区二区三区高清| 天天操天天舔| 91情色在线| 91女日逼| 99re超碰| 国产午夜在线观看| 91在线视频国产网站| 丝袜美腿亚洲| TS人妖另类精品视频系列| 久草免费在线视频| 999999精品| 蜜臀久久99精品久久久久| 久久精品熟妇丰满人妻99| 国产精品欧美在线观看 | 大香蕉久操| 天天干少妇| 91 在线亚洲| 丰满少妇一区二区三区四区观看| 国产91影院| 男插女青青影院| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 日韩AV色图| 粉嫩AV一区夜夜嗨| 一二视频神马久久传媒| 偷拍亚洲情色| 成人性生活高清视频在线播放| 亚洲国产熟妇综合色专区| 一起草高清无码| 国产第12页| 久久亚洲AV成人精品无码| 国产激情片在线观看| 丁香五月成人| 麻豆乱码久久精| 亚洲永久永久永久永久一级一级一级精品 | www.夜夜操| 丰满人妻一区二区三区四| 2025亚洲男人天堂| 国产女人9999| 久热最新在线杭州| 1级黄色夫妻对换性交免费看| 美国一区二区三区视频| 亚洲一区日韩| sss视频华人在线| AV色五月天| 99re98| 婷婷去俺也去六月色| 激情五月天视频| 日韩精彩免费| 色悠久久久av| 一区二区三区一亚洲中文字幕、综合区灬| 神马久久久久久久| 无色无码| 中美日韩毛片| 国产嫩草精品A88AV| 大二网站亚洲| 97啪啪| 91网站视频在线观看| 欧美一区二区| 久久黄色视频一区二区三区| 91精品久久久久久综合五月天| 九九英色视频| 97Ai亚洲| 伊人五月天激情| 九九九综合精品| 啊啊啊 在线| 日韩性爱1级片视频| 亚洲不卡AV在线| 亚洲清纯唯美| 亚洲男人久久综合天堂| 91久久久久久久久18| 日日黄色三级网站| 少妇久久久久久久久| 99精品成人免费看| 美女AV一区二区| 久久久久久久精| 人妻熟女av国产网站| 超碰中文字幕人妻草一区| 在线不欧美| 色区久久| 久久风骚城市| www.av在线视频| 日本精品人妻少妇一区二区| 97伊人超碰| HEYZO高无码国产精品227| 物尤视频一区二区| 欧美性爱第1 页| 玖玖在线视频| 亚洲一区中文字幕| 久久精品国产72国产精品福利| 三级网站超变态精品| 操逼操逼操| 殴美牲| 欧美97爱| 精品久久久久,69国产成人精| 少妇三p| 丁香五月偷拍| 97色香蕉| 亚洲情色电影网| 国产精品自拍视频| 加勒比在线视频| 亚洲图片欧美色| 好吊色在线观看| 色婷婷一区二区三区久久| 少妇超碰在线| 91亚洲在线| 久久国色天香香蕉| 2023天天操夜夜操| 99热导航| 中文字幕日韩人妻视频一区二区三区| 青青草国产盗摄一二三区| 在线观看高清AV| 日韩精品三级片长长久久| 人妻中文字幕精品无码| 久草精品视频| 女人被添高潮免费视频| 超碰导航97| 一二三四日本视频高清| 日本在线观看网址| 超碰97玖玖爱| 国产色精品午夜大片| 超碰97综合网| 成人综合色网| AV天堂国产| 人人九九精| 五月婷婷六月色| 免费AV中文网在线观看| 中文字幕人妻色偷偷久久皮 | 久久人妇| 97人人操人人干| 久久久久亚洲Av无码专区老牛影视 | 一本一道久久综合久久| 五月天激情网站| 国产成人亚洲精品无码最新在线| 亚洲视频小说| 9l视频自拍9l九色成人| 好色综合| 伊人精品国产| 青草视频在线看看看看看看看看看| 国产亚洲色婷婷久久99精品91 - 百度| 神马久久久久久久久久久久| 亚洲欧美精品福利在线| 亚洲天天综合| 久久久久久久久国产| 欧美亚洲日韩人妻在线观看| 久久久久久久伊人精品| 婷婷10月天青娱乐| 人人爽夜夜操| 国产精品成人无码av| 91在线免费精品视频| 亚洲青青草| 国产天天骚| 一区三区啪啪| 狠狠操,使劲操| 亚春色色| 美日韩一二三区| 午夜精品久久久久久久男人的天堂| 精品国产91内射久久| 亚洲资源一区| 色香伊人| 九九英色视频| 色五月婷婷色| 可以在线观看的黄色网址| 亚洲se91| 另类图片五月天| 国产精品高潮久久AV| 亚洲nv男人的天堂网| 操逼视频亚洲| 午夜福利1区2区3区| 麻豆91熟妇人妻中文字幕茄子| 亚洲Av噜噜一区二区三区妖精| 蜜桃臀av在线观看| 91精品无码人妻系列| 中文字幕一区二区三区字幕| 天天综合网~91| 黄久久| 99后入| 青青草成人视频在线观看二区| 中日无幕一二三四区| 任你艹| 国产精品青草综合久久| 一区操逼日比视频| 午夜a成v人电影| 日本色色色网站免费看不卡| 麻豆成人AV| 久久久久99精品成人片蜜臀| 四虎免费视频| 操死我了啊啊啊| 久久精品国产精品| 成人在线永久| 欧美少妇性乱| 夜夜国产一区| 丝袜视频一区二区在线播放国产中文| 干B视频伊人网| 丝袜狠狠草尤物人妻av91| 色噜噜综合在线| 夜夜肏2021| 六六久久日韩不卡| 久久久一级| 一品道视频一区二区三区| 香蕉综合网| 亚洲人人操| 精品久久久无码| 天美国产三级传媒| 大香蕉在线视频15| 亚洲另类久操网| 蜜桃视频精品一区二区三区| 人妻密肉在线观看| 口爆欧美91| 超碰97色色| 欧亚成人在线视频| 91AV天美在线视频| 综合情欲网| 丝袜加勒比| 性色综合网| 99精品国产户外露出| 男女啪啪啪18禁网站| 日欧操屄| 国产精品蜜乳AV| 大香蕉丝袜一级片| 精品区9| 天天做天天爱天天爽AV| 区二区亚洲婷| 中文字幕二区| 欧美 亚洲精品首页| 国内伊人久久久久久网站视频| 九九综合九九综合| 国产野战露脸在线播放| 國產尤物AV尤物在線觀看| 日韩中文字幕视频在线观看| 免费夜夜爱黄色视频毛片| 亚洲熟女国产综合另类| 国产精品久久久777| 97资源站久久| 精品久久久久久久| 亚洲成aⅴ人片不卡无码| 约操熟妇| 久久黄黄| 97伪v| 亚洲 欧美 第一页 | 婷婷综合五月天| 天天做天天爱天天爽AV| 蜜臀av网址| 91伊人| 欧美色性爱| 1024久久高清视频| 人妻激情在线视频| 超碰色老头| 人妻 丝袜美腿 中文字幕| 另类天堂| 91欧美另类| 四虎精品一区二区| 日韩性爱人人爱人人操| 久久久久免费少妇| 九九自拍伦理| 欧美综合第一页| 性在久久久久久| 成年女人一区| 青草伊人久久| 中文字幕一区二区三区字幕| 国产 码在线成人网站| 亚洲少妇激情视频| 男人的天堂va在线| 色色香蕉| 亚洲人在线| 91性片| 国产女生在线| 综合色拍| 精品一区二区三区国产| 日本操BAV| 啊啊啊快操我视频| 色图综合网| 色婷婷色99国产综合精品| 九九九九九九九九九五码| 91丨人妻丨国产丨丝袜| 中文字幕av乱伦| 久久少妇人妻| 久久久久久久久久久免费精品| 伊人成人中文字幕久久网| 亚洲精品国产熟女久久久| 国产丝袜欧美在线视频| 亚洲天堂,男人| 亚洲欧洲日韩中文字幕一区| 东京热男人的天堂精品| 一区二区 日韩 欧美 国产 传媒| 久久啊啊啊| 日本久久精品| 精品制服美女中文一区二区三区| 人妻丰满熟妇一区二区三| 91亚洲青青草原精品1区| 色妺妺AⅤ| 九九久久99| 日曰骚久久精品| 天天色综亚洲91污| 青草影院内射高潮| 一线黄色免费性爱片| 西西美女视频网| 1级黄色夫妻对换性交免费看| 日本一二区免费| a级免费在线观看| 97精品国产97久久久久久免费| 欧美色图电影| 91美女视频直播| 欧美人妻少妇| 国产精品毛片| 国产不卡免费在线视频| 九九九九九九成人| 综合网97| 在线a v| 欧美日韩青操| 欧美人妻久久精品二区三区| 中文字幕78| 亚洲精品xxx| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 精品二区三四区五电影| 日本性爱少妇| 密臀国产在线| 色婷婷久久| 啊啊啊草死我| 夜夜嗨av午夜成人| 国产特级毛片AAAAAA高潮流水 | 黑人猛交| 亚洲日韩青青草色月| 性暴力欧美猛交在线直播| 中文字幕97色| 国产一区二区欧美日本| 亚洲国产97在线精品一区| 九九性视频| 男女无套 免费网站| 久久成年精品| 黄片com.| 夫妻日逼| caopeng97人妻| 黄片com.| 久久精品国产亚洲av水密被窝| 日韩乱码Av| 性爱视频无打码在线观看| 欧美在线综合| 超碰亚洲97| 国产中文大片资源中文字幕| 夜夜高潮夜夜爽国产伦精品| 内射白嫩美女| 国产亚洲精品农村妇女| 99热精品在线观看| 中文字幕一区二区三区蜜臀| 凹凸久久人人| 91爱| 试看60秒| 中文字幕二区日韩天堂| 国产日韩欧美中文在线播放| 97资源站国产精品| 色老汉色| 99热99色| 天天摸夜夜添无码小视频| 欧美综合色综合| 久久久久久中文字幕中文字幕最新| 欧美亚洲一级在线观看| 97精品一区二区视频在线观看| 91ise欧美| 1024人妻熟女一区二区三区| 乱欲视频| 熟女一区二区三区四区| 日日夜夜骚| 曰韩av中文字幕专区| 一个色导综合| 女人香蕉久久毛毛片精品| 97色视频在线| 亚洲人成网www| 1769一区二区| 日韩熟女操逼| 久久久精精精| 午夜精品久久久99热蜜桃的功能特点| 亚洲色人妻综合| 色综合网1| 人妻81p| 欧美成熟性爱精品| 亚洲图片91| wuyechaopeng| 欧美色天堂网在线视频| 日本天天吊| 中文字幕成人| 91天堂色男人的天堂| 五码视频在线观看| 东京热大香蕉| 91综合天天| 青青草华人在线欧美在线| 一级黄色性爱A级片| 日日干夜夜干| Blackedraw视频一区二区| 乱伦熟女专区| 精品人妻一区二区三区日产| 东京热伊久| 美女网站黄页| 97在线观看免费视频l| 日韩成人午夜精品久久高潮| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 男人的天堂在线2| 欧美精品四区| www.狠狠操| 婷婷色在线| 日本色色色| 婷婷五月天影院| 丰满人妻大屁一区二区| 国产欧美日韩精品中文| 青娱乐国产精品| 亚洲免费成人在线高清无码视频| 超碰97人妻免费在线| 思思久热在线精品66| 久久只有精品| 99热| 1769成人国产精品视频| 天美精品原创av片国产| 美女久久久| 国产精品美女| 黄色免费一级在线毛片| 国产高清视频无码在线| 性饥渴少妇av无码毛片| 成人免费毛片| 丰满人妻一区二区三区四区| 手机在线A片| 永久免费发布性爱网| 97在线精品观看视频| 亚洲国产尤物yw在线观看| 中文字幕亚洲热播人妻| 日韩精品黄片免费观看| 亚洲日韩成人性爱视频| 久久98|