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

ARTICLE DETAIL

資訊詳情

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

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

Flutter鴻蒙實(shí)戰(zhàn):打造SKU動(dòng)銷與庫(kù)存健康度看板 站在零售數(shù)字化項(xiàng)目坑里爬出來的我第一眼看到“Flutter鴻蒙共贏”這幾個(gè)字想到的并不是什么高深的技術(shù)選型而是去年年底一個(gè)連鎖便利店客戶的真實(shí)訴求門店幾百個(gè)SKU哪些在動(dòng)銷、哪些在倉(cāng)庫(kù)里睡大覺、哪些該補(bǔ)貨、哪些該清倉(cāng)全部靠店長(zhǎng)拍腦袋總部的采購(gòu)Excel表看得眼睛都快瞎了。他們要的其實(shí)就一句話——把SKU賣得動(dòng)賣不動(dòng)這事跟庫(kù)存壓了多少貨這堆數(shù)變成一張手機(jī)上看一眼就明白的圖。而恰好那陣子我剛把一套Flutter寫的App適配到鴻蒙上跑通兩邊需求撞到一起就有了這個(gè)智慧零售場(chǎng)景下的SKU動(dòng)銷與庫(kù)存健康度看板項(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)貨架上的“沉默庫(kù)存”零售行業(yè)的庫(kù)存問題表面看是“壓貨多、周轉(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)銷頻次、庫(kù)存水位是多少第二層是“算得準(zhǔn)”把動(dòng)銷數(shù)據(jù)和庫(kù)存數(shù)據(jù)映射成一個(gè)可量化的健康度分?jǐn)?shù)而不是只靠“感覺賣得不錯(cuò)”來判斷第三層是“跟得上”店里店長(zhǎng)、總部采購(gòu)、運(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倉(cāng)庫(kù)系統(tǒng)流出經(jīng)過ETL清洗后入數(shù)倉(cāng)然后通過指標(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倉(cāng)庫(kù)的出庫(kù)入庫(kù)單據(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)的首頁(yè)看板、SKU列表、庫(kù)存預(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)銷分析與庫(kù)存健康度量化2.1 動(dòng)銷脈動(dòng)從訂單流水到趨勢(shì)信號(hào)如果說“動(dòng)銷”這個(gè)詞聽起來有點(diǎn)玄那就用最直白的話解釋動(dòng)銷就是商品真的被賣出去換成了錢而不是躺在倉(cāng)庫(kù)里吃灰。一個(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ì)庫(kù)存做健康度判斷。2.2 庫(kù)存健康度評(píng)分模型把直覺變成可計(jì)算的分?jǐn)?shù)庫(kù)存健康度這個(gè)事很多團(tuán)隊(duì)的做法是圈幾個(gè)閾值庫(kù)存大于多少算積壓小于多少算缺貨。這種粗暴切分在真實(shí)生意里經(jīng)常被投訴因?yàn)椤昂侠韼?kù)存”跟SKU的品類、毛利、供貨周期、季節(jié)系數(shù)都強(qiáng)相關(guān)。我采用的方案是加權(quán)評(píng)分法每一個(gè)SKU在每日數(shù)據(jù)跑批后會(huì)按五個(gè)維度打分最后合成一個(gè)0到100的健康度綜合分。這五個(gè)維度分別是庫(kù)存周轉(zhuǎn)天數(shù)得分、庫(kù)齡得分、動(dòng)銷率得分、安全庫(kù)存覆蓋率得分、缺貨風(fēng)險(xiǎn)得分。其中周轉(zhuǎn)天數(shù)得分是最基礎(chǔ)的一項(xiàng)以該SKU過去30天的日均銷量為分母當(dāng)前可用庫(kù)存為分子算出按現(xiàn)有速度需要多少天賣完。不同品類設(shè)定不同的基準(zhǔn)線生鮮3天內(nèi)合理日用百貨15到30天季節(jié)性商品按對(duì)應(yīng)季節(jié)壓縮或放寬。得分邏輯是偏離合理區(qū)間越遠(yuǎn)扣分越多不管是積壓還是空轉(zhuǎn)都算不健康。庫(kù)齡得分針對(duì)的是“沉睡庫(kù)存”按入庫(kù)時(shí)間算庫(kù)齡超過30天、60天、90天分別觸發(fā)不同的衰減權(quán)重。這里有個(gè)容易被忽略的細(xì)節(jié)庫(kù)齡得分必須按批次算同樣的SKU可能有一批入庫(kù)15天、另一批入庫(kù)70天庫(kù)存賬看似總量正常實(shí)際結(jié)構(gòu)已經(jīng)分化了。所以我在計(jì)算時(shí)按批次加權(quán)70天的批次占比越高整體扣分越重。動(dòng)銷率直接復(fù)用2.1的指標(biāo)覆蓋率得分則是回答一個(gè)更實(shí)際的問題以現(xiàn)有庫(kù)存和平均每日銷量還夠賣幾天用安全庫(kù)存作為一個(gè)緩沖閾值低于安全庫(kù)存且供應(yīng)鏈補(bǔ)貨周期內(nèi)預(yù)計(jì)消耗完就要提級(jí)為缺貨預(yù)警。缺貨風(fēng)險(xiǎn)得分用來識(shí)別那些“今天能賣但明天就斷”的SKU這類往往被總庫(kù)存充足的表象掩蓋住得用下單補(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)品”采購(gòu)核實(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ù)字到圖形的映射”。首頁(yè)大圖用的是SKU動(dòng)銷熱力矩陣橫軸是最近7日動(dòng)銷率縱軸是庫(kù)存健康度得分每個(gè)SKU按氣泡形式散在矩陣?yán)餁馀荽笮〈?0天累計(jì)銷售額。這個(gè)矩陣圖的好處是一眼能看出問題分層右上角是又賣得好又庫(kù)存健康的“明星區(qū)”左上角是賣得好但庫(kù)存有風(fēng)險(xiǎn)的“補(bǔ)貨區(qū)”右下角是動(dòng)銷差但庫(kù)存還多的“清倉(cāng)區(qū)”左下角則是不好賣且?guī)齑嬉膊簧畹摹疤蕴^望區(qū)”。頁(yè)面?zhèn)葯谑菐?kù)存健康度預(yù)警列表按門店維度聚合展示TOP風(fēng)險(xiǎn)SKU、風(fēng)險(xiǎn)原因打標(biāo)庫(kù)齡過長(zhǎng)、周轉(zhuǎn)過慢、覆蓋過窄、建議動(dòng)作補(bǔ)貨、調(diào)撥、促銷、清倉(cāng)。實(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í)捍?、周轉(zhuǎn)慢稍高一點(diǎn)的庫(kù)齡都意味著風(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倉(cāng)庫(kù)的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)聽變化保證了頁(yè)面切換時(shí)數(shù)據(jù)的一致性。組件通信分三層來梳理。第一層是跨頁(yè)面通信看板首頁(yè)點(diǎn)擊某個(gè)SKU氣泡跳轉(zhuǎn)到SKU詳情頁(yè)并傳參我用Router傳參加Provider覆蓋初始狀態(tài)兩種方式結(jié)合第二層是同頁(yè)面不同區(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里做跨頁(yè)面的導(dǎo)航觸發(fā)避免微任務(wù)與現(xiàn)任務(wù)交替時(shí)出現(xiàn)白屏閃爍。3.3 頁(yè)面渲染與導(dǎo)航適配鴻蒙的布局習(xí)慣雙端布局適配是UI層面最費(fèi)時(shí)的一塊。鴻蒙原生是ArkTS聲明式語(yǔ)法跟Flutter的Widget樹確實(shí)有差異但如果頁(yè)面完全用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頁(yè)禁用了邊緣返回只保留頂部返回按鈕才消停。4. 動(dòng)銷與健康度看板的功能設(shè)計(jì)與實(shí)操要點(diǎn)4.1 SKU熱力矩陣一張圖看懂全場(chǎng)動(dòng)銷熱力矩陣是首頁(yè)的核心組件交互上看是個(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)并沒有直接套第三方圖表庫(kù)因?yàn)榈谌綆?kù)在氣泡數(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。氣泡顏色的語(yǔ)義上面已經(jīng)講過但要強(qiáng)調(diào)一個(gè)小細(xì)節(jié)矩陣中的坐標(biāo)軸標(biāo)簽不能只顯示數(shù)字范圍要顯示業(yè)務(wù)語(yǔ)義比如橫軸0.5的位置要標(biāo)“動(dòng)銷良好”而不是“50%”門店店長(zhǎng)不是數(shù)據(jù)分析師語(yǔ)義化標(biāo)簽?zāi)苁箍窗逋耆恍枰嘤?xùn)就能看懂。4.2 庫(kù)存健康度預(yù)警閾值怎么定才不會(huì)被罵預(yù)警閾值是整個(gè)項(xiàng)目里被業(yè)務(wù)挑戰(zhàn)最多的地方。一開始我拍腦袋按“庫(kù)存金額大于銷售額的三倍”定積壓線結(jié)果上線第一天就有六十多個(gè)SKU觸發(fā)紅色預(yù)警其中一半是季節(jié)性商品——夏季還沒到倉(cāng)庫(kù)當(dāng)然提前備貨了。加班改了一周終于把規(guī)則改成一個(gè)三維判定模型。第一維是周轉(zhuǎn)天數(shù)與品類基線的偏移比例不是看絕對(duì)值而是看相對(duì)差異第二維是動(dòng)銷率的變化方向如果一個(gè)SKU動(dòng)銷率連續(xù)七天上升即使絕對(duì)庫(kù)存偏高也降到黃色預(yù)警而不是紅色第三維是庫(kù)齡結(jié)構(gòu)超過90天的靜置庫(kù)存占比大于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)庫(kù)存健康度分?jǐn)?shù)低但讓門店清倉(cāng)是做不到的因?yàn)橄聜€(gè)月還要賣。這種SKU預(yù)警排到后面去把處理精力聚焦在“現(xiàn)在就能處理”的呆滯庫(kù)存上。這個(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包起來隔離重繪范圍不隨頁(yè)面的其他部分一起刷新第二個(gè)是把數(shù)據(jù)點(diǎn)做抽稀日粒度指標(biāo)在折線圖里不需要精確到天按區(qū)間聚合成10個(gè)左右的點(diǎn)曲線的視覺形狀幾乎不變繪制量減少了80%第三個(gè)是列表頁(yè)的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è)問題看板頁(yè)所有頁(yè)面都作為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ū)倉(cāng)庫(kù)很多還沒跟上得要自己做適配。第三個(gè)是關(guān)于Flutter的Impeller渲染引擎Impeller在鴻蒙的兼容性還在改進(jìn)期部分中低端設(shè)備上打開三分屏或快速切換頁(yè)面時(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ì)在頁(yè)面A發(fā)起接口請(qǐng)求后在.then里直接Navigator.push跳轉(zhuǎn)頁(yè)面B結(jié)果偶發(fā)出現(xiàn)頁(yè)面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ù)占庫(kù)存未支付等狀態(tài)第一版ETL偷懶直接按狀態(tài)字段全量入數(shù)倉(cāng)結(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)頁(yè)鴻蒙殼工程里Flutter引擎創(chuàng)建時(shí)機(jī)不對(duì)或沒有復(fù)用預(yù)熱引擎實(shí)例在UIAbility的onCreate里預(yù)加載引擎并復(fù)用同一FlutterEngine實(shí)例動(dòng)銷看板圖表白屏或閃退Impeller渲染不兼容切換至Skia兼容模式或通過命令行臨時(shí)禁用Impeller商品詳情頁(yè)返回手勢(shì)與圖表拖拽沖突系統(tǒng)邊緣返回手勢(shì)攔截在圖表所在頁(yè)面禁用返回手勢(shì)統(tǒng)一用頂部按鈕返回更新Dart代碼后鴻蒙包不生效忘記重新執(zhí)行flutter build hap先build hap再在DevEco里運(yùn)行不能直接熱重載到鴻蒙殼工程庫(kù)存預(yù)警推送收不到鴻蒙通知未申請(qǐng)鴻蒙通知權(quán)限或Push Kit未配置在module.json5中聲明通知權(quán)限并按鴻蒙Push Kit規(guī)范完成配置列表頁(yè)大SKU數(shù)據(jù)滑動(dòng)掉幀圖片緩存過大或列表未懶加載設(shè)ImageCache上限為80MB使用ListView.builder構(gòu)建卡片項(xiàng)這里面我特別想再?gòu)?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í)例常駐頁(yè)面切換只做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)銷庫(kù)存健康度”的系統(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
返回資訊列表
天天干人人奸97| 色色五月婷婷狠狠| 色5月婷婷| 艹天天射| 天啪天啪天啪天啪| 精品国产一区二区三区四区阿崩| 另类视频五月天| 丁香婷婷成人在线播放| 一个色的综合| 狠狠艹狠狠艹| 激情五月天激情网| 久久婷色| 久9久9热久热| 色婷婷a v| 年轻的妺妺伦理HD中文| 九九人人操| va婷婷| 欧美天天草人人草| 日韩九九视频| 狠狠综合久久| 婷婷在线视频| 色色色色色热| 深爱激情网五月| 色九九七七| 欧洲电影在线观看免费版英语版| 26uuu欧美| 综合伊人久久| 婷婷丁香社区| 偷拍九九五月丁香婷婷| 丁香五月天婷婷91| 免费播放片大片| 七七婷婷综合| 99久久婷婷国产综合亚洲| 超碰在线91| 成年人丁香五月| 激情九九这里只有精品| 色综合色色色色色| 丁香五月六月婷婷怡红院| 99热日本| 九九亚洲视频| 免费AV在线| 夜夜骑夜夜撸| 91超碰人人操| 国产乱妇无乱码大黄AA片| 狠狠色综合网| 乱岳熟女50岁| 色婷婷综合丁香五月天| 国产色网站| 五他月天啪啪啪| 国av网| 男同91| 国产亚洲精品久久久久久牛牛| 99无码视频| 五月丁香色婷婷色| 五月天婷婷成人网| 九月色婷婷综合亚洲| 久久国产性爱A V| 欧美 日韩 成人 在线| 婷婷丁香综合| 深爱丁香网| 电影爱拉战争免费观看| 久久A V无码视频| 五月丁六月婷| 97亚洲婷婷| 五月丁香婷婷久久| 婷婷激情五月呦呦| 激情合网婷婷| 久久您您综合网| 九九99九九精品视频| 久久综合55| 人人摸人人干| 91色久| 五月天色色激情综合| 久久久久婷婷五月热综合| 丁香五月婷婷性爱| 丁香五月天资源网| 亚洲激情AV| 99国产在线精品视频| 美国少妇性做爰| 五月丁香狠狠爱婷婷综合| 9久久久| 成人在线精品| 桔色成人在线| 极品人妻VIDEOSSS人妻| 激情五月天的婷婷| sewuyue第四色| 深爱激情69热| 99色色网| 色婷婷色99国产综合精品| 热热久久精品视频| 91久久| 女人高潮内射99精品| 日日夜夜九九| 妻久久久久| 天天色综网| av在线观看免费| 狼人久草| 秋霞免费三级片| 色小说五月婷婷| 久久综合五月天| 久久激情五月| 久久人人九九| 激情婷婷丁香| 成片免费观看大全| 五月中旬婷婷丁香六| 另类综合激情| 色噜久| 五月婷婷开心爱| 六月激情综合| 国产亚洲成人综合| 五月网在线| 五月天婷婷色综合| 久久久性爱视频| 丁香六月视频免费观看| 精国产品一区二区三区A片 | www.婷婷.com| 俺也去在线视频| 天天干天天干天天干天天干天天干| 丁香五月亚洲综合丝袜| 五月丁香六月日逼| 这里只有精彩视频| 国产激情久久久| 99热激情| 国产精品视频网| 99er国产| 国产精品美女久久久久AV超清| 九九综合色综合| 色婷婷综合网站| 这里有精品| 日本不卡中文字幕| 色色五月天丁香| 任你搞在线观看视频| 欧美综合婷婷网| 噜噜视频| 六月色伊人婷婷| 久热9| WWW.久久久久久久| 久久婷婷啪啪视频| 欧美在线视频99| 99热思思| 人人摸人人摸| 婷婷五月六月丁香| 九九99热| 婷婷99狠狠| 国产亚洲99久久精品| 碰超在线九色| 91肏| 婷婷丁香社区网| 偷拍91九色| 9超碰在线| www.五月丁香| 五月丁香六月综合基地| 五月激情小说网| 最新久久网址| www久| 亚洲思思热久| 日日噜噜夜夜狠狠久久丁香五月| 亚洲狠狠干| 国产三级在线播放| 思思热在线播放| 这里只有精品视频222| 色五月激情五月| 久久网站免费亚洲| 亚洲天堂婷婷| 91热99| 久热九九| 丁香婷婷九月在线| 原琪琪色影院| 欧美丁香六月在线观看视频| 操操操91| 深爱激情丁香| 思思热热久久| 色九月欧美| 九九Av| 五月丁色AV| 国自产拍偷拍精品啪啪一区二区| 2025年最新亚洲在线欧美| 日本久久极品| 亚洲婷婷五月天| 丁香婷婷六月天| 九九伦子片| 激情五月婷婷| 日日鲁鲁夜夜爽爽| 五月综合丁香婷婷| 610018岁成人视频| 日本欧美在线| 中文字幕乱轮| 五月深爱婷婷| 色欲九区| 丁香五月开心七月| www色五月| 精品无码99| www.久久久久久| 欧洲色| 久久66精品| 中文久久婷婷| 丁香伊人激情| 九九热10| 色9999综合久久| 婷婷五月亚洲综合| 99热在线这里| 伊人狠狠综合| 日韩 欧美 国产 一区 二区| 色九亚洲| 亚州激情九月| AV片在线观看| 欧美交换配乱吟粗大25P| 欧美va欧美va差| 九九久久综合| 欧美在线看| 日日操夜夜擼| 国产成人精品一区二区三区视频 | 亚洲免费婷婷| 色婷婷六月精品| 久9精品| 欧美成人精品A片免费一区99| 草综合14| 九九视频这里只有精品| 天天天天做夜夜夜夜做| 五月婷婷开心爱| 久久久久网站| 色爽九九| www.五月丁香| 91疯狂操操操操| 亚洲网在线观看| 五月婷婷色情| 色婷五月天| 五月天五月天激情网| 插插插丁香五月婷婷| 一级二级色大片| 综合色、色综合| 99热这里只有精品3| 丁香性爱在线视频| 激情婷婷狠狠干综合| 婷婷性爱网| 激情五月视频在线婷婷| 天天夜夜操| 激情综合网之激情五月| 五月丁香美女| 天天摸天天爽| 深爱激情网噜噜色| 日日操天天爽| 啄木鸟丝袜美女福利视频| 开心亚洲久久开心| a v色婷婷| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 日韩ww| 狠狠色色| 五月丁香六月| 日本不卡高字幕在线2019| 亚洲九区| 影音先锋91网站在线观看| 天天婷婷综合亚洲亚洲| 1000部毛片A片免费观看| 六月丁香久久| 人人摸人人干| 五月天色小说| www.刺激色网站www.| 成人久碰| 色五月婷婷自拍| 99热99天堂| 狠狠综合色网| 婷婷性爱网| 日韩操人| 五月天啪啪| 婷婷啪啪| www.99.色| 美女被操一区二区| 婷婷丁香五月色偷偷| 色蜜婷婷| 久久五月天激情婷婷| 色色综合日韩| 亚洲婷婷免费| 久久综合人妻| 五月丁香 狠狠爱| 婷婷五月超碰| 67194成I人在线观看线路1| 99黄色性生活| 色噜噜婷婷| 丁香桃色网| 91se在线观看| 少妇高潮A片无套内谢麻豆传| AA片在线观看视频在线播放| 超碰网站在线观看| 五月丁香爱婷婷深深| www.狠狠色.com| 99色人| 亚洲情欲| 五月婷婷丁香五月| 丁香久久激情俄| 成人短视频在线免费观看| 精品99在线| 狠狠夜夜五月丁香| 欧美五月丁香| 国产成人精品一区二三区熟女在线| 久久99最新地址| 91人人操人人看| 性五月激情| 无码激情精品色婷婷久久久久| 五月丁香人妻| 另类少妇人与禽zOZZ0性伦| 九九九午夜影院成人| 国产一二三四五六七八视频| 91一起操| 丁香五月九九| 丁香婷五月| 色玖玖综合| 日本99热| 91久久精品无码一区二区三区| 国产伊人五月天| 五月婷婷开心丁香| 亚洲视频一区| 久99热| 99热这里只有精品18| 天天天天天日| 欧洲精品爱爱| 色色色色色色色色网站| 欧美成人一区二区三区在线视频| 六月丁香久久| 国产精品成人AV在线| 日韩人妻AV在线| 久久综合无| 五月丁香婷庭在线| 欧美黑人巨大性生话| 五月天婷婷AV| 成人色五婷婷| 97亚洲精品| 99热这里有精品6| 日韩精品一区二区亚洲AV观看| 亚洲性爱AV在线| 91啪啪| 五月天六月色| 伊人久久综合| 婷婷网五月天| 色99婷婷五月天| 亚洲综合五月天综合| 操操啪| 亭亭五月基地在线| 婷婷中文字幕网| 色播激情婷婷| 色偷偷色婷婷| 4399欧美另类视频| 激情小说五月天| 9精品国产在热久久| 任你爽视频| 久综合| 久久精彩视频| 香蕉婷婷色五月| 人人草开心五月天| 亚洲热久| 日熟女| 久久国产高潮白浆免费观看99| 婷婷五月精品在线| 丁香五月狠狠在线观看| 五月婷婷视频28| 综合久久婷婷99| 综合在线丁香五月| 婷婷丁香五月天之开心少妇| 日本五月婷婷| 狠狠狠狠狠狠色| 婷色五月天| 91av视频在线观看最新网址| 丁香五月婷婷亚洲色图| 五月婷婷综合激情网| 91操片| 热久国产| 久操婷婷| 这里只有精品69| 成人超碰网| 九九亚洲小视频| 超碰在线caop| 综合激情视频| 淫视馆aV二区一区| av亚洲国产小电影| 日本久久爱| 卡视频1区2区| 九九99精品视频在线观看| 激情网战码亚洲A| 麻豆AV一区二区三区| 亚洲爱爱无码婷婷色五月| 五月婷婷 婷婷五月 一区二区 久久久| 丁香婷婷六月激情综合| 2013AV天堂| 色欲天天综合| 99热大片| 色婷婷免费视频| 99视频在线| 99精品久久| 九九婷婷五月天影视| 美女被操一区二区| 另类专区在线| 青青草视频福利| 亚洲欧洲一二| 日本色婷婷| 99热这里只有精品搜| 婷婷丁香亚洲色综合91| 性欧美大战久久久久久久83| 狠狠干综合网| 日撸夜撸日操| 五月大香蕉| 国产欧美精品AAAAAA片| www.婷婷.com| 五月婷婷丁香色播网| 黄久久久| 三日本无码| 9l视频自拍9l九色9l成人| 丁香五月花婷婷开心| 超碰妻人人| 99热国产精品| 九九视频这里有精品| 香蕉综合在线| 亚洲蜜乳AV| 五月天激情小说| 久色激情| 婷婷六月五月天综合| 亚洲午夜视频| AV六月丁香| 26uuu亚洲| 六月丁AV| 五月天在线视频尤物视频在线看| 婷婷她六月天| 91色噜噜狠狠狠狠色综合| 亚洲熟妇AV乱码在线观看| 五月综合在线| 久久人妻视步| 久久五月婷婷开心网| 91丨九色丨熟女| WWW色色色COM| 亚洲成人无码专区| 久久婷婷五月| 日日操夜夜爽| 久热伊人| 丁香激情四射| 能看的AV| 天天日天天摸| 免费观看的婷婷五月视频在线| 五月丁香婷婷综合在线| 婷婷五月69| 97干在线播放| 久久婷婷五月天激情| 亚洲 在线 性爱| 久9视频| 丁香97综合| 中文字幕乱码亚洲精品一区| 99色在线观看| www.五月天| 日本久久精品| 91欧美| 91色噜噜狠狠狠狠色综合| 欧美xx激情视频在线观看| 极品 少妇 内射| 婷婷激情五月天激情在线| 一级性感黄色内射视频| 亚洲在线资源| 91狠狠色| 婷婷激情五月天网站| 91操碰| 色热久| 香蕉久久国产av一区二区| 丁香六月欧美| 91丨九色|PRNY熟妇| 色原狠狠综合| 色婷婷啪啪啪啪啪啪| 久久色午夜在线导航| 色yeye欧美| 久月久在线视频| 大香蕉综合视频在线| 嫩草AV久久伊人妇女超级A| 丁香色五月 97干| 天天做天天爱天天爽| 久久久18| 日韩精品AV一区二区三区| 性爱视频久久| 久cao香蕉影院| 国产精品 的国产| 久草狼人| 婷婷月五天在线在线看| 日本特黄aaaaa| 亚洲Av入口| 五月婷婷欲色| 国产美女视频久| 91久久| 五月香婷婷| 9久热精品在线视频| 新激情五月天| 99在线视频播放| 超碰人人射| 五月丁香六月婷婷精品| 六月婷婷色宗合| 五月丁香六月婷婷在线| 五夜婷婷| co超碰在线观看| 九九久久久综合| 天堂色婷婷| 美女丁香五月天| 熟女人妻一区二区三区免费看 | 91热爆在线| 琪琪色五月婷婷老师| 一级性感毛片| 噜噜色天天开心| 色婷婷五月婷婷五月婷婷五月| 五月成人天| 在线网黄| 九八Av| 七七色色综合| 一区二区三区四区五区| 久久这里只精品| 久久99综合| 五月天丁香婷婷视频网址| 综合www色| 噜噜狠狠| 婷婷五月天福利| 五月婷婷六月丁香| 亚洲天堂大香蕉| 99热这是里只有精品| 亚洲va欧洲va国产va不卡| 五月婷婷丁香综合| 无码一级片| 六月丁香婷婷综合色播| 九九亚洲| 超碰人人在线观看| 深爱婷婷基地| 六月婷婷视频| 亚洲欧美成人在线观看| 这里只有精品热| 久久a热| 色吧五月| 99啪啪视频| 深爱五月日韩| 国产看真人毛片爱做A片| 九九人人自拍| 999热在线视频| 九九热AV| 国产欧美日韩性爱| 久久婷婷91| 丁香五月婷婷www..com| 亚洲网综合在线| 丁香激情久久| 成人永久免费视频在线观看| 色99欧洲色19| 狠狠色 综合色区| 99综合网| 噜噜噜噜噜久| 亚洲综合九九| 婷婷久久99| 久久九九热视频| 久久久宗合视频88| 婷婷伊人久久综合| 婷婷五月色播天| 国产精品五月丁香| 五月激情天| 91丨九色丨熟女高潮| 性爱久久| 五月停停999| 免费看成人747474九号视频在线观看| 日本天堂久久| 婷婷天天色| 久久久.www| 色99欧洲色19| Www.se.久久| 婷婷色成人| 久久五月婷天天干| 婷婷五月天欧美图片在线播放电驴| A片试看50分钟做受视频| VA日本视频| 国产 码在线成人网站| 婷婷午夜综合| 久久激情五月| 亚洲VA欧美VA| 乱精品一区字幕二区| 先锋男人99资源| 丰满老熟妇BBBBB搡BBB| 人妻在线中文字幕久久| 综合另类激情| 播五月丁香三月婷婷| 草草影院爱爱| www.婷婷| 清色五月天| 人人色人人弄人人操| 人人干Av| 91精产一区三区免费观看| 五月婷婷激情日本| 婷婷亚洲日本| 久久久久久久久久久-久五月天婷婷| 亚洲开心激情网| 色色色com| 激情五月天在线视频| 婷婷五月丁香超碰| 天天插天天爽| 天天综合色| 亚洲开心激情网| 日逼影音先锋男人资源站| 五月花在线观看视频| 五月天三级久久| 97操操| 亚洲色情免费网| 五月天丁香啪啪网| 久操无码| 天天干夜夜欢| 五月丁香啪啪综合| 9热网站| 婷婷五月六月丁香| 六月丁香婷婷综合色播| 色吧网综合| 五月婷婷色播| 全国最新疫情| 日本三久久| 欧洲色区| 秋霞成人毛片一级A片| 亭亭丁香aV| 墨西哥毛片内射精| 色婷婷久久| 五月天婷婷人妻| 国产精品久久..4399| 国产成人精品一区二三区熟女在线| 丁香五月婷婷综合网| 欧美色九| 91九九九色在| 51国精产品自偷自偷综合| 欧美成人精品一区二区 | 97色婷| 丁香伊人五月色婷婷五十路| 99这里有精品视频| 91人人网| 97色色在线视频| 激情小说五月天社区丁香| 九九99偷拍视频| 国产激情综合五月久久| 色婷婷丁香五月| 综合在线丁香五月| 婷婷伊人网| 人妻六月天| 国产乱妇无乱码大黄AA片| 日本色婷婷| 丁香5月啪啪| 久久六月天| 人妻免费网站| 亚洲V国产V欧美V久久久久久| 丁香激情四射| 狠狠插狠狠操| 五月激情五月婷婷五月天在线| 色之综合网| 欧美三级欧美一级| 黄久久久| 九月婷婷在线观看| 最新无码专区| 欧美顶级少妇做爰HD| 99热.com| 久久东京热婷婷五月| 五月五婷婷| 国产一级婬片毛片| 色亚洲视频| 日本九九九九| 99热欧美| 97香蕉碰碰人妻国产欧美| 丁香九色不卡aaa| 丁香五月激情久久麻豆| 无码免费人妻A片AAA毛片西瓜| 久久丁香五月天| 黄色片区子| 五月丁香花视频| 婷婷五月天六月丁香| 五月天婷婷无码视频| 成人九九视频| 五月丁查人人| 婷婷五月娱乐在线| 丁香九色不卡aaa| 五月婷婷综合成人| 91综合网| 五月天婷婷AV| 99热1| 97碰碰视频在线观看免费| 亚洲综合草草| 思思99热这里只有精品| 99国产小视频2013| 婷婷六月综合在线| 亚洲婷婷激情888精品久| www,五月丁,com| 在线观看玖玖资源免费观看| 久久精品视频9| 这里只有精品视频99| 激情深爱综合网| 亚洲VA口| 日本欧美在线| 99精品视频在线观看| 99热久久这里只有精品| 中文AV网站| 岛国资源站| 欧美超级视频97| 亚洲av综合网| 七七九九色色| 激情五月天色爱| 婷婷五月天黄色小说| 偷拍五月丁香| 激情五月天 婷婷| 国自产拍偷拍精品啪啪一区二区| 日本www免费九九| 色色色色区| 激情五月综合网最新| 色热久资源| 亚洲精品久久久久久久久久吃药| 99色网站| 色色99| www激情五月天| 久久婷婷六月综合资源| 99re热免费观看视频精品| 色婷久| 丁香色色网| 日韩久久日| 狠狠色噜噜狠狠狠狠综合| 九九视频这里只有精品在线播放 | 久9热视频在线| 99热国产婷婷| 五月色婷婷影视在线电影| 婷婷五月天狠狠| 五月婷色色| 日韩专区五月天婷婷丁香| 大香蕉狼人久久| 久久五月人人摸| 五月天啪啪啪| 国产美女无遮挡裸体毛片A片| 九九超碰人人| 婷婷五月天少妇| 九月色婷婷综合| 99热这里有精品| 五月天综合久久丁香91| 亚洲色欲欧美一区二区三区| 五月丁香啪啪啪| 久久久天堂国产精品女人| 婷婷丁香五月天影院 | 天天人人综合| 五月丁香综合网| 大战熟女丰满人妻AV| 亚洲色图五月丁香| 99热这里只有精品官网| 五月天综合| 特级操b片| 天天精品视频在线观看视频| 丁香成人五月天| 中文字幕性爱视频| 婷婷五月伦理| 99精品网| 日韩色色色色色| EEUSS鲁片一区二区三区| 综合aV在线| www.五月天婷婷.com| 六月丁香婷婷综合狠狠爱夜夜爱| 色色色宗合网| 久久机热这里只有| 五月激情在线| 丁香五月情色| 无码啪啪| 黄网在线免费播放| se99视频| 99在线免费视频播放| 97色97干| www.九月婷婷丁香.com| 色色综合色视频| 亚洲天堂啪啪| 六月丁香婷婷色狠狠久久| 人人爱人人摸人人澡| 久久综合99综合| 深爱激情九九五月天 | 六月婷婷天天操夜夜爽视频| 天天摸天天肏| 99热99精品| 欧美影院| 婷婷五月丁香综合激情| 日韩欧美成人片| 日日操夜夜操无码免费| 久久激情五月婷婷| 91jiuseshunv| www五月| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 99视频只有精品| 婷婷丁香五月天色播网站| 开心五月深爱五月| 5月婷婷综合| 丁香久久| 五月丁香在线偷拍视频| 日韩二区搞逼插逼毛片| 五月丁香六月停停| 丁香婷婷婷| 天天久综合| 91久久免费| 超碰91人人操| 欧洲激情网站| 国产AV一区二区三区最新精品| 激情婷婷丁香色情五月天| 4399啪啪视频| 五月婷婷天| 久草狼人| 亚洲天堂色色| 天天摸日日舔狠狠添婷婷婷| 丁香深五月婷婷| 男人的天堂99| 激情五月天婷婷在线网址发给我| 五月天婷婷綜合院| 色综合久| 色综合五月在线| 精品九九九久| 色色色热| 久热久色| 西西4r午夜剧场| 五月色综合| 玖玖资源站国产| 五月婷婷亚洲天堂97色婷婷| 狠狠穞A片一區二區三區| 久久婷.com| AA片在线观看视频在线播放| 婷婷综合爱| 丁香五月激情啪| 五月天社区| 五月丁香在线综合| www超碰| 亚洲狠狠色丁香婷婷综合久久| 激情欧美丁香五月| 97人人干| a毛片二逼wwwwwwwwww| xx久久| 久久婷婷五月综合激情国产| 亚洲一级AV在线免费播放| 偷拍五月丁香| 久久色这里只有精品| 538任你爽| 欧洲MV日韩MV国产| 香焦网五月天| 激情WWW| 91色九| www五月婷婷88导航| 激情五月婷| 色 五月婷婷基地| 大香av| 超碰免费人| 五月婷婷激情| 五月天激情小说婷婷基地| 中文精品在| 97操资源婷婷| 99热这里只有精品青草| 久久视频在线| 婷婷丁香五月天综合网| 性生活视频98791| 激情五月天。| 五月丁香六月婷综合成人综合 | 久天综合| 日韩AV在线免费| www久久久| 欧美性猛交99久久久99| 五月婷婷激清网| 欧美婷婷六月丁香综合色| 国产婷婷久久| 综合久久激情久久| 中文字幕 码精品视频网站| 婷婷欧美| 开心婷婷五月中文字幕组| 成人五月天婷婷| www一起操| 狠狠狠狠草草| 在线看的免费网站| 六月婷婷中文字幕| 91人操人人人操人| 成人免费va| 精品一区二区三区木瓜| 色八月婷婷| 久久久久久久97| 丁香五月最新网址| 黄色短视频在线观看| 婷婷久久免费看| 97天堂| 亚洲成人网在线观看| 激情久久综合网| 91av色色乱视频| 五月停视频天堂| WWW.久久.COM| 国产精品A成V人在线播放| 色色色色综合| 99视频内射三四| 日韩一级片| www.91操| 亚洲综合99| www.婷婷亚洲基地| 久久作爱| 婷婷色综合| 久久九九热视频| 99热久| 思思久久99| 婷婷五月天av| 色狠狠综合| 日本猛少妇色XXXXX猛叫| 26uuu国产| 六月婷婷五月丁香| 日本人妻伦在线中文字幕| 1024人妻| 亚洲网站观看视频| 久久曰9| 97碰 在线视频观看| 99re久热| 天天色综| 中文无码婷婷| 日韩欧美一区二区三区四区| 激情五月深爱五月| 婷婷丁香五月激情中文字幕版| www天天干| 性99网站| 五月婷婷激情中文字幕| 久热人妻| 日本久久网| 欧州婷婷五月天综合| 婷婷丁香激情五月天色色色| 秋霞网在线免费基地五月婷婷丁香| 人妻中文av| 亚洲在线资源| 激情丁香五月婷| 大香蕉院线| 伊人五月天在线| 五月婷婷丁香大陆免费| 亚洲久久激情| 亚洲精品一区无码A片| 久久九网| 丁香激情四射| 激情五月深爱五月| 色婷婷香蕉丁丁网| 亚洲无码99| 99精品在线| 久久婷婷五月综合色丁香花| 金品在线视频99| a色色色色色| 丁香五月23111| 久色| 欧美 日韩 人妻 高清 中文| 九月停停| 丁香五月欧美成人| 五月欧美色色五月| 五月综合在线| 婷婷成人五月天| 人人妻人人澡人人爽| 色色日韩网| 五月天另类图片| 色婷丁香| 丁香五月色情av| 大香蕉五月婷婷| 天天综合亚洲综合| 另类激情综合| 国产干逼片| 五月婷婷大香蕉| 亚美欧色影院| 亚洲精品色| 国产99久9在线| 天天日天天摸天天| 久久久免费精彩视频| 99久久综合网| 99精品女人天堂| 婷婷丁香高潮了| 狼人婷婷久久| 亚洲av另类在线观看| 五月婷丁香| 五月婷婷真爱激情网| 五月天综合| 香蕉婷婷色五月| 思思re视频在线| 天天日,天天插| 婷婷基地成人五月天| 激情丁香久久| 五月天婷婷网站888| 久久免费少妇高潮99精品| 丁香婷婷六月激情文学 | 97色片| 婷婷热色| 国产看真人毛片爱做A片| 日韩无码性爱| 91人妻视频| 97久久久| www..999热久| 六月丁香五月天| 欧美大片免费观看| 狠狠色丁香久久久婷| 伊人五月天| 另类婷婷五月天啪帕帕| 婷婷色5月天在线。| 九九热在线视频观看| 另类在线观看视频| 激情五月丁香六月综合AVXXXX| 成人午夜视频精品一区| 五月天色导航婷婷资源婷婷| 人妻久热| 99干99| 婷婷草| 九九热这里只有精品9| 爱草视频在线观看| 五月婷婷丁香| 这里只有精品视频在线观看免费| 91免费看片| 性爱激情小说AV五月丁香花| 五月天影院| 香港九九六区八区99| 五月丁香六月停停| 男同91 | 亚洲成人色五月天| 99热官网| 九九家庭影院| www久久99| 国产伊人五月天| 国产这里只有精品| 66精品国产成人| 人人爱操| 国产韩日亚洲美州欧亚综合在线| 丁香婷婷性爱| 大香蕉婷婷| 色五月 五月婷婷| 99在线观看亚洲| av九九| 国产精品在线视频| 久热在线中文字幕色999舞| 久婷婷久草| 九九九九操逼| 激情婷婷五月天日本系列| 九月停停| 俺去也婷婷| 久热91精品| 色五月激情婷婷| 97色色-99久久| a网站免费观看| 久久人妻情侣| 色色色色色日韩午夜激情 | 色五月婷婷7777| 丁香六月婷婷综合在线| 六月丁香天堂| YJLZZJLZZ亚洲乱熟无码| 久99久视频| 婷婷激情五月| 天天综合天天玩夜夜玩天天玩夜夜玩 | 97偷拍在线视频| 色呦呦美女| 久久久思思热| 性爱激情五月| 婷婷五月色激情欧美激情| 超碰色色综合| 色婷婷狠狠| 丁香五月婷婷欧美成人色图| 婷婷玖玖丁香| 四色五月婷婷| 99色在线观看| 色玖玖综合| 五月丁香六月婷| 丁香丝袜五月| 色五月天丁香婷婷| 丁香五月影院| 五月婷天天搞视频| 9精品在线| 国产欧美日韩综合精品一区二区| 玖玖资源站蜜臀| 91色九| 日本欧美成人片AAAA| 激情五月天 婷婷| 五月花综合| 超级久久久| 色婷婷狠狠| av人人操| 日本欧美在线| 懂色av粉嫩AV蜜臀AV| 九九99九九99偷拍视频免费看| 最新激情五月天| 97超级操操| 成人无码精品1区2区3区免费看| 99亚洲色色| 热中文字幕| 97久久精品视频| 99亚洲精品视频| VfJxEwPH| 色婷丁香五月| 射久久丁香五月| 97超碰婷婷五月天| 五月婷婷色影院| 五月婷婷综合潮喷| 99re热精品在线视频| 五月丁香婷婷老司机| 日日噜噜夜夜狠狠久久丁香五月| 色色色色色色色色网站| 天天综合亚洲综合网天天αⅴ| 99伊人婷婷在线| 五月天综合| 久久女人天堂| 91色情播放| 开心婷婷五月花| 96丁香六月婷婷蜜桃综合久久| 色情成人五月天| EEUSS鲁片一区二区三区| www.maotanji.com| 五月开心深深爱激情综合| 久鲁鲁色网 | 天天综合天天做天天综合| 国产成人在线不卡AV| 色99久草在线| 色一情一乱一伦一区二区三区| 99日本黄站| 色99在线视频| 99亚洲色| 99精品视频在线观看| 婷婷九月激情| 欧美激情五月天| 婷婷五月天激情五月天深爱五月天| 久久99最新| VA色婷婷| 婷婷丁香五月天影院| 日本9区视频| 五月婷婷久久大片| 99热在线观看| 超碰免费人人| www.五月丁香| caop在线| 九九这里是免费的视频5| 99视频在线| 五月天激情无码| 国产婷婷五月天| 天天橾日日橾夜夜橾17| 99热久只有| 狠狠香婷婷五月| 轮奸综合网| 爱射综合| 九九热AV| 狠狠爱综合网| 99亚洲天堂| 成人短视频在线| 五月丁香婷婷综合久久| 久艹大香蕉| 五月丁香婷婷成人版| 日本黄色在线观看| 久久999久久999久久999久久| 婷婷伊人视婷婷婷| 色99婷婷五月天| av无码电影| 99丁香五月婷| 色综合久久综合中文综合网| 99久久玖玖| 久久婷婷综合基地| 九九综合九九| 激情婷婷| wwxx日本| 色天天综合色| 天天综合亚洲综合| 永久AⅤ1| 青青草成人网| 9久热在线视频精品| 日韩操逼大片| 日日夜夜天天综合| 激情综合五月| 久久AV无码精品人妻系列试探| 激情五月丁香五月综合| 日韩中出视频| 六月丁香天堂| 五月丁香婷中文| 99er6免费视频热播| 综合色天天| 看久久性爱视频| 激情五月天啪啪| 人人草人人爱| 三十熟女| 九九精品少妇| 五月婷婷av| 婷婷五月天 偷拍| 国产成人+亚洲+欧洲| 超碰国产AV| 99色色| 婷婷五月天最新网址| 日本九九视频| 五月天丁香六月综合| 婷婷天天综合| 激情五月激情综合网| 久久九九综合| 95精品区一区二| 精品人妻在线| 激情综合4月| 99久久激情视频| 淫视馆aV二区一区| 久爱综合| 热99精品视频| 五月婷婷这里都是精品| 噜噜国产| 99热综合| 亚洲视频久久| AV色五月婷婷| 丁香激情五月少妇| 99re思思久久| 婷婷中文综合网| 91色久| 激情开心五月天婷婷基地丁香社区| 九九热re99re6在线精品| 国产精品第一国产精品| 日韩五月婷婷| 天天天天天天天干| 婷婷六月丁香欧美视频在线| 五月丁香黄色视频| 伊人喵咪a V| 日韩啪啪视频| 亚洲性爱区无码区| 久久伊人五月天| 五月婷婷之综合激情在线| 婷婷五月天堂网| 五月婷婷综合在线视频小说| 99色热| 久久九九九九| 第六色在线| 午夜色婷婷| 婷婷五月丁香综合桃花色网| 人妻性爱| 操操人人| 五月婷中文娱乐综合| site:pzdcoin.com| 国产精品久久99| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 欧美五月丁香| www.夜夜操| 色5月婷婷色| 五月天激情无码| 欧美性猛交AAAA片黑人 | 五月丁香好婷婷A片网| 夜丁香五月婷婷| 思思热在线视频精品| aa久久| 直接看的AV| 成人综合视频网址| .操區COm| 丁香六月啪| 婷婷五月天久久综合88| 综合五月激情网| 丁香六月婷婷久久综合| 九九热欧美| 香蕉视频91| 亚洲视频无| 亚洲免费99| 五月综合久久| 六月激情网| 久草嫩草在线观看| 丁香五月人妻熟女| 人人操AV| 激情综合青草| 亚洲中文乱字字幕在线永久| 婷婷六月激情| 在线视频99| 91精产一区三区免费观看| 色色网站免费| 1级欧美日韩| 岛国av电影网站| 久久99热网| 夜夜操少妇| 日日影院 | 天天艹夜夜爽| 伊人在线视频| 婷婷五月开心中文字幕色| 九九亚洲| 一个色的综合| 欧美精品中文字幕亚洲专区| 日本狠狠爽| 日本欧美成人片AAAA| 欧美婷婷五月无砖| 丁香激情五月| 婷婷伊人激情婷婷| 人妻丰满精品一区二区A片| 激情综合色五月六月婷婷| 天天射影院| 亚洲九九99精品视频在线播放| 四川BBB搡BBB爽爽视频| 激情小说之五月| 色吧网综合| 性综合网| 日韩无码成人电影|