亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(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ǔ)貨、哪些該清倉全部靠店長拍腦袋總部的采購Excel表看得眼睛都快瞎了。他們要的其實(shí)就一句話——把SKU賣得動(dòng)賣不動(dòng)這事跟庫存壓了多少貨這堆數(shù)變成一張手機(jī)上看一眼就明白的圖。而恰好那陣子我剛把一套Flutter寫的App適配到鴻蒙上跑通兩邊需求撞到一起就有了這個(gè)智慧零售場景下的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的銷量趨勢、動(dòng)銷頻次、庫存水位是多少第二層是“算得準(zhǔn)”把動(dòng)銷數(shù)據(jù)和庫存數(shù)據(jù)映射成一個(gè)可量化的健康度分?jǐn)?shù)而不是只靠“感覺賣得不錯(cuò)”來判斷第三層是“跟得上”店里店長、總部采購、運(yùn)營總監(jiān)各自打開同一個(gè)看板看到的是同一套邏輯得出的結(jié)論。跟我之前做過的純報(bào)表項(xiàng)目不太一樣這個(gè)項(xiàng)目的難點(diǎn)在于數(shù)據(jù)口徑的統(tǒng)一和指標(biāo)模型的可解釋性。你直接甩一個(gè)綜合健康度分?jǐn)?shù)給店長他不信你得能拆出這個(gè)分?jǐn)?shù)是怎么來的、由哪幾個(gè)指標(biāo)組成、為什么這個(gè)周顯示黃色預(yù)警。所以架構(gòu)上從一開始就不是做一個(gè)大而全的后臺(tái)而是把核心指標(biāo)的計(jì)算做成了可配置、可拆解的服務(wù)。技術(shù)側(cè)還有個(gè)隱性需求——客戶的店員手里的設(shè)備五花八門有安卓、有蘋果還有陸續(xù)換上的國產(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官方對鴻蒙的支持走的是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)銷”這種對時(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ì)的原因很簡單——業(yè)務(wù)人員在不同端上看到的數(shù)字必須完全一致如果App端也做一套打折邏輯Debug的時(shí)候會(huì)瘋掉。2. 核心業(yè)務(wù)模型拆解SKU動(dòng)銷分析與庫存健康度量化2.1 動(dòng)銷脈動(dòng)從訂單流水到趨勢信號(hào)如果說“動(dòng)銷”這個(gè)詞聽起來有點(diǎn)玄那就用最直白的話解釋動(dòng)銷就是商品真的被賣出去換成了錢而不是躺在倉庫里吃灰。一個(gè)SKU的動(dòng)銷分析不能只看總銷售額更要看它是均勻地賣還是在某幾次促銷里集中爆發(fā)。我在這套系統(tǒng)里引入了幾個(gè)關(guān)鍵指標(biāo)第一個(gè)是動(dòng)銷率公式很簡單有真實(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)這三條信息疊加起來才談得上對庫存做健康度判斷。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é)性商品按對應(yīng)季節(jié)壓縮或放寬。得分邏輯是偏離合理區(qū)間越遠(yuǎn)扣分越多不管是積壓還是空轉(zhuǎn)都算不健康。庫齡得分針對的是“沉睡庫存”按入庫時(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ù)測銷量來單獨(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)真正在店里值班的店長沒空研究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)庫齡過長、周轉(zhuǎn)過慢、覆蓋過窄、建議動(dòng)作補(bǔ)貨、調(diào)撥、促銷、清倉。實(shí)際操作中我發(fā)現(xiàn)店鋪店長最關(guān)心的不是列表本身而是“今天要做的事”——所以這個(gè)預(yù)警列表直接接入了任務(wù)流店長點(diǎn)“確認(rèn)處理”后會(huì)生成一條事務(wù)記錄追蹤到處理結(jié)果。顏色體系上我用四色狀態(tài)來區(qū)分健康等級(jí)綠色表示健康、黃色表示預(yù)警、橙色表示風(fēng)險(xiǎn)、紅色表示嚴(yá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 工程初始化與鴻蒙化的正確姿勢Flutter要跑在鴻蒙上市面上的資料很亂我實(shí)測下來最穩(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)“明明先注冊卻是后執(zhí)行”的錯(cuò)覺。在動(dòng)銷看板這種加載遠(yuǎn)程指標(biāo)數(shù)據(jù)的場景我建議所有接口請求統(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的場景——比如嵌入PDF報(bào)表、播放營銷視頻這類。Flutter在鴻蒙上渲染本身靠Impeller新版或Skia舊版而PlatformView的嵌入走的是TextureLayer hybrid合成。實(shí)測下來少量、小區(qū)域的PlatformView比如單張商品圖、簡短視頻沒什么問題但如果在列表里快速滑動(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è)邊緣左滑手勢是返回Flutter側(cè)GestureDetector如果攔了水平滑動(dòng)就會(huì)跟系統(tǒng)返回手勢沖突。項(xiàng)目里動(dòng)銷矩陣圖需要橫向拖拽查看就必須在GestureDetector上設(shè)置gestureSettings來協(xié)調(diào)。這點(diǎn)剛上線時(shí)被測試同學(xué)反復(fù)提bug后來在detail頁禁用了邊緣返回只保留頂部返回按鈕才消停。4. 動(dòng)銷與健康度看板的功能設(shè)計(jì)與實(shí)操要點(diǎn)4.1 SKU熱力矩陣一張圖看懂全場動(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)格再對每個(gè)網(wǎng)格內(nèi)的氣泡做碰撞避讓防止氣泡重疊。這步避讓算法用的是最簡單的斥力迭代每幀只跑一輪在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%”門店店長不是數(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ù)與品類基線的偏移比例不是看絕對值而是看相對差異第二維是動(dòng)銷率的變化方向如果一個(gè)SKU動(dòng)銷率連續(xù)七天上升即使絕對庫存偏高也降到黃色預(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)鏈周期長庫存健康度分?jǐn)?shù)低但讓門店清倉是做不到的因?yàn)橄聜€(gè)月還要賣。這種SKU預(yù)警排到后面去把處理精力聚焦在“現(xiàn)在就能處理”的呆滯庫存上。這個(gè)加權(quán)邏輯對項(xiàng)目落地起到非常關(guān)鍵的作用建議做類似系統(tǒng)的人一定保留這個(gè)思路。4.3 Flutter下的圖表與大數(shù)據(jù)量性能優(yōu)化圖表渲染的性能優(yōu)化是Flutter做數(shù)據(jù)密集型應(yīng)用繞不開的大山。動(dòng)銷趨勢這里我一開始直接用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)存長時(shí)間使用后圖片緩存暴增。處理方案是設(shè)置ImageCache最大字節(jié)數(shù)為80MB并且每次從后臺(tái)切回來時(shí)清理不可見Tab的圖片緩存。這個(gè)數(shù)值不是隨便設(shè)的80MB對于中端鴻蒙設(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對象而不是裸拋異常。第二個(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表為主軟件渲染對性能影響很小。第四個(gè)是Future回調(diào)時(shí)序問題有的團(tuán)隊(duì)在頁面A發(fā)起接口請求后在.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ù)對不上的夜晚業(yè)務(wù)部門對數(shù)據(jù)看板最敏感的不是功能有沒有而是昨天前臺(tái)顯示的數(shù)字跟財(cái)務(wù)報(bào)表對不上。這里發(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í)核對線下退款單保證“動(dòng)銷”對應(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ī)不對或沒有復(fù)用預(yù)熱引擎實(shí)例在UIAbility的onCreate里預(yù)加載引擎并復(fù)用同一FlutterEngine實(shí)例動(dòng)銷看板圖表白屏或閃退Impeller渲染不兼容切換至Skia兼容模式或通過命令行臨時(shí)禁用Impeller商品詳情頁返回手勢與圖表拖拽沖突系統(tǒng)邊緣返回手勢攔截在圖表所在頁面禁用返回手勢統(tǒng)一用頂部按鈕返回更新Dart代碼后鴻蒙包不生效忘記重新執(zhí)行flutter build hap先build hap再在DevEco里運(yùn)行不能直接熱重載到鴻蒙殼工程庫存預(yù)警推送收不到鴻蒙通知未申請鴻蒙通知權(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秒以上才看到首幀對比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里先聲明代碼里申請會(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)證的版本組合升版本前先在測試機(jī)上完整跑一遍鴻蒙鏈路。結(jié)束前最后一條實(shí)用經(jīng)驗(yàn)這個(gè)項(xiàng)目上線跑了一個(gè)半月后我最大的體會(huì)是技術(shù)選型Flutter鴻蒙其實(shí)只占三成精力剩下七成都在跟數(shù)據(jù)模型和業(yè)務(wù)口徑斗智斗勇。再漂亮的控件也頂不住業(yè)務(wù)一聲“這個(gè)數(shù)不對”的投訴。所以如果你也要做類似“動(dòng)銷庫存健康度”的系統(tǒng)我強(qiáng)烈建議把第2章的指標(biāo)模型設(shè)計(jì)部分拉長討論周期先讓業(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ù)去對齊既保證了指標(biāo)深度又保護(hù)了接口的響應(yīng)速度。如果你正打算折騰Flutter上鴻蒙別怕踩坑先把一個(gè)最簡Shell跑通再把復(fù)雜業(yè)務(wù)一層層加進(jìn)去。這大概是我在這次項(xiàng)目里最想強(qiáng)調(diào)的一句人話了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
无码在线亚洲| 亚洲国产综合久久久性感熟妇| 超碰9 7女人| 91精品久久久久久综合五月天| 美日韩男女操屄视频| 蜜桃色院一区久久 | 69麻豆天美| 国产欧美成人精品| 久久9亚洲| 丁香五月自拍| 国产日韩欧美亚洲精品95| 噜噜噜噜天天狠狠| 91精品操美女| 久热久| 999岛国大片| 黄色免费网| 蜜臀久久99精品久久久久久酒店 | 精品一区二区三区国产| 性欧美| 色天堂综合| 香蕉一区二区三区在线视频 | 99精品无码| 91丝袜激情在线| 在线女人91| 能看的AV| 亚洲综合五月天| 人妻 丝袜美腿 中文字幕| 少妇被c 黄 免费观看| 欧美色吧综合| 国产女主播视频在线观看| 国产综合久久久鬼色| 国产欧美日韩在线观看麻豆传媒公司| 日韩性爱电影一区| 人成午夜免费大片| 图片区小说区| 青青草天天亲夜夜操网| 99超级碰免费视频| 天天干天天干天天| 亚洲欧洲久久天堂| 婷婷久草| 天美传媒婬乱在| 超碰诱惑| 午夜男女爽爽大片免费观看| 精品国模无码| 上海一级黄片| 深爱伊人影院| 91成人18| 女性喷水高潮在线观看| 人人操人人摸人人看人人插| 亚洲少妇综合在线播放| 天天综合网日韩7799| 自拍偷拍亚洲熟女妇人精品| 久久久久亚洲av综合波多野制衣| 日韩中文字幕精品一区在线| 九九干| aⅴ日韩成人电影av在线免费看av大全| 久久亚洲AV成人精品无码| 免费亚洲黄色视频在线观看| 99热这里只有精品地址| 防屏蔽在线视频| 久久发布国产伦子伦精品| 97色97好| 午夜啊啊| 天天操夜夜操狠很操| 日本东京热加勒比久久| 91neishe| 欧美少妇色综合| 天天天操天天天爱| 无码人妻1727| 中国大陆国产高清AⅤ毛片| 欧美另类综合久久| 午夜精品久久久久久久男人的天堂 | 精品一久久久| 日韩成人大片在线观看| 人人乐大香蕉| av东京热男人的天堂| 曰本特级特黄特色黄色A级网站高清在线免费看 | 日本精品国产视频| 91精品操美女| 亚川综合视频| 日日夜夜狠狠| 91艹| AAAA欧美日韩| 久久久久成人蜜桃精品| 四虎影视永久在线观看精品免费网站| 精品人妻一区二区免费看| 久久久久九九九九| 99热最新网址| 久久综合久色欧美综合狠狠| dy888午夜老子影视达达兔| 日日操免费视频| 女人喷水视频在线观看| 九九热免费在线国产视频伊人五月| 中文字幕久久亚州无码| 欧美一级久久久久久久大片动画| 久久久久久午夜男人的天堂| 欧美淫乱视频| 日韩性爱1级片视频| 国产精品91一样| 96精品一区| 家庭乱伦国产精品| 香蕉在线一区二区三区| 无码二级三级| 99精品成人免费看| 亚洲天堂电影网| 一级性爱视频免费观看| 欧美少妇高潮久久91| 黄页网站成人免费| 动漫片子网站3黄| 婷婷精品国产欧美精品亚洲人人爽| 97人人夜| 丁香六月激情| 玖玖爱影院| 亚洲精品成人激情在线| 久欲AV| 人人弄人人摸| 中文字幕少妇色 | 国产无码精品成人| 无码人妻丰满熟妇奶水区毛片| 97在线/亚洲| 91 亚洲 欧美 日韩 国产 综合| 大香蕉AV丝袜| 日韩欧美加勒比| 五月婷婷六月丁香| 七月婷婷综合| 丝袜夫妻自拍| 国内偷拍精品一区二区| 日韩欧美麻豆大片| av在线播放国产一区| 青青草自拍视频在线播放| 伊色久人大在线| 91Chinese在线| 国产欧美日产一区二区三区 - 国产欧美日 | 午夜欧美神马久久久久| 你懂的在线观看区国产| 色五月69夫妻| 国产黄色小视频网站| 久热久一区二区三区| 少妇高潮九九九九| 日本中文字幕一区| 97最新在线播放视频| 欧美日韩国产精品久久色婷婷| 凹凸久久人人| 色九九久九九| 97国产天堂岛| 综合网色| 青娱乐999| 欧美少妇色综合| 强奸乱伦资源| 97日亚洲欧美| 亚洲综合有码| 一区二区三区四区姦女| 99在线视频播放| 国产探花精品在线| 91天天| 国产白丝在线| 91一起操| 国产综合永久精品日韩鬼片| 日本一级真人黄色性爱视频| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 国产白嫩精品久久| 亚欧无码在线| 免费国产视频| 操淫穴亚洲五月丁香| 这里都是精品在线观看| 午夜男女爽爽爽影院视频| 天综合网欧美| av天堂影视中文在字幕在线中文| 操逼天美3区| 国产尤物在线三区| 蜜臀人妻少妇久久在线观看| 国产精品一区二区黄片| 国产欧美在线观看免费观看| 蜜臀aV午夜一区二区三区| 婷色五月天| 夜夜影视四色| 人妻天天爽天天爽三区| 欧美春色| 亚洲天堂一二| 国产黄色在线播放观看| 天躁夜夜躁2021| 国产极品久久久| 91狠狠综合久久| 少妇3P性爱自拍| 久久久久亚洲Av无码专区老牛影视 | 丝袜加勒比| 免费网站观看www在线观| 色噜噜狠狠色综合日日| 国语国产操逼伊人AV网| 欧美黄色大片在线观看 | 超碰 97国产熟女| 亚洲综合精品国产一区| 性暴力欧美猛交在线直播| 久久精品店| 热热色青青草| 情色五月天就去干| 91女优在线观看| 伊人 俄罗斯 a v| 91亚洲不卡一区| 91 刺激在线| 久久久久国产一区二| 国产女人高潮嗷嗷嗷叫小说| 岛国网址国产| 天天综合网日韩7799| 日韩精品资源专区二区| 久久精品国产亚洲AV先锋| 国色综合天| 久久超碰天天| 国产无码精品成人| 26UUU欧美日本| 老熟女乱伦片| 日韩AV无码网站| 熟女激情综合网| 亚洲高潮少妇| 精品一区二区三区最新| 91蜜臀在线久久久久| 99色色| 欧美成va视频网站| 日韩av不卡在线观看| 影音先锋少妇| 人人操人人操草草| 亚洲天堂人人妻| 青青草视频爽一爽| 天天欧美色| 调教熟妇 久久久久久| 99激情| 成人免费看吃奶视频网站| av爱爱爱| 国产精品亚洲一级av第二区| 天天操夜夜嗨| 久久婷色| 色婷五月天| 色婷婷导航| 色欧美天天| 人妻AV 中文字幕的| 中文字幕在线日亚州9| 一级A啪啪啪啪| 天天插天天操| 成 人 A V免费视频在线观看| 国产精品肉丝自拍| 蜜臀久久99精品久久久| 久久亚洲熟妇在线视频| 老熟女中文字幕高清| 蜜臀av网址| 中文字幕激情小说| 免费?级毛片无码?∨蜜芽试看| 国产一区二区免费福利片| 欧美日韩午夜精品一区二区三区| 乱伦日本中文自拍| 欧美人妻久久精品二区三区| 日本福利二区视频| 97久久资源| 午夜性| 欧美人妻一区二区| 日本不卡二区| 亚洲精品一二区| 色爱三区| av操操不卡| 亚洲日韩东京热一区| 91欧美色| 国产麻豆一级精品视频| 免费人人搞97| 欧美AB在线| 亚洲中文一区二区三区| 香蕉综合网| 大香蕉琪琪日本女优不卡| 综合熟妇一区二区三区| 日韩性爱人人爱人人操| 99精品久久| 97玖玖超碰| 四虎免费在线播放| 青娱乐久久艹| AV老汉| 99精品九九九九九九| 久久精品人妻一区| 人妻中文在线| 综合久久99亚洲人妻中文在线| 黑人精品欧美一区二区蜜桃| 草草影院日本第一页| 91啪啪视频| 国产亚洲色婷婷99精品91| 欧美劲爆第一页| 伊人精品久久网站| 久久一二三级一一一| 色悠悠伊人网五月天| 富女玩鸭子一级毛片| 74成人在线| 丝袜喷水在线| 欧美少妇色图| 婷婷综合在线| 亚洲性综合11| 综合五月婷婷亚洲一区| 97人人干| 亚州欧美色图| 亚洲精品丝袜-不卡成人免费…… 久久久久成人蜜桃精品 | 天天做天天爽| 亚洲图片欧美另类综合免费视频大大香| 国产极品馒头逼| 4399成人黄A片| 999熟女精品| 无码高清操逼网址| 亚洲狼狼干综合1| 少妇一区二区三区| 日韩精品99999| 一区二区不卡视| 我爱大香蕉| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 破苞ⅩXXX性无码动漫无码| 中文字幕精品一区二区精品| 男人久久天堂| 天天干一区二区| 日韩有码 一区二区三区| 夜夜一区二区| 亚州性色| 久久久久久亚洲精品不卡人乳| 欧美色图 色综合图| 成人精品在线| 热热色91| 丁香五月综合| 78m成人视线| 91neishe| 国产精品不卡av免费在线观看| 麻豆天美国美国产| 蜜臀久久99精品久久久久久婷婷| 欧美精品另类人妖xxxx| 免费看A片毛毛片在线播| 强奸熟女一区二区三区| 亚洲第一狼人丝袜美女另类| 久久嫩草国产成人一区| 国产成年精品高清在线观看91| 中文字幕在线免费观看视频| 天美传媒AV在线| 亚洲国产欧美日韩人妻日中文| 欧美在线电影| 人人喜人人妻| 久久久亚洲欧美综合| 久草线上视频免费看| 麻豆天美国美国产AV| 国产91精品在线免费| 91夜色chaopeng| 日韩精品 视频一区二区| 国产强奸乱伦xd| 亚洲Av噜噜一区二区三区妖精| 日本高清视频xxxx| 啊啊啊啊嗯嗯在线久久久| 久久久久免费少妇| 在线观看色视频| 狠狠入| 欧美熟女妇同| 99精品无码| 国产精品黄色三级av| 全国男人天堂网| 91N欧美| 在免费jIzzjIzz在线视频| 亚洲狠| 大香蕉宅男伊人| 丁香五月天激情综合| 91狠狠综合久久| 久热久一区二区三区| 中日韩欧美精品无码AⅤ一区二区| 91亚洲网站| 96免费视频在线| 天天日天天色| 深夜激情无码| 91社区伊人| 久久25| 国产一区二区三区精品观看啪| 一区二区精品日韩欧美在线观看| 欧美综合1性辶| 天综合网欧美| 啊啊啊好舒服好爽啊啊啊视频| 色色99| 欧美性巨大╳╳╳╳╳高跟鞋| 日本不卡一二区| 97超级色碰碰| 久久国产精品熟女人妻| 校园春色亚洲无码| 美女裸体麻豆天美蜜桃91| 婷婷丁香五月综合| 看一级黄色视频| 天天色黄色影院天天操| 狠狠操一区二区| 超碰成人免费| 9999免费精彩视频| 成人午夜小视频手机在线看| 翔田千里无码中出中文字幕| 女生看匆91网站| julia ann久久| 人妻丝袜肏逼| 狠色婷婷久久一区二区三区_| juliaann精品熟女一区| 草草影院在线视频| 欧洲免费一区二| 亭亭丁香激情| 美女的肌被草喷水视频| 久久久工口| 国产精品蜜乳AV| 免費黃色視頻觀看一| 一,爱啪啪,在线免费视频| 国产9 9在线 | 亚洲| 在线视频免费观看午夜| 国产亚洲精品激情| 国产尤物AV尤物在线观看不卡| 操逼日批| 色狠狠 - 百度| 国产www色在线观看| 国产一级内射无挡观看| 欧美日韩国内不卡| 夜夜草网站| 91色婷婷综合久久中文字幕二区| 色播综合| 久久国产三区| 亚洲性少妇| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 日本十八禁免费看污网站| 亚洲制服aⅴ中文字幕| 亚洲天堂 视频你懂的| 色色色网站| 啊啊啊好舒服好爽啊啊啊视频| 97超碰总站| 国产97在线播放| 91性网| 欧美夜夜| 亚洲自拍天堂| 色五月婷婷色| 97人人爱人人做人人乐| 91黑丝操| 久久无码一区二区二三区性色| 眼镜人妻101.com| 美女午夜福利免费视频| 色婷婷六月| 欧美日韩免费专区在线| 88在线一区二区三区| 啊啊啊好舒服视频| 精品久久久久久无码| 大香网站| 99啪| 中文字幕免费在线观看| 97在线观看免费视频| 欧美性爱第一区| 亚洲另类在线观看| 嗯嗯啊啊视频一区二区三区| 日韩超碰97| 成人免费看吃奶视频网站| 97国产高清视频在线观看| 色婷婷99| …中文字幕亚洲乱,97人妻无码费视…| 黑人娇小av在线播放| 国产aⅴ无码片毛片一级网站| 五月天综合| 欧美精品三区| 国产特级毛片AAAAAA高潮流水 | 女同性恋久久| 操曰本熟女| 91情色| 天天日B夜夜干B时时操B| 亚洲色图加勒比| av2014 日韩在线中文字幕| 亚洲欧美日韩制服另类| 国产亚洲在线观看| 蜜臀在线看片| 98人妻精品一区二区色欲| 国产成人无码久久精品| 欧美aⅴ99久久黑人专区| 亚洲欧美小说| 老女人爆菊| 凹凸 69堂 在线播放| 日本不卡高清视频| 大香伊人在线一区| 亚洲图片小说欧洲| 天天干天天做| 精品玖九九久| 日本岛国黄色网址| 亚欧操逼片在线观看| 岛国在线一区二区三区| 久久久久久久久久久999| 91肉丝| 亚洲欧洲另类| 91老熟女91老女人| 五月丁香| 加勒比海人人操超碰在线| 入口操逼网站| 欧洲性人爱视频| www.色婷婷色综合| 羞答答AV中文字| 东北女人av| 色一射色一射| 欧美高清无码免费视频高清版| 久久久久久九九九九| 国产搭汕a级片| 欧洲亚洲少妇| 国产性感骚丝袜在线| 超碰碰97资源站| 欧美乱色| 亚洲欧美日韩免费观看| 亚洲AV资源| av在线播放国产一区| 国产午夜福利视频在线| 日韩精品中文字幕人妻| 欧美精品第四五页中文字幕在线观看| 国产高清成人免费视频| 成人久久久精品| 91小视频| 久久久999国产| 超碰国产在线| 男女猛烈无遮掩视频免费软件| 久久嫩草国产成人一区| 久草网站免费在线观看| 亚洲精品黑丝| 人人操人人色网| 日韩精品大香蕉伊人在线| 午夜偷拍久久熟女| 亚洲九九九九| 蜜臀AV成人精品蜜臀| 嫩草一区二区在线观看| 久热这里| 伊人影院在线理论播放| 中文字幕在线观看永久| 精品制服美女中文一区二区三区| 99精品无码| 内射老妇BBWX0C0CK| 亚洲自拍青操视频| 曰韩精品九九无码| 日韩三A大片在线观看| 欧美天堂日韩三级国产传媒| 九九色逼| 岛国在线免费视频| 亚洲欧美内射| 91中文精品日韩欧美在线| 91啪啪视频| 亚洲国产精品成人综合| 欧美色老汉| 亚洲第一页欧美| 国产成人网址| 色官网色综合| 亚洲婷婷丁香在线| 精品免费成人久久| 日韩精品人妻中文字幕久久久| 国产日韩在线播放| 一区二区三区四区色图| 天天操人人操狠狠插| 97国产精品在线观看| 日韩精品三区四区| 一区二区三区免费岛国片| 久久受www免费人成| 久久东京热成人| 青青欧洲黑| 视频二区美腿丝袜制服人妻欧美| 我要看免费韩日黄片| 超清福利精品视频在线| 神马麻豆福利院| 啊嗯嗯啊好大好爽| 久久后入制服| 学生妹天天看| 欧洲与亚洲欧美精品中文字幕| 亚洲激情综合| 婷婷五月天社区| 蜜乳AV一区二区三区四| av网站在线观看了| 牛牛操视频逼| 欧美五十路熟| 极品欧美一区二区三区| 久久久久久9| 欧美色综合网| 日本一区不卡| 激情综合网亚洲| 国产农村妇女毛片精品久久| 情侣操 逼视频99| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 97国产精品一区二区传媒公司| 亚洲欧美日韩国产丝袜自拍中文| www被窝色com| 欧美中文字幕一区 | 熟女网站最新| 欧美在线 亚洲| 九九九九九九免费视频| 97天天插| 午夜传煤十二区精品| 青青草AV色| 97久久国产精品女不卡| 日本精品五区| 在线αⅴ| 熟妇的味道HD中文字幕| 国产欧美亚洲精品a第2页| 人人干人人搞人人摸| 伊人女女资源在线观看| 99热只有| 国产精品国产自产拍高清AV| 91网18| 狠狠躁AV| 色五月激情AV在线| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照 | 免费久久9999| 亚洲色图综合网| 欧美天天影院| 精品对白久久不卡| 日韩国产欧美伦理在线| 亚洲av无线观看| 色婷五月天| 大香蕉伊人网WWWn0n| 国产精品丝袜久久亚洲不卡| 超碰综合97在线| 久久超碰com| 男女啪啪啪18禁网站| 青娱乐国产盛宴视频| 大香蕉人妻| 91网站18在线观看| 国产AV天美| 蜜臀网址在线| wwwxxx日本爽| 激情五月综合| 夜夜青青无码影院| 欧洲精品一级二级精品综合视频综合| 日本成a人v网站在线观看| www.久久制服糖| 成人日韩欧美| 久久日本熟妇熟色高清| 99操逼| 欧美狠狠干| 色综合久久888| 日韩中文字幕av在线播放| 亚州精品人妻一二三区| 欧美黄色大片在线观看| 9 9精品一区二区三区| 亚洲精品一卡二卡三卡福利视频网站| 日本ZZ高免费A级视频| 中日韩久久久| 伊人影院在线理论播放| 噜噜噜亚洲精| 国产精品成人无码a v毛片| 亚洲国产精品久久久久久久久久| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 91成人在线| 精品美女少妇一区二区| 国产极品99热在线播放69| 丰满人妻-区二区三区免费| 后入福利| 欧美一级特黄淫片在线观看| 骚乳在线| 亚洲婷婷丁香在线| 东京热免费视频| 五十路人妻在线| 边做饭边操逼逼| 青青草九九九九九| 日日干日日摸| 肉嘟嘟www视频在线观看高清| 97人人操人人干| 蜜臀99久久精品| 国产偷拍自拍在线视频| 欧洲一区二区三区免费| AV一区观看| 中文乱码99| 97超碰超碰| 久久久久久久国产a∨| 国产吹潮女在线观看| 伦激情人妻另类人妻| 国产白领连续中出在线观看| 久久亚洲中文字幕视频| 久久黄色网址| 欧美色图 色综合图| 国产热RE99久久6国产精品首| 欧美激情一| 老司机射| 91天天爽| AV天天综合| 96精品久久久久久久久| 精品久久久久9999| 久久一区二区蜜桃| 天天干天天日天天射黄色大片 | 久久综合日韩亚洲欧美| 羞涩视频| 中韩中文字幕在线观看| 人人天天欧洲| 极品销魂美女一区二区| 日本天堂网| 国产亚洲精品A在线观看下载| 老女人碰碰在线碰碰视频| 午夜啪啪片| 久久久久九九九九九| 天天干少妇| 欧美日本成人一区二区| 欧美综合第一| 免费亚洲黄色视频在线观看| 91欧美情色| 五月黑AⅤ| 精品人成视频在线观看| 亚洲美女黄色| 97福利视频| 99久久无码| 超碰伊人在线| 青青草日韩无码| 无码动漫av中文字幕| 小草精彩毛片| 中文久久爆乳| 性综合网| 粉嫩AV输入| 天美传媒国产原创中文字幕亚洲欧美另类 | 国产在线综合网| 日韩大香蕉精品在线视频| 久久久久国产一区二| 亚洲超碰97| 天天综合网亚洲综合网| 国产一区二区三区不卡手机在线| 亚洲成人av电影在线| 99热欧美| 九九英色视频| 96精品在线| 丰满岳乱妇一区二区三区| K8久久久久| 亚洲精品国产av天美传媒| 国模吧 一区二区三区| 超碰免费人妻在线| 夜夜操中文字幕| 色婷婷在线视频| 人人看人人爰人人操| 国产精品久久久亚洲第一牛牛_在线观看| 久久免费看高潮毛片韩国| 屁屁影院一区二区三区国产| 人妻久久一区二区三区| 蜜桃香蕉久草精品在线| 四虎免费看黄| 一二三区在线| 色婷网| 亚洲国产尤物yw在线观看| 91天堂| AV有码在线| 欧美色图人妻| 亚洲五区熟女| 亚州成人a∨| 欧日韩不卡视.频| 在线无码操| 国产日韩在线播放av| 天天综合-91入口| www.久久超碰| 东京热不卡视频| 嗯嗯啊啊操死我| 大香蕉亚洲中文| 黑丝少妇| 9l视频自拍9l九色成人| 热热色国产一二区AV| 激情露脸爱| 青青草九九九九九| 狠狠操狠狠| 亚洲欧美综合区自拍另类| 老司机天天操| 中文字幕精品一区二| 国产成人欧美精品在线| 亚洲国产成人精品久久久国产成人一区二区 | 亚洲欧洲无码一区夜| AV老汉| 日韩性爱播放| 色99色| 丁香激情五月| 欧美激情综合| 中文字幕 一区二区 亚洲无码| 色情综合网| 五月综合色| 99国产精品人妻人伦| 伊人成人中文字幕久久网| 亚洲天堂99| 97超碰色五月| 欧美天堂日韩三级国产传媒| 夜夜狼人妻| 在线情色电影 91大| 色天堂在线观看| 97免费视频在线观看视频| 91天美免费| 色97干| 日韩在线国产字幕| 欧美日韩不卡a片| 约操熟妇| 中文字幕 国产 精品| 亚洲美乱| 99啪啪| 亚洲色图欧美色图制服诱惑| 97综合激情| 亚洲欧美人妻| 精品一区二区三区丰满熟女-亚洲欧美一区| 国产农村妇女精品| BBBBB97COM| 国产1024在线播放| 久久国产乱子伦精品免费女人| 在线啊v一区| 91久久精品蜜臀| 日本精品88888888| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 好一吊区二区| 91老司机视频| 国产日韩无码一区二区三区久久区| 福利在线观看一区二区| 综合色色婷婷| 很黄很污的免费网站| 人伦四五区| 精品国产Av无码久久久伦古装| 亚洲AV无码乱码| 五月婷婷爱六月丁香色| 欧美久久婷| 午夜精品久久久久久久| 欧美视频一| 影音先锋乱| 91操操| 加勒比五月天| 综合色一区三区二区| 中日韩欧美精品无码AⅤ一区二区| 香蕉久久国产AV一区二区| 蜜臀AV一区二区三区激情综合| 男人a天堂手机在线版| 久久婷婷六月综合| 美日韩在线不卡人妻| 亚洲男人天堂av| 97欧美性爱| 91啪9色| 97chaopengongkai| 多毛小伙内射老太婆| 性色av婷婷久久一区二区点复制| 一二三啪啪专区| 人妻色情天天操| 激情五月综合开心五月| 综合激情五月丁香| 久热99999| 欧美一区二区三区互相| 五月婷婷大香蕉| 激情视频一二三| 日本性感人妻91| 操九九九九九九| 亚洲日韩狠狠撸视频| 91丨豆花丨熟女| 久久夜嗨| 白丝被操91| 日韩精品.久久精品.AV女优.天美传媒| 色偷偷综合91久久噜噜| 日韩无码精品综合久久| 第二页中文字幕| 精品在线蜜臀| 九热视频| 国产熟女无套内射| 性爱av网站| 少妇精品久久久| 亚洲精品无码成人久久久99| 日韩av三四区| 国产精品一区在线播放| 日本韩欧美在线播放a| 91影视亚洲| 久久久久国产精品片区无码直播| 国产精品网站www| 插入逼91| 自拍二页| 精品国产无码中文| 国产超碰在线一区| 亚洲熟女性高潮久久久| 伊人久久久日韩一区| 五月婷婷丁香六月丁香| 久久婷婷在线观看视频| 人人摸人人入| 不卡码视频| 在线播放成人高清免费视频| 久久综合日韩亚洲欧美| 精品在线78| 伊人天堂在线| 粉嫩av在线| 美性中文综合网| 日韩中文字幕人妻视频| 久久综合av| 超碰99在线| 影音先锋每日最新资源在线观看| baiduhicn.com。| 免费看日产一区二区三区| 久夜视频| 亚洲色图 图片| 色色操| 黄色操人| 丝袜美腿91| 国产精品视频精品一二| 超碰97COm中文| 日韩精品三区四区| 另类 日韩 熟女| 欧美色97| 男人久久精品| 日韩中文字幕在线视频观看| 婷婷久久五月天| 亚洲色婷婷久久91| 久久一二三四五六七八九区区| 乱伦日本色图AⅤ| 成人无码欧美一级A片狼牙直播| 久久黄黄| 福利在线观看一区二区| 色图四区| 九九九九精品一区| 久99久视频| 视频一区二区免费在线| 青青草华人在线欧美在线| 亚洲五月丁香花狠狠干一区二区三区 | 99久热精品99re6热| 欧美特大黄一级片片免费| 人人妻人人澡人人爽人人精品浪潮| 丝袜喷水在线| 久久精视频美日韩在线视频| 日本好吊色视频| 久久久久久性爱片| 爱av免费| 国产精品女生av| 人妻熟女一区二区三区视频| 日本免费一区二| 影音先锋乱| 色网站导航大全| AV天堂因数| 99久在线精品99re8a| 久久久久久久九九九九九九| 户外裸露刺激视频第一区| 日韩15p| 日本不卡中文| 一区,二区,三区视频| 人妻碰碰碰碰碰碰| 亚洲 欧美日韩 另类| 日韩性爱一级片| 91中文字幕制服丝袜免费视频| 亚洲激情天堂网| 欧美午夜色妇色鬼| 国产 日韩 欧美 人妻 熟女 中文| 91网站18禁| 国产又粗又长的视频| 老女人碰碰在线碰碰视频| 国产精品对白内射| 深爱五月婷婷| 丁香色狠狠色综合久久小说| 欧美美女视频| 97久久久久久久久久| 欧美性视频二区三区| 亚洲美女30b| 亚州色站 日韩电影| 丁香五月天激情综合| 一区二区视频在线播放| 黄页视频网站野外| 国内精品a| 亚洲日韩视频二区| 男人天堂欧美| 抽插一区二区视频| 91少妇通奸网站| 屌妞视频久久久久久久| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 欧美另类自拍 | 国产福利电影| 18禁在线视频| 性天堂| 青青草AV色| 人人妻人人爽一区二区三区| 四虎影视国产精品| 中文字幕一区二区三区人妻不卡 | 国产激情视频一区区三区| 天天射夜夜操| 99热免费| 黄色乱论网站| 热久久91婷婷| 97干在线看| 加勒比日本在线| 精品一区二区三区四区女| 亚射在线| 欧美熟女妇同| 97超碰中文| 欧美成97爱| 亚洲综合20p| 思思视频免费看网站| 偷拍三区| 婷婷AV一区二区三区| 曰韩无码777| 亚洲精品无码成人久久久99| 日韩成人大片在线观看| 第一高清av中文字幕| 久久99黄色卞西瓜| 精品久久久中文字幕不| 99只有精品| 亚洲九九视频在线观看| 狠狠躁天天躁日日躁| 欧美日日人人天天| 人妻熟女一区二区三区视频| 熟妇综合一区二区三区| 欧美一区二区三区互相| 欧美日韩操逼嗦吊| 日日狠狠久久偷偷色综合免费| 丝袜狠狠草尤物人妻av91| 欧洲乱码视频| 97免费视频在线观看视频| 2017天天拍大香蕉| 日韩黄色片子| 亚洲图片欧美在线视频| 亚洲综合小说另类图欧美视频激情小说色五月天 | 亚洲欧洲网站免费观看| 97操操| 高清不卡国产| 亚洲欧美日韩电影网站一区 | 97色欧洲| AV乱伦国产| 精品国产肉丝袜在线拍国语| 欧美日韩色图片| 欧美日韩情色一区二区| 性九九九九九九| www亚洲欧美| 天天干天天操天天干天天操| 五月婷婷丁香| 超碰在线1234区| 国产精品 视频| 久久老子无码午夜伦不卡| 日韩精彩免费| www.91视频网| 岛国网址国产| 黑人精品成人一区二区三区| 亚洲精品欧美专业| 人人操超碰在线| 日韩色| 亚洲欧美setu| 精品三级在线专区| 韩国一区二区精品亚洲| 欲综合网| 欧美性爱一级操| jiujiujiujingpin| 欧美十八禁视频| 中文字幕视频在线观看一区二区| 99精品九九九九九九| 亚洲av影音先锋| 97人人模人人爽人人| 日韩人妻丝袜美腿中文| 人人操欧美风骚| 亚洲天堂,男人| 午夜精品久久久久久久| 日韩精品一区二区日韩| 丝袜夫妻自拍| 97爱综合| 久久女婷| 欧姜老司机| 欧美午夜视频| 中文字幕日韩精品久久| 超碰三级秋霞| 久操精品| 日本在线一二 | 日本孕妇孕交| 思思热久久成人| 欧美午夜色妇色鬼| 性爱网站一区二区| 小草精彩毛片| 亚洲av噜噜噜噜噜噜| 九月婷婷综合| 欧美高清色| 人人操AV| 亚洲情色综合| 热久久这里只有精品| 亚洲一区二区AV| 99自拍视频在线| 欧美色视| 久久国产视频性吧 | 亚欧成人一级片在线播放| 亚洲五月婷| JuliaAnn丝袜熟女系列| 色吧五月| 97干在线| 麻豆天美电影一区二区| 国产一区二区三区高清视频| 五月黑AⅤ| 一个色导综合| 青娱乐大香蕉| 久久久精品无码亚免费| 熟妇激情| 婷婷在线视频| 蜜臀久久99精品久久久久久-DVD原版全| 欧美78p| 国产 日韩 欧美一区| 午夜欧美神马久久久久| 九月激情婷婷| 997色在线| 色色色综合网| 操b在线观看| 97视频7| www.国产高潮精品| 精品无人区麻豆乱码1区2区图片| 婷婷五月色| 91欧美大片| 啊啊啊啊啊啊啊在线| 日本性爱少妇| 欧美性天天| 欧美中文狠| 亚洲夜夜欢无码一区二区 | 蜜乳AV网址| 狠狠91| 欧美激情片一区二区| 日本三级R| 国产熟女无套内射| 国产精品视频| 九九aV| 亚洲成人在线高清| 国产成人啪一区二区| 欧美专区在线| 久久久久久电影| 综合 亚洲 欧美| 天堂网 主播 亚洲| 久草毛片| 色狠狠综合噜一二三区| 成人性爱AV在线免费观看| 国产深喉| 人人澡人人爽人人精品| 久久无码电影| 午夜精品久久久| 中文字幕第95页| 欧美日韩夜夜| 国产免费一区在线观看| 搡老女人老91妇女老熟女| 97人妻人人躁人人玩人人| 96久久科窝| 中文字幕jul-617人妻熟女| 99啪啪视频| 久久亚洲欧美中文字幕国语 | 国模无码一区二区三区在线| 中文字幕青青草| 青青伊人加勒比海| 乱精品一区字幕二区| 日本道久久综合色色| 东北少妇高潮zzzz| 亚洲在线a| 久久精品高清无码一区| 亚洲自拍欧美国产首页网曝| 国产超碰国产97| 国产麻豆一区二三区| 亚洲全色网| 欧美性爱第一区| 日本媚薬中文字幕在线| 91啪啪视频| 78p欧美| www.91色综合| 中文字幕黄色片| 亚洲一曲日韩精品| 一级岛国大片| 超碰久超碰久| 国产免费一区| 欧美综合网1| 成人老鸭窝人人在线视频| 99超碰色| 婷婷九月色| 综合久久婷婷| 日韩av一级黄片| 欧美另类综合久久| 欧美日韩狠狠爱| 撸无码不卡免费视频| 人妻夜爽夜夜爽| 九九亚洲色在线观看| 久久久久久久久国产| 欧美天堂日韩三级国产传媒| 大香蕉手机视频| 国内自拍 日韩激情 99| 图片区小说区| 青青草天天亲夜夜操网| 婷婷午夜成人色中色| 亚洲九月丁香| 国产一区二区精品久久99| 插穴性爱视频在线观看| 性饥渴少妇av无码毛片| 大学生口爆吞精| 无码av永久免费专区网站| 日日日日做夜夜夜夜无码| 九九久久一区二区伦理| 一区操逼日比视频| 亚洲熟女中文字幕在线|