逆向解構(gòu):摩拜單車月卡系統(tǒng)

1 評(píng)論 13289 瀏覽 54 收藏 11 分鐘

在共享單車市場已成紅海、小型創(chuàng)業(yè)公司不斷倒下的今天,月卡成為摩拜、OFO等玩家拉新、留存的不二選擇。在本文探究了摩拜單車的月卡系統(tǒng)運(yùn)行方式,以下就是作者探究的過程和結(jié)論,其中必有疏漏,歡迎指正、討論。

PS. 本文詳細(xì)描述了作者探究的全部過程,如果不想了解詳細(xì)過程,可以直接拉到最后看結(jié)果 ^_^

前提

  1. 178開頭手機(jī)號(hào)、185開頭手機(jī)號(hào),均未注冊(cè)摩拜單車
  2. 測試日期為2017年10月3日

探究過程、現(xiàn)象和結(jié)論

(1)初次注冊(cè)

描述

過程

  1. 注冊(cè)新用戶
  2. 跳過實(shí)名認(rèn)證
  3. 跳過交納押金

數(shù)據(jù)

結(jié)論

(2)H5頁面領(lǐng)取月卡

描述

此時(shí)我們先不繳納押金,尋找是否有免費(fèi)的月卡可以領(lǐng)取。

過程

1. 下圖為國信證券推文,從中我們可以看到,小編很明確地告訴我們領(lǐng)取時(shí)間為9月1日——9月30日,但是掃描二維碼進(jìn)入頁面,使用說明卻顯示本活動(dòng)領(lǐng)取月卡的最后期限是10月30日。

2. 我們可以看到下圖是兩個(gè)不同的活動(dòng)H5頁面,左邊為官方活動(dòng),右邊為飛馬旅的聯(lián)名月卡,這兩張?jiān)驴ㄍ莆捻撍鶎懙臅r(shí)間均為10.1-10.30,且頁面模板也與國信證券的有所不同。觀察到,兩個(gè)頁面除了顏色和卡名以外完全一致,但是左邊月卡作為官方的發(fā)放的卡片,卡名卻依然為聯(lián)名月卡。

3. 作者輸入185手機(jī)號(hào),成功領(lǐng)取了第一張官方贈(zèng)送的月卡。但是在嘗試領(lǐng)取第二張同模板聯(lián)名月卡的時(shí)候,頁面卻顯示您已領(lǐng)取過月卡 不能重復(fù)領(lǐng)取的提示。于是作者又嘗試領(lǐng)取國信證券的聯(lián)名月卡,提示成功。

4. 使用178手機(jī)號(hào)領(lǐng)取一張免費(fèi)月卡

5. 分析頁面URL,發(fā)現(xiàn)https://m.mobike.com/h5/partner_coupon/zh/index.html?citycode=021&src=weishuba&from=timeline&isappinstalled=0中頁面內(nèi)容隨著src的改變而改變

6. 分析H5頁面源碼,發(fā)現(xiàn)資源文件中存儲(chǔ)了所有頁面的文字


數(shù)據(jù)

結(jié)論

  1. 摩拜聯(lián)名月卡領(lǐng)取頁自動(dòng)續(xù)期了
  2. 摩拜官方月卡與其他聯(lián)名月卡使用了統(tǒng)一模板
  3. 所有聯(lián)名卡均指向某一模板,相同模板下屬的不同聯(lián)名卡不得重復(fù)領(lǐng)取
  4. 領(lǐng)取月卡時(shí)并不會(huì)檢測是否已繳納押金
  5. 月卡計(jì)算時(shí)間只到30天后的24點(diǎn),而非精確到秒的標(biāo)準(zhǔn)30天時(shí)長

(3)繳納押金

描述

按照規(guī)則,繳納押金以后應(yīng)該會(huì)贈(zèng)送一張?jiān)驴ǎ聦?shí)上卻沒有發(fā)現(xiàn)增加;只有剩余天數(shù)小于30天(事實(shí)上30天也可)才被允許退款

過程

  1. 向185賬戶繳納押金,發(fā)現(xiàn)剩余時(shí)間并沒有增加
  2. 向178賬戶繳納押金,發(fā)現(xiàn)剩余時(shí)間并沒有增加

數(shù)據(jù)

結(jié)論

  1. 贈(zèng)送的月卡會(huì)立即生效,幾張有效期重疊的免費(fèi)月卡允許同時(shí)存在,月卡剩余時(shí)間以最晚為準(zhǔn)
  2. 首充贈(zèng)送的月卡與H5頁面贈(zèng)送的聯(lián)名月卡應(yīng)屬同種

(4)續(xù)費(fèi)

描述

按照規(guī)則,與領(lǐng)取的月卡不同,續(xù)費(fèi)之后時(shí)間應(yīng)該在原有基礎(chǔ)上增加,事實(shí)上也確實(shí)如此

過程

  1. 向178手機(jī)號(hào)續(xù)費(fèi)一張一個(gè)月月卡,續(xù)費(fèi)之后月卡剩余天數(shù)變?yōu)?0天,在原有基礎(chǔ)上增加了30天,與規(guī)則符合。
  2. 使用185手機(jī)號(hào)續(xù)費(fèi),提示失敗,與規(guī)則符合

數(shù)據(jù)

結(jié)論

(5)退押金

描述

按照規(guī)則,退款之后,免費(fèi)月卡將消失,只剩下收費(fèi)月卡

