雙11密令紅包的前端技術方案

jopen 9年前發布 | 17K 次閱讀 紅包 前端技術

玩法簡介

今年的雙11不僅買買買令人興奮,密令紅包也讓人欲罷不能、搶到手軟。每天,都有新鮮出爐的密令從各種渠道放出,只要打開手機淘寶,在搜索框輸入密令就可以搶現金紅包啦~

一年一度的紅包盛事沒有彩蛋怎么行呢?輸入秋褲、冰箱、手機膜試試看?哎呀我的手機怎么這樣了?

玩法圖

咳咳,雙11已經結束,我們還是回歸具體需求和技術實現本身吧:P

需求整理

如上所述,密令紅包主要分為以下兩種:

  • 密令紅包:商家、明星、平臺或者個人預先設置一段密令,用戶通過搜索框輸入密令參與抽獎,得到紅包。
  • 關鍵詞紅包:對于用戶輸入的一些特定搜索關鍵詞,播放一段動效(2種打底動效 + 6種特殊動效),然后參與抽獎獲得紅包。
  • </ul>

    今年的雙11是無線主導,我們不能滿足于只做手淘中的頁面,還要在更多的地方把這個玩法落地:

    • 應用:淘寶、天貓
    • 操作系統:iOS、Android
    • 終端:Phone、Pad、PC
    • </ul>

      設計一套技術方案來滿足這樣的需求,并在短時間內快速實現,還是蠻有挑戰的。待解決的問題主要有兩個: 跨終端適配玩法接入

      跨終端適配

      這個玩法幾乎所有的頁面都需要適配Phone、Pad和PC。使用響應式開發,一套頁面適配所有端曾經是我們的夢想,但是也得回歸現實。不管是從設計方面,還是技術實現方面,密令紅包的PC版本都與Phone版本存在著較大的差異,針對PC和Phone做兩套頁面的實現是無法避免的。

      對于Phone頁面,我們使用寒冬 @wintercn 大大親自設計的手機淘寶可伸縮布局方案lib.flexible。為了在工程上解決rem值轉換的問題, @songsiqi 開發了px2rem工具集gulp插件webpack loaderpostcss插件一應俱全。

      PC版本是需要以模塊方式提供給首頁、搜索結果等頁面,頁面兼容舊版本IE,使用KISSY。

      而對于Pad頁面,之前的實踐和積累都是比較缺乏的。

      • 比起Phone和PC,Pad的使用場景受限,頁面pv/uv都比較小。
      • Pad的展示效果類似PC,但交互體驗更像是Phone。
      • 手機淘寶的自適應布局方案lib.flexible并沒有考慮Pad。
      • </ul>

        結合淘寶Pad、天貓Pad頁面的具體情形,和密令紅包本身的需求,考慮到實現的成本,最終的解決方案是: Pad頁面在PC頁面模塊的基礎上適配而來,做一些額外的樣式和功能定制 。Pad頁面和PC頁面的不同之處在于,接入方是自己的頁面,而非外部頁面。

        同一模塊適配PC和Pad頁面

        玩法接入

        整個密令玩法都是基于 搜索框 來玩的。對于不同的終端,接入的方式也不同。

        Phone、Pad:使用poplayer接入

        Poplayer是淘寶/天貓APP的一個native組件,可以在當前native頁面上覆蓋一層h5頁面,當poplayer頁面背景為透明或半透明時,可配置用戶是否能夠點透至被覆蓋頁面。Poplayer的出現,融合了native與h5,我們得以利用h5頁面快速開發、快速迭代的優勢,對下方已有的native頁面的交互功能進行增強。主要應用場景如下:

        • 添加入口:持續放在native頁面的某個位置,例如手淘的圖文詳情上浮動的“問大家”入口。
        • 彈層覆蓋:例如今年雙11的密令紅包,就是使用了poplayer,在正常的搜索邏輯基礎上接入了密令紅包玩法。具體過程如下圖所示:
        • </ul>

          Phone、Pad接入

          PC:提供KISSY模塊接入外部頁面

          PC上的密令玩法會接入淘寶/天貓/海淘的首頁、搜索結果等頁面。與Phone和Pad不同的是,這次我們暴露給外部頁面的是KISSY模塊,而非頁面。KISSY模塊的依賴關系如下圖所示:

          PC接入模塊依賴圖

          接入密令紅包玩法相關模塊之后的搜索過程如下圖所示:

          PC接入中轉邏輯

          最終效果展示

          以C2C紅包為例:

          • Phone效果:

            Phone效果

            </li>

          • Pad效果:

            Pad效果

            </li>

          • PC效果:

            PC效果

            </li> </ul>

            小結

            就這樣, 搜索被我們玩壞了!!!

            這些玩法和一個個對應的技術點,拆開來看似乎不是很特別,但是作為整套解決方案,把一路的探索過程和踩過的坑梳理清楚并沉淀下來,還是很有意義的。

            </div> </div> </div> https://github.com/amfe/article/issues/20

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!