快好知 kuaihz

逆向解构:摩拜单车月卡系统

在共享单车市场已成红海、小型创业公司不断倒下的今天,月卡成为摩拜、OFO等玩家拉新、留存的不二选择。在本文探究了摩拜单车的月卡系统运行方式,以下就是作者探究的过程和结论,其中必有疏漏,欢迎指正、讨论。

PS. 本文详细描述了作者探究的全部过程,如果不想了解详细过程,可以直接拉到最后看结果 ^_^

前提

178开头手机号、185开头手机号,均未注册摩拜单车

测试日期为2017年10月3日

探究过程、现象和结论

(1)初次注册

描述

过程

注册新用户

跳过实名认证

跳过交纳押金

数据

结论

(2)H5页面领取月卡

描述

此时我们先不缴纳押金,寻找是否有免费的月卡可以领取

过程

1. 下图为国信证券推文,从中我们可以看到,小编很明确地告诉我们领取时间为9月1日——9月30日,但是扫描二维码进入页面,使用说明却显示本活动领取月卡的最后期限是10月30日。

2. 我们可以看到下图是两个不同的活动H5页面,左边为官方活动,右边为飞马旅的联名月卡,这两张月卡推文页所写的时间均为10.1-10.30,且页面模板也与国信证券的有所不同。观察到,两个页面除了颜色和卡名以外完全一致,但是左边月卡作为官方的发放的卡片,卡名却依然为联名月卡

3. 作者输入185手机号,成功领取了第一张官方赠送的月卡。但是在尝试领取第二张同模板联名月卡的时候,页面却显示您已领取月卡 不能重复领取的提示。于是作者又尝试领取国信证券的联名月卡,提示成功。

4. 使用178手机号领取一张免费月卡

5. 分析页面URL,发现https://m.mobike.com/h5/partner_coupon/zh/index.html?citycode=021&src=weishuba&from=timeline&isappinstalled=0中页面内容随着src的改变而改变

6. 分析H5页面源码,发现资源文件中存储了所有页面的文字

数据

结论

摩拜联名月卡领取页自动续期了

摩拜官方月卡与其他联名月卡使用了统一模板

所有联名卡均指向某一模板,相同模板下属的不同联名卡不得重复领取

领取月卡时并不会检测是否已缴纳押金

月卡计算时间只到30天后的24点,而非精确到秒的标准30天时长

(3)缴纳押金

描述

按照规则,缴纳押金以后应该会赠送一张月卡,事实上却没有发现增加;只有剩余天数小于30天(事实上30天也可)才被允许退款

过程

向185账户缴纳押金,发现剩余时间并没有增加

向178账户缴纳押金,发现剩余时间并没有增加

数据

结论

赠送的月卡会立即生效,几张有效期重叠的免费月卡允许同时存在,月卡剩余时间以最晚为准

首充赠送的月卡与H5页面赠送的联名月卡应属同种

(4)续费

描述

按照规则,与领取月卡不同,续费之后时间应该在原有基础上增加,事实上也确实如此

过程

向178手机号续费一张一个月月卡,续费之后月卡剩余天数变为60天,在原有基础上增加了30天,与规则符合。

使用185手机号续费,提示失败,与规则符合

数据

结论

(5)退押金

描述

按照规则,退款之后,免费月卡将消失,只剩下收费月卡

过程

使用178手机号退款,剩余天数归零,与规则符合

使用185手机号退款,剩余天数为31天,比想象中多1天

此时点击退款退款时,在摩拜的iOS端可以看到这段文字:

数据

结论

摩拜的月卡分为免费月卡和购买的月卡

在有付费卡的情况下,退款仍然会改变到期日

(6)再次续费

描述

过程

使用178手机号充值3个月,剩余天数变为91天,比想象中多1天

使用185手机号充值,提示失败,与规则符合

数据

结论

(7)再次领取H5页面月卡

描述