過程

  1. 使用178手機(jī)號(hào)退款,剩余天數(shù)歸零,與規(guī)則符合
  2. 使用185手機(jī)號(hào)退款,剩余天數(shù)為31天,比想象中多1天
  3. 此時(shí)點(diǎn)擊退款退款時(shí),在摩拜的iOS端可以看到這段文字:

數(shù)據(jù)

結(jié)論

  1. 摩拜的月卡分為免費(fèi)月卡和購買的月卡
  2. 在有付費(fèi)卡的情況下,退款仍然會(huì)改變到期日

(6)再次續(xù)費(fèi)

描述

過程

  1. 使用178手機(jī)號(hào)充值3個(gè)月,剩余天數(shù)變?yōu)?1天,比想象中多1天
  2. 使用185手機(jī)號(hào)充值,提示失敗,與規(guī)則符合

數(shù)據(jù)

結(jié)論

(7)再次領(lǐng)取H5頁面月卡

描述

按照規(guī)則,每張?jiān)驴ㄖ荒茴I(lǐng)取一次,但是規(guī)則又寫,如果已領(lǐng)用且仍在有效期內(nèi),則不能再次領(lǐng)取,目前的情況是賬號(hào)因?yàn)橥丝钍チ巳棵赓M(fèi)額度,那么是否可以再次領(lǐng)取呢?

過程

  1. 使用185手機(jī)號(hào)領(lǐng)取H5頁面月卡,提示您已領(lǐng)取過月卡 不能重復(fù)領(lǐng)取

結(jié)論

  1. 免費(fèi)月卡在失效之后,并未刪除,而是設(shè)置為失效狀態(tài)

八、聯(lián)系官方客服

描述

打電話詢問摩拜官方,客服的態(tài)度有些不耐煩,但還是拿到了想要的信息

結(jié)論

  1. 月卡只按照月卡創(chuàng)建的先后順序使用,不考慮免費(fèi)/收費(fèi)

疑惑和推測解決方案

到這里,還有兩個(gè)問題沒有解決

  1. 為什么3個(gè)月月卡購買后為91天(31+30+30),而1個(gè)月月卡購買只有30天
  2. 一個(gè)月免費(fèi)月卡+一個(gè)月購買月卡的賬戶,退款前為60天,退款后余額為31天而不是30天
  • 針對(duì)第一個(gè)疑惑,如果摩拜計(jì)算日期,僅僅是簡單地改變年份和月份而不是真實(shí)計(jì)算90天以后的日期(這樣做只需處理2月29日這一種特殊情況),那么2017年10月3日到2018年1月3日相差92天,2017年10月3日到2017年11月3日相差31天,兩個(gè)天數(shù)均減去1天(即購買瞬間已默認(rèn)消耗一天),就可以解釋91天和30天的現(xiàn)象了
  • 針對(duì)第二個(gè)疑惑,按前一算法,2017年10月3日到2017年12月3日相差61天,減去當(dāng)天為60天,60天可以解釋;按照客服說法,依據(jù)月卡獲得順序使用,那么消耗的首先是免費(fèi)月卡,購買的月卡未被使用,要得出31天這個(gè)數(shù)據(jù),必須有兩個(gè)前提:
  1. 摩拜購買的月卡未被使用前,并不直接寫死到期天數(shù),而是以未使用狀態(tài)的卡片存在
  2. 退押金當(dāng)日的消費(fèi)仍然算在上一張卡上,天數(shù)計(jì)算無需減扣當(dāng)天使用

總結(jié)

總結(jié)一下現(xiàn)在所有的推測:

  1. 摩拜聯(lián)名月卡領(lǐng)取頁自動(dòng)續(xù)期了
  2. 摩拜官方月卡與其他聯(lián)名月卡使用了統(tǒng)一模板
  3. 所有聯(lián)名卡均指向某一模板,相同模板下屬的不同聯(lián)名卡不得重復(fù)領(lǐng)取
  4. 領(lǐng)取月卡時(shí)并不會(huì)檢測是否已繳納押金
  5. 月卡計(jì)算時(shí)間只到30天后的24點(diǎn),而非精確到秒的標(biāo)準(zhǔn)30天時(shí)長
  6. 贈(zèng)送的月卡會(huì)立即生效,幾張有效期重疊的免費(fèi)月卡允許同時(shí)存在,月卡剩余時(shí)間以最晚為準(zhǔn)
  7. 首充贈(zèng)送的月卡與H5頁面贈(zèng)送的聯(lián)名月卡應(yīng)屬同種
  8. 月卡分為免費(fèi)月卡和購買的月卡
  9. 在有付費(fèi)卡的情況下,退款仍然會(huì)改變到期日
  10. 免費(fèi)月卡在失效之后,并未刪除,而是設(shè)置為失效狀態(tài)
  11. 月卡只按照月卡創(chuàng)建的先后順序使用,不考慮免費(fèi)/收費(fèi)
  12. 摩拜在計(jì)算日期時(shí),僅僅是簡單地改變年份和月份而不是真實(shí)計(jì)算90天以后的日期
  13. 購買的月卡未被使用前,并不直接寫死到期天數(shù),而是以未使用狀態(tài)的卡片存在
  14. 退押金當(dāng)日的消費(fèi)仍然算在上一張卡上,天數(shù)計(jì)算無需減扣當(dāng)天使用

根據(jù)以上結(jié)論,可以設(shè)計(jì)一個(gè)最簡版本月卡,滿足當(dāng)前需求:

以上就是作者探究摩拜月卡系統(tǒng)的全過程,歡迎大家留言、指正。

 

本文由 @PTHFLY? 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自PEXELS,基于CC0協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 感謝分享

    來自廣東 回復(fù)