欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    菇街PC首頁瀑布流實踐

    作者:蘑菇街前端團隊

    鏈接:https://juejin.im/post/5e05acf0f265da33d158a1b1


    零、介紹

    這篇文章主要是介紹網(wǎng)站頁面瀑布流布局的實現(xiàn),主要包括:

    1. 瀑布流是什么
    2. 瀑布流的實現(xiàn)原理
    3. 瀑布流的使用場景
    4. 實現(xiàn)中有哪些問題 & 如何解決
    5. 可擴展的使用場景

    一、瀑布流是什么

    瀑布流, 又稱瀑布流式布局,是比較流行的一種網(wǎng)站頁面布局。視覺表現(xiàn)為寬度相等高度不定的元素組成的參差不齊的多欄布局,隨著頁面向下滾動,新的元素附加到最短的一列而不斷向下加載。

    二、瀑布流的實現(xiàn)原理

    瀑布流本質(zhì)上就是尋找各列之中高度最小的一列,并將新的元素添加到該列后面,只要有新的元素需要排列,就繼續(xù)尋找所有列中的高度最小列,把后來的元素添加到高度最小列上。

    圖解基礎(chǔ)瀑布流

    我們接下來看下為什么要永遠(yuǎn)尋找最小列?

    先看圖1的排列順序,第一排元素的頂部會處于同一個高度,依次排列在頂端,第一排排滿之后,第二排從左往右排列。然而這種排列方式很容易出現(xiàn)其中一列過長或其中一列過短的情況。

    為了解決 圖1 中列可能過長或者過短的問題,我們按照 圖2 的方式將元素放在最短的一列進行排列。

    三、瀑布流的使用場景

    瀑布流滑動的時候會不停的出現(xiàn)新的東西,吸引你不斷向下探索,巧妙的利用視覺層級、視線的任意流動來緩解視覺的疲勞,采用這種方案可以延長用戶停留視覺,提高用戶粘度,適合那些隨意瀏覽,不帶目的性的使用場景,就像逛街一樣,邊走邊看,所以比較適合圖片、商品、資訊類的場景,很多電商相關(guān)的網(wǎng)站都使用了瀑布流進行承載。

    上圖的蘑菇街 PC 瀑布流效果是在基礎(chǔ)瀑布流的基礎(chǔ)上做了擴展改造, 在瀑布流頂部某一列或某幾列插入其他非瀑布流內(nèi)容。

    本文將介紹這種擴展瀑布流的四列實現(xiàn)場景,適用基礎(chǔ)場景如下:

    四、瀑布流的的實現(xiàn)有哪些問題&如何解決

    1. 非瀑布流內(nèi)容如何插入?
    2. 如何尋找所有列的高度最小者?
    3. 如何渲染瀑布流?

    Vue 實現(xiàn)瀑布流

    我們采用 Vue 框架來實現(xiàn)瀑布流,其一些自帶屬性使我們的瀑布流實現(xiàn)更加簡單。

    • 通過 ref 可以很方便的獲取每列高度,通過比較算法算出高度最小列。
    • 拿到高度最小列之后,將下個要插入的元素數(shù)據(jù)放到最小列的數(shù)據(jù)列表(columnList)中,通過操作數(shù)據(jù)完成元素渲染。
    • 利用 Vue 的具名插槽在瀑布流頂部插入其他非瀑布內(nèi)容。
    • 通過 watch 監(jiān)測元素渲染,判斷是否繼續(xù)進行渲染和請求更多元素數(shù)據(jù)。

    非瀑布流內(nèi)容如何插入

    通過 Vue 的具名插槽(slot),將非瀑布流元素作為父組件的內(nèi)容傳遞給瀑布流子組件。

    • 父組件通過 HTML 模板上的槽屬性關(guān)聯(lián)具名插槽,非瀑布流內(nèi)容作為具名插槽的內(nèi)容提供給子組件。
    • 具名插槽有:first-col、second-col、 third-col、 last-col、 merge-slot,分別代表第一、二、三、四、合并列。
    • 子組件通過插槽名字判斷將非瀑布流內(nèi)容放在哪一列。如果插槽存在,則將其所攜帶的內(nèi)容插入到置頂位置。
    • 因為合并列的特殊性,如果包含合并列,則將合并列絕對定位到頂部,合并列占的瀑布流對應(yīng)的列進行下移。父組件傳合并列相關(guān)的參數(shù)給子組件:merge(判斷是否包含合并列), mergeHeight(合并列的高度),mergeColunms(合并的是哪 2 列)。

    代碼實現(xiàn)

    <!-- 父組件 -->
    <div class="parent">
        <Waterfall :merge=true :mergeHeight=800 mergeColumns=[2,3]>
            <template slot="first-col">
                <!-- 第一列內(nèi)容...      -->
            </template>
            <template slot="second-col">
                <!-- 第二列內(nèi)容...     -->
            </template>
            <template slot="third-col">
                <!-- 第三列內(nèi)容...      -->
            </template>
            <template slot="last-col">
                <!-- 第四列內(nèi)容...      -->
            </template>
            <template slot="merge-col">
                <!-- 合并內(nèi)容...     -->
            </template>
        </Waterfall>
    </div>
    <!-- 子組件(waterfall) -->
    <div class="child">
        <!-- 第一列 -->
        <div ref="column1" :style="{marginTop: merge && mergeColumns.indexOf(1) > -1 ? mergeHeight + 'px':''}">
            <template v-if="$slots['first-col']">
                <slot name="first-col"></slot>
            </template>
            <template v-for="(item, index) in columnList1">
                <!-- 第一列瀑布流內(nèi)容... -->
            </template>
        </div>
        <!-- 第二列 -->
        <div ref="column2" :style="{marginTop: merge && mergeColumns.indexOf(2) > -1 ? mergeHeight + 'px':''}">
            <template v-if="$slots['second-col']">
                <slot name="second-col"></slot>
            </template>
            <template v-for="(item, index) in columnList2">
                <!-- 第二列瀑布流內(nèi)容... -->
            </template>
        </div>
        <!-- 第三列 -->
        <div ref="column3" :style="{marginTop: merge && mergeColumns.indexOf(3) > -1 ? mergeHeight + 'px':''}">
            <template v-if="$slots['third-col']">
                <slot name="third-col"></slot>
            </template>
            <template v-for="(item, index) in columnList3">
                <!-- 第三列瀑布流內(nèi)容... -->
            </template>
        </div>
        <!-- 第四列 -->
        <div ref="column4" v-if="is4Columns">
            <template v-if="$slots['last-col']">
                <slot name="last-col"></slot>
            </template>
            <template v-for="(item, index) in columnList4">
                <!-- 第四列瀑布流內(nèi)容... -->
            </template>
        </div>
        <!-- 合并塊非瀑布流內(nèi)容 -->
        <div class="column-merge" v-if="merge" :style="{left: (mergeColumns[0] - 1)*330 + 'px'}">
            <slot name="merge-col"></slot>
        </div>
    </div>

    如何尋找所有列的高度最小者

    每一列都定義一個 ref,通過 ref 獲取當(dāng)前列的高度,如果該列上方有合并塊,則高度要加上合并塊的高度,然后比較 4 列高度取到最小高度,再通過最小高度算出其對應(yīng)的列數(shù)。

    代碼實現(xiàn)

    // 通過ref獲取每列高度,column1,column2,column3,column4分別代表第一、二、三、四列
    let columsHeight=[this.$refs.column1.offsetHeight, this.$refs.column2.offsetHeight, this.$refs.column3.offsetHeight, this.$refs.column4.offsetHeight]
    
    // 如果包含合并塊, 則更新高度,合并塊下的列高要增加合并塊的高度
    if(this.merge){
        // 如果有合并列,則合并列下的列高度要加合并內(nèi)容的高度。
        columsHeight[0]=this.mergeColumns.indexOf(1) > -1 ? columsHeight[0] + this.mergeHeight : columsHeight[0];
        columsHeight[1]=this.mergeColumns.indexOf(2) > -1 ? columsHeight[1] + this.mergeHeight : columsHeight[1];
        columsHeight[2]=this.mergeColumns.indexOf(3) > -1 ? columsHeight[2] + this.mergeHeight : columsHeight[2];
    		columsHeight[3]=this.mergeColumns.indexOf(4) > -1 ? columsHeight[3] + this.mergeHeight : columsHeight[3];
    }
    
    // 獲取各列最小高度
    let minHeight=Math.min.apply(null, columsHeight);
    
    // 通過最小高度,得到第幾列高度最小
    this.getMinhIndex(columsHeight, minHeight).then(minIndex=> {
    	 // 渲染加載邏輯
    });
    
    // 獲取高度最小索引函數(shù)
    getMinhIndex(arr, value){
        return new Promise((reslove)=> {
            let minIndex=0;
            for(let i in arr){
                if(arr[i]==value){
                    minIndex=i;
                    reslove(minIndex);
                }
            }
        });
    }

    如何渲染瀑布流

    瀑布流常用在無限下拉加載或者加載數(shù)據(jù)量很大、且包含很多圖片元素的情景,所以通常不會一次性拿到所有數(shù)據(jù),也不會一次性將拿到的數(shù)據(jù)全部渲染到頁面上,否則容易造成頁面卡頓影響用戶體驗,所以何時進行渲染、何時繼續(xù)請求數(shù)據(jù)就很關(guān)鍵。

    何時渲染

    選擇渲染的區(qū)域為滾動高度 + 可視區(qū)域高度的 1.5 倍,既可以防止用戶滾動到底部的時候白屏,也可以防止渲染過多影響用戶體驗。如果 最小列的高度 - 滾動高度 < 可視區(qū)域高 * 1.5 ,則繼續(xù)渲染元素,否則不再繼續(xù)渲染。

    何時請求數(shù)據(jù)

    當(dāng)已渲染的元素+可視區(qū)域可以展示的預(yù)估元素個數(shù) > 已請求到的個數(shù) 的時候才去繼續(xù)請求更多數(shù)據(jù),防止請求浪費。 如果 已加載的元素個數(shù) + 一屏可以展示的元素預(yù)估個數(shù) > 所有請求拿到的元素個數(shù) ,則觸發(fā)下一次請求去獲取更多數(shù)據(jù)。

    瀑布流渲染核心思路

    • 監(jiān)測滾動,判斷是否符合渲染條件,如果符合條件則開始渲染。
    • 定義一個渲染索引 renderIndex,每渲染一個元素后 renderIndex + 1, 實時監(jiān)測 renderIndex 的變化, 判斷是否符合渲染和數(shù)據(jù)請求條件。
    • 拿到最小高度列索引后,將下一個元素插入到該列中,并觸發(fā) renderIndex + 1 進行下一輪渲染判斷。

    代碼實現(xiàn)

    data() {
        return {
            columnList1: [], // 第一列元素列表
            columnList2: [],
            columnList3: [],
            columnList4: [],
            renderIndex: -1, // 渲染第幾個item
            isRendering: false, // 是否正在渲染
            itemList: [], // 所有元素列表
            isEnd: false
        };
    }
    
    watch: {
        renderIndex(value) {
    
            // 當(dāng)前滾動條高度
            const scrollTop=document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
    
            // 最小列高度 - 滾動高度 < 可視區(qū)域高的的1.5倍
            if (renderMinTop - scrollTop < winHeight * 1.5) {
                this.renderWaterfall();
            }
    
            // 已加載的元素個數(shù) + 一屏可以展示元素預(yù)估個數(shù) > 所有請求拿到的元素個數(shù)
            if (loadedItemNum + canShowItemNum > this.itemList.length && !this._requesting && !this.isEnd) {
                // 請求瀑布流數(shù)據(jù)
                this.getData();
            }
        }
    }
    
    scroll() {
    
        // 當(dāng)前滾動條高度
        const scrollTop=document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
    
        // 底部檢測高度
        const bottomDetectionTop=this.$refs.bottomDetection.offsetTop;
    
        const tempLastScrollTop=lastScrollTop; // lastScrollTop:上次一滾動高度
        lastScrollTop=scrollTop;
    
        if (tempLastScrollTop===-1) {
            this.renderWaterfall();
        }
    
        // 如果是向下滾動則判斷是否需要繼續(xù)渲染
        if (scrollTop > tempLastScrollTop) {
            if (bottomDetectionTop - tempLastScrollTop < winHeight * 1.5 && !this.isRendering) {
                this.renderWaterfall();
            }
        }
    
    }
    
    renderWaterfall() {
    
        // 如果還沒有數(shù)據(jù)、所有數(shù)據(jù)已經(jīng)渲染完成、正在渲染則不進行渲染計算操作
        if (this.itemList.length===0 || this.renderIndex >=this.itemList.length - 1 || this.isRendering) {
            if (this.renderIndex===this.feedList.length - 1 && !this._requesting && !this.isEnd) {
                this.getData();
            }
            return;
        }
        this.isRendering=true;
    
        /***
        *** 獲取最小高度代碼
        ***/
    
        this.getMinhIndex(columnsHeight, minHeight).then(minIndex=> {
    
            const key=`columnList${minIndex + 1}`;
            let itemData=this.itemList[this.renderIndex + 1];
            this[key]=this[key].concat(itemData);
            this.$nextTick(()=> {
                this.renderIndex=this.renderIndex + 1;
                this.isRendering=false;
            });
        });
    }

    五、可擴展的使用場景

    為了靈活使用瀑布流,在設(shè)計的時候就做好了擴展準(zhǔn)備,通過 HTML 模板代碼可以看出來,具名插槽的內(nèi)容可以放在任意列,并沒有限制死,所以可以擴展使用到以下各個場景。

    關(guān)注我

    大家好,這里是 FEHub,每天早上 9 點更新,為你分享優(yōu)質(zhì)精選文章,與你一起進步。

    如果喜歡這篇文章,希望大家點贊,評論,轉(zhuǎn)發(fā)。你的支持,是我最大的動力,咱們明天見 :)

    關(guān)注公眾號 「FEHub」,每天進步一點點

    周末福利

    感謝大家的支持,周末領(lǐng)紅包,加雞腿。

    公眾號后臺回復(fù)關(guān)鍵字:「雞腿」,即可參與紅包抽獎。

    日,在社交媒體上,有人爆料稱,蘑菇街計劃裁員,技術(shù)部門比例高達80%。



    據(jù)了解,去年4月蘑菇街進行過一次裁員,約有140名員工受到影響,蘑菇街相關(guān)負(fù)責(zé)人對媒體表示:“此次將優(yōu)化140人左右,占比為10%,主要集中在技術(shù)部門。”


    此前,蘑菇街直播負(fù)責(zé)人已于3月31日離職,CFO吳婷、高級副總裁曾憲杰也已離職。



    8月24日,蘑菇街發(fā)布了2021財年第一季度財報。財報顯示,蘑菇街第一季度實現(xiàn)營收9200萬元,同比下降30.6%;調(diào)整后的凈虧損為2430萬元,同比縮窄65.96%;總GMV達31.2億元,同比下降25.2%。


    一般來說,技術(shù)部門是互聯(lián)網(wǎng)電商的核心,無論是數(shù)據(jù)庫,運維,還是開發(fā)改BUG都要留一部分人馬在。這次一下子干掉80%,那么只能說過去的積累基本就算是廢了,技術(shù)積累需要一個傳承的過程,一下就都沒了。說明很長一段時間不準(zhǔn)備改善業(yè)務(wù)了,就是在茍延殘喘了。


    像極了某些準(zhǔn)備清場的要倒閉的公司,互聯(lián)網(wǎng)起的快,塌的也快。輕資產(chǎn)的互聯(lián)網(wǎng),除了人力資本和場地租金,估計也就沒啥值錢的了。



    我的觀察基本上沒有任何公司裁員這么多的幅度還能緩過來的。他能緩過來的話,也不會再開展原來的業(yè)務(wù)了,會新開新的業(yè)務(wù)板塊。


    技術(shù)部門算是一個公司最難以重建的部門了,這次蘑菇街算是完完全全的準(zhǔn)備躺平冬眠了。


    無獨有偶,近日,愛奇藝大裁員,比例達到20%至40%之間,為該公司史上最大規(guī)模的一輪裁撤。字節(jié)跳動的教育及游戲板塊也有裁員動作。另一家巨頭快手科技,傳出年底將大裁員,“計劃裁員30%”。



    真正的互聯(lián)網(wǎng)寒冬來臨了嗎?


    裁員的原因有經(jīng)濟因素當(dāng)然也有政策因素。


    裁撤行為本質(zhì)上是市場清算,是對錯誤決策的一種糾正。


    互聯(lián)網(wǎng)的發(fā)展本身就身處于一個巨大的周期之中,從互聯(lián)網(wǎng)的誕生到現(xiàn)在,主要經(jīng)歷了PC時代和移動互聯(lián)網(wǎng)時代,而我們正處于移動互聯(lián)網(wǎng)時代的末尾。當(dāng)然這里的移動互聯(lián)網(wǎng)指得是狹義的手機上的互聯(lián)網(wǎng),不包括一些物聯(lián)網(wǎng)設(shè)備、可移動的其他類型的智能設(shè)備。



    中國互聯(lián)網(wǎng)公司大多數(shù)誕生在PC時代末期,而蓬勃發(fā)展于移動互聯(lián)網(wǎng)時代。搜狐、新浪、網(wǎng)易、百度,誕生在PC時代末期,是當(dāng)時中國互聯(lián)網(wǎng)佼佼者。到后來騰訊、字節(jié)、阿里巴巴,這些在移動互聯(lián)網(wǎng)發(fā)家致富的公司規(guī)模遠(yuǎn)超前者。說前者被時代淘汰了也絲毫不算過分。


    而現(xiàn)在,可能正屬于移動互聯(lián)網(wǎng)周期的末尾,一些已經(jīng)跟不上步伐的互聯(lián)網(wǎng)公司正慢慢被時代拋棄。

    片來源:視覺中國

    在愛奇藝、快手相繼裁員之后,電商平臺蘑菇街也被曝計劃裁掉80%的技術(shù)部門人員。據(jù)悉,去年4月蘑菇街就曾裁員14%。

    近日,多位脈脈用戶爆料稱,電商平臺蘑菇街計劃裁員,其中技術(shù)部門將裁掉80%,整體大概裁員30%。爆料消息稱,蘑菇街技術(shù)部門調(diào)整后只留下三十余人(含前端、后端、客戶端、算法等所有技術(shù)相關(guān)人員),運維部門僅剩3人,產(chǎn)品崗則僅剩2人。

    一位知情人士向界面新聞透露,裁員情況屬實,整體裁員比例大約在30%左右,但技術(shù)部門裁員比例超過一半,并沒有達到80%。一位賬號認(rèn)證為“蘑菇街java工程師”的脈脈用戶表示,“技術(shù)部縮水70%是有的”

    有評論表示,在沒有大規(guī)模業(yè)務(wù)來分?jǐn)偧夹g(shù)成本的情況下,技術(shù)自然是公司裁員的優(yōu)先選擇。

    據(jù)了解,去年4月蘑菇街就曾裁員14%,人數(shù)高達140人。根據(jù)蘑菇街創(chuàng)始人陳琪發(fā)給全體員工的內(nèi)部信顯示,該輪裁員主要對部分業(yè)務(wù)進行優(yōu)化調(diào)整,裁撤部分因歷史原因遺留下來的業(yè)務(wù),尤其是與核心業(yè)務(wù)電商直播偏離的部門。

    市值蒸發(fā)超14億

    蘑菇街是一個專注時尚女性消費者電子商務(wù)網(wǎng)站,隸屬于杭州卷瓜網(wǎng)絡(luò)有限公司,該公司成立于2010年。2016年,蘑菇街與騰訊投資的美麗說合并成立美麗聯(lián)合集團。2018年12月,蘑菇街在紐交所成功上市,證券代碼為“MOGU”。

    根據(jù)財報數(shù)據(jù),2019年至今,蘑菇街處于連年虧損的狀態(tài),其中2019財年總營收為10.74億元,虧損額為5億元;到2020財年的總營收降至8.35億元,同比下降了22.24%,虧損額則進一步擴大到22.38億元;2021財年的總營收再次下跌,為4.82億元,同比下降了42.25%,虧損額收窄至3.28億元。

    8月27日,蘑菇街公布財報,公告顯示公司2022財年第一財季歸屬于普通股東凈利潤為-9549.70萬元,同比下降7.41%;營業(yè)收入為9196.8萬元,同比下降30.57%。

    從財報整體數(shù)據(jù)來看,近年來蘑菇街的營收結(jié)構(gòu)也發(fā)生了變化。據(jù)財報數(shù)據(jù)顯示,2021財年,蘑菇街的總營收為4.824億元,傭金收入為3.19億元,在總營收中所占比重增至66.05%;營銷服務(wù)收入為7135萬元,在其總營收中所占比重下降至14.79%。

    股價方面,截至12月22日收盤,蘑菇街每股報0.432美元,今年以來股價跌80%。同時,最新市值為4324萬美元,和2018年上市之初接近15億元的市值相比,市值蒸發(fā)超過14億,降幅超95%。

    在成本方面,蘑菇街進行了收縮。數(shù)據(jù)顯示,2021財年蘑菇街的主營業(yè)務(wù)成本為1.83億元,同比減少了37.7%;銷售費用為2.30億元,同比減少了62.5%。

    轉(zhuǎn)戰(zhàn)直播電商

    據(jù)中國基金報,蘑菇街在接連錯過海淘電商、品牌特賣、社區(qū)分享、社交電商等風(fēng)口之后,蘑菇街最終選擇轉(zhuǎn)戰(zhàn)直播電商。

    2019年,蘑菇街提出“雙百計劃”、“候鳥計劃”、“百加計劃”等,著重發(fā)展直播業(yè)務(wù),面向全網(wǎng)招募有穿搭、美妝經(jīng)驗的主播,并鼓勵擁有優(yōu)質(zhì)主播資源的機構(gòu)或供應(yīng)鏈入駐,期望以直播電商為突破口,打破公司發(fā)展瓶頸。

    隨著蘑菇街重新進入直播電商領(lǐng)域,逐漸挽回頹勢。盡管公司營收連年下降,但是直播業(yè)務(wù)已經(jīng)開始持續(xù)成長。

    根據(jù)2020財年四季度數(shù)據(jù),蘑菇街平臺總GMV為24.2億元,同比下降33.8%,其中直播GMV同比增長54.1%至15.81億元。

    財報顯示,2021財年第四季度,蘑菇街平臺的總GMV為25.76億元,同比增長了6.5%,其中直播GMV達到了22.4億元,同比增長了42%;2021財年全年,蘑菇街的平臺總GMV為138.55億元,其中直播GMV為108.78億元,同比增長了38.1%,而直播GMV占平臺總GMV的比重高達78.5%。

    到2022財年第一季度數(shù)據(jù),蘑菇街平臺總GMV為28.64億元,其中直播GMV達26.00億元,同比增長14.7%,環(huán)比增長15.8%。蘑菇街直播GMV在平臺總GMV中的占比已增至90.8%。

    據(jù)悉,在過去一年時間里,蘑菇街新增了1530萬用戶和近1500位新主播,并且引入了超2300個首次進行合作的品牌。

    轉(zhuǎn)型后前景仍不容樂觀

    在蘑菇街轉(zhuǎn)型成為一家直播電商公司之時,直播電商領(lǐng)域遇到了大震蕩。雪梨、林珊珊等頭部大主播相繼因稅務(wù)問題被封殺,而不久前,“直播帶貨一姐”薇婭偷逃稅被罰13.41億元。據(jù)稅務(wù)部門透露,除薇婭外仍有部分頭部主播偷漏稅未被披露。此后,稅務(wù)總局發(fā)布通知中明確指出,對2021年底前能夠主動報告并及時糾正涉稅問題的,可以依法從輕、減輕或者免予處罰。據(jù)了解,已有上千人主動自查補繳稅款。

    盡管隨著稅務(wù)監(jiān)管部門對于直播帶貨行業(yè)的稅務(wù)情況監(jiān)管的持續(xù)進行,不斷有人補繳稅款,但公眾對于主播的信任在不斷降低,在此背景下,蘑菇街還能否繼續(xù)依靠直播電商尚未可知。

    此外,電商直播領(lǐng)域格局已定,蘑菇街發(fā)展空間有限。電商直播領(lǐng)域已經(jīng)形成了淘寶、抖音和快手“三家獨大”局面。2019年,淘寶直播占據(jù)的市場份額就達到了59.52%,快手的帶貨規(guī)模為1000億元,市場份額占比為23.8%;抖音的帶貨規(guī)模為400億元,市場份額占比為9.5%。

    除了要面對淘寶、抖音和快手這三家頭部企業(yè)之外,蘑菇街還要和京東、拼多多、蘇寧易購、小紅書和唯品會等平臺進行競爭。而蘑菇街的用戶增長數(shù)量緩慢也是一大劣勢,自從蘑菇街的活躍用戶數(shù)量達到3000萬之后,一直處于較為穩(wěn)定的狀態(tài),雖然在過去一年新增了1530萬用戶,但與小紅書超過3億的用戶數(shù)相比還是居于劣勢。

    值得一提的是,2020年8月,蘑菇街曾因“利用廣告或者其他方法,對商品作引人誤解的虛假宣傳”被杭州市西湖區(qū)市場監(jiān)督管理局行政處罰。此外,蘑菇街(版本號15.1.1.22931)存在“違規(guī)收集個人信息”記錄。

    (鈦媒體App編輯張洪錦綜合自中國基金報、界面新聞、同花順財經(jīng)等)

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有