按照规则,每张月卡只能领取一次,但是规则又写,如果已领用且仍在有效期内,则不能再次领取,目前的情况是账号因为退款失去了全部免费额度,那么是否可以再次领取呢?

过程

使用185手机号领取H5页面月卡,提示您已领取月卡 不能重复领取

结论

免费月卡在失效之后,并未删除,而是设置为失效状态

八、联系官方客服

描述

打电话询问摩拜官方,客服的态度有些不耐烦,但还是拿到了想要的信息

结论

月卡只按照月卡创建的先后顺序使用,不考虑免费/收费

疑惑和推测解决方案

到这里,还有两个问题没有解决

为什么3个月月卡购买后为91天(31+30+30),而1个月月卡购买只有30天

一个月免费月卡+一个月购买月卡的账户,退款前为60天,退款后余额为31天而不是30天

针对第一个疑惑,如果摩拜计算日期,仅仅是简单地改变年份和月份而不是真实计算90天以后的日期(这样做只需处理2月29日这一种特殊情况),那么2017年10月3日到2018年1月3日相差92天,2017年10月3日到2017年11月3日相差31天,两个天数均减去1天(即购买瞬间已默认消耗一天),就可以解释91天和30天的现象了

针对第二个疑惑,按前一算法,2017年10月3日到2017年12月3日相差61天,减去当天为60天,60天可以解释;按照客服说法,依据月卡获得顺序使用,那么消耗的首先是免费月卡,购买的月卡未被使用,要得出31天这个数据,必须有两个前提:

摩拜购买的月卡未被使用前,并不直接写死到期天数,而是以未使用状态的卡片存在

退押金当日的消费仍然算在上一张卡上,天数计算无需减扣当天使用

总结

总结一下现在所有的推测:

摩拜联名月卡领取页自动续期了

摩拜官方月卡与其他联名月卡使用了统一模板

所有联名卡均指向某一模板,相同模板下属的不同联名卡不得重复领取

领取月卡时并不会检测是否已缴纳押金

月卡计算时间只到30天后的24点,而非精确到秒的标准30天时长

赠送的月卡会立即生效,几张有效期重叠的免费月卡允许同时存在,月卡剩余时间以最晚为准

首充赠送的月卡与H5页面赠送的联名月卡应属同种

月卡分为免费月卡和购买的月卡

在有付费卡的情况下,退款仍然会改变到期日

免费月卡在失效之后,并未删除,而是设置为失效状态

月卡只按照月卡创建的先后顺序使用,不考虑免费/收费

摩拜在计算日期时,仅仅是简单地改变年份和月份而不是真实计算90天以后的日期

购买的月卡未被使用前,并不直接写死到期天数,而是以未使用状态的卡片存在

退押金当日的消费仍然算在上一张卡上,天数计算无需减扣当天使用

根据以上结论,可以设计一个最简版本月卡,满足当前需求:

以上就是作者探究摩拜月卡系统的全过程,欢迎大家留言、指正。

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:逆向解构:摩拜单车月卡系统  月卡  月卡词条  解构  解构词条  逆向  逆向词条  单车  单车词条  系统  系统词条  
评测

 阿里健康APP产品体验分析报告(...

笔者此文就阿里健康四大业务聚集的C端产品(保险业务暂不涉及)——阿里健康APP进行产品体验分析。产品体系庞大,文章或有冗长,或有考虑不周。作为产品初学者,欢迎一...(展开)

评测

 网易云音乐的社交属性分析

网易云音乐做为音乐领域的后来居上者,它的定位是“移动的音乐社区”。并以歌单为核心的组织方式强化用户的社交属性。《2014-2015年中国手机音乐客户端市场研究报...(展开)

评测

 猿题库产品分析报告

概述本文作者从猿题库的展历程和战略、APP功能设计分析等角度介绍了猿题库移动APP,并从大数据应用、社交、智能和商业模式四个方向阐述个人对在线教育题库类产品分析...(展开)