= 汽车资讯客户端4.0.0开发需求 = [[TOC]] == 1、[=#point100 前言] == 本需求是依照产品给出的业务需求,进行开发前的需求整理工作。目的是对业务需求进行开发层面的细化,确定业务需求的规则细节。 UED小组依照业务需求整理的交互需求是本需求平行的另外一部分内容,交互需求部分也是开发编码的一个重要依据。 由于开发需求是业务需求的一个延续和细化,因此在描述开发需求时,各个部分对应的业务需求版本可能会有所不同,一般来说,会单独说明整个开发需求是基于哪个版本的业务需求展开的,如果有单独注明的地方,以单独注明的为准。 == 2、[=#point200 前提和假设] == 本需求基于 [[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/iOS-v1/start.html | ios原型v1 ]]来进行描述和细化。 本需求没有描述到,但目前线上版本已有的功能,以线上版本功能为准。 == 3、[=#point300 公共需求] == * 翻页策略:列表页没有指定列表页码时,默认是每页20条数据。 * 缓存策略:除广告内容外,剩下内容均按HttpHeader中的缓存策略进行缓存,本地缓存失效后,如果没有正常请求到数据时,依旧使用本地数据。 * 界面跳转:维持3.6.1的跳转方式。 * 界面实现:新界面使用xib来实现 * 代码编写:使用ARC方式 * 菜单tab:界面里有出现像首页那种栏目切换的功能,都使用和首页一样的实现 * 请求优先级:不同请求优先级不同,分级TODO * 换肤:换肤包含三个位置,启动图、左侧菜单的选项样式 * 启动图:增加动画 * 刷新:有网络请求的地方,添加请求失败时可以点击屏幕刷新的按钮 * 网页超链接:触发超链接,客户端做跳转,协议统一用pcautobrowser;如果只是动作,协议统一用pcaction。界面跳转时需要把超链接的所有参数都传递给对应的界面。 == 4、[=#point400 需求描述] == === 4.1 [=#point410 首页列表] === ==== 4.1.1 [=#point411 前置条件] ==== 下文描述的需求,没有提到的地方保持和3.6版本一样。 本需求对应的框架原型是:[[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/iOS-v1/start.html#p=1_1edit-selected | 首页原型]] ==== 4.1.2 [=#point412 主页面加载] ==== 1.左侧主菜单 * 目前包含首页、降价、找车、论坛、行情和图集。该菜单可以根据接口动态配置,也就是说可以添加新的菜单入口。新增加的菜单入口和降价一样,是一个webview装载的网页,该界面至少包含3.6.1的专栏的所有功能。左侧主菜单可以在各个选项的根界面打开。 * 数据:todo 2.栏目导航条 * 焦点图上方为定制栏目导航区,单击栏目按钮切换不同栏目。栏目导航区显示的按钮数量根据设计稿来确定,多出的左右滑动。 * 栏目导航条只包含两种数据,头条栏目和车系内容聚合页。头条综合所有订阅的内容和本身已有的栏目,重新排序; * 第一次安装的用户除了头条栏目外,还默认订阅两个车系栏目。这两个车系栏目可以在线变更,待提供todo;对于第一次安装的那两个默认车系栏目,除非用户手工取消订阅,否则不跟随接口内容的变化而变化。 * 数据包含: - serialId 车系id \\ - name 名字 \\ 3.加载焦点图。 * 焦点图能够自动翻滚,滚动间隔是 5s/张;默认滚动方向是从右往左滚动。焦点图必须加载完当前图片和下张图片(下张图片根据跳转方向不同而不同)后,才能滚动。头条和聚合页焦点图的内容不一样。头条不变,聚合页的单个焦点图为该车系的某个车型的降价信息和车系入口,可以滑动切换不同车型;降价信息根据当前所在城市出数据,定位不到的地区出全国的降价信息,定位到没有数据的城市则出省会的降价信息;如果没有降价信息,则不显示,最多不超过五条降价信息;降价信息包含电话和询底价入口。 4.加载资讯列表 * 富媒体广告,往下20像素(iPhone需求,为了与android一致) * 资讯列表由置顶编辑位、编辑运营文章和网友订阅的栏目文章组成; - 新的头条依然可以按照3.6.1的方式来插入文章。 - 编辑运营文章由编辑在文章采编系统中进行整理,通过接口给出,和目前3.6.0的规则一样。 - 网友订阅文章来源车系文章,车系文章通过车系关键字,在文章采编系统,按照下面的[[http://trac.pc.com.cn/iphone/attachment/wiki/pcauto_4.0.0/dev_requirement/Book2.xls | 车系文章过滤规则]]进行检索; - 资讯列表的文章是是由多种来源的文章组合而成,头条文章和编辑运营文章,可能会和网友订阅文章重复,因此客户端会对文章按规则显示时,还需要进行去重。去重以页为单位进行,合并重复的文章;合并后,该页的文章数量会少于标准的文章分页数量。 * 资讯列表有专门的排序算法,该算法根据文章发表时间和顶踩数量进行计算,并按计算结果排序。(编辑置顶位置不参与排序)算法的具体规则如下:[[http://trac.pc.com.cn/iphone/wiki/pcauto_4.0.0/dev_requirement/sorting_algorithm|混排算法]] * 滚动到底部后,显示加载更多,加载下一页。一直滚动翻页,直到加载完300条,底部不再显示加载更多。 * 点击赞/踩,改变按钮状态、改变赞/踩数。赞/踩都可以取消。提示动画参照文章评论页的顶;赞/踩的对象包含文章、图集和帖子;一部手机只能对一个赞/踩对象,只能发表一次意见。无网络时可以照常进行顶踩操作,此时忽略提交顶踩数据到服务端。 * 在其他地方更改阅读模式后(例如修改栏目定制,设置黑夜模式),刷新预加载的三个页面的视图。 * 资讯列表可以分页,因为服务器存在分页的缓存,所以客户端在实际运行当中会出现重复的数据,此时需要在客户端本地去重。 * 栏目列表中,每个表格的数据说明如下: - 内容标题,可以分两行显示;对于显示不完的部分,截取后用...表示。 - 所属栏目,这个栏目指3.6.0使用的栏目名称;如果是帖子,则显示论坛;如果是图集,直接显示图集。 - 评论数、图集张数或者楼层数 ==== 4.1.3 [=#point413 交互需求] ==== [[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/UED-iOS-v1/start.html#p=1_1edit-selected | 首页交互 ]] === 4.2 [=#point420 订阅] === * 订阅功能是与用户绑定,所以使用订阅前必须先登录。 * 所有3.6版本中的固定栏目中所有编辑运营的文章还是存在.放到首页同订阅标签的文章和帖子共同混排.编辑如需插文章排位则采用mrobt修改 ==== 4.2.1[=#point421 前置条件] ==== 无。 本需求对应的框架原型是:[[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/iOS-v1/start.html#p=3_0subscribe | 订阅 ]] ==== 4.2.2 [=#point422 订阅列表] ==== * 订阅的对象只包含车系,单击即订阅,再单击取消。订阅是同步请求,请求过程中不能操作其他事情。 * 部分车系有标记hot,这个hot和车型库首页的热门车系是同样的。 ==== 4.2.3 [=#point423 订阅维护] ==== * 订阅维护包含两个界面,从个人中心进入和从订阅列表中进入是不同的。前者偏重显示信息,只能删除;后者偏重编辑功能,可以排序和删除。 * 订阅、取消订阅后,和首页的栏目导航区需要同步。网友选择了订阅的分类后,右边可订阅的内容需要根据当前手机存储的订阅信息加载样式。退出订阅页面时,发生消息给首页的栏目导航区进行刷新,同时需要处理预加载部分。 * 订阅内容保存在服务器,与用户绑定 ==== 4.2.4 [=#point424 交互需求] ==== [[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/UED-iOS-v2/start.html#p=3_0subscribe | 订阅交互 ]] === 4.3 [=#point430 个人中心右边弹出页] === ==== 4.3.1 [=#point431 前置条件] ==== 无。 对应需求原型:[[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/iOS-v1/start.html#p=2_0personal_centre-right_button | 个人中心]] ==== 4.3.2 [=#point432 主流程] ==== * 判断用户是否已经登录,并显示用户信息或未登录提示 * 未登录,点击头像及未登录整条区域均可到登录界面 * 登录完之后,需要把默认订阅的两个车系添加到服务器 * 打开个人中心,或者从消息界面返回,检测是否有消息通知并显示。首页右上角按钮的新消息提示包含魔方的意见反馈,体验计划提醒和我的消息。展开的个人中心,设置按钮和我的消息按钮则分开提醒。 * 加载可能感兴趣栏目,这里的数据由编辑维护,不显示已经订阅的栏目。(** __如果我订阅了所有编辑推荐的栏目,会怎样__ **) * 栏目数据包含: - serialId 车系id - name 名字 * 点击感兴趣栏目直接订阅,返回首页时 ==== 4.3.3 [=#point433 交互需求] ==== [[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/UED-iOS-v1/start.html#p=2_0personal_centre-right_button | 个人中心交互]] === 4.4 [=#point440 我的消息页面] === ==== 4.4.1 [=#point441 前置条件] ==== 用户已经登录 对应需求原型:[[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/iOS-v1/start.html#p=2_5message | 消息页面]] ==== 4.4.2 [=#point442 主流程] ==== * 进入消息界面,预加载提醒和私信两个列表第一页的数据。可以下拉刷新。可以通过手势左右切换提醒和私信。编辑可以删除提醒和私信。 * 提醒包含别人对我文章评论的回复,别人对我发帖的回帖和别人对我回帖的回帖。正文内容(自己的和别人回复的,发帖的正文只是标题)最多只显示3行,多出来的部分显示省略号。如果正文内容包含表情,则评论会用文字表情代替,帖子表情会用UDD代码代替(如[5001])或者文字表情。显示数据包含: - image 对方用户头像 - username 对方用户名 - replyContent 对方回复的内容 - content 我发出的内容:文章评论、帖子正文或者回帖正文 - timestamp 发表时间戳 - type 提醒类型,评论、回帖的回帖和发帖的回帖 - articleId 文章id,没有则显示为0 - topicId 帖子id,没有则显示为0 - floorId 被回复的楼层id * 私信列表正文内容(自己的和别人回复的)最多只显示3行,多出来的部分显示省略号。数据如下: - username 对方用户名或者系统 - image 对方用户头像或者系统头像 - userId 对方的用户id - timestamp 发送时间戳 - content 回复内容 * 点击列表数据进入与此人的私信记录。该界面可以从评论、帖子和车主点评等界面进入。私信列表每隔30s刷新一次数据。数据如下: - content 回复内容 - timestamp 发送时间戳 * [[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/iOS-v1/start.html#p=2_6my_posts | “我的帖子”]]入口在个人中心。这里只包含我发表的帖子,不包含回帖。 * 点击提醒里的条目,可以查看回复的全部内容,可以直接回复,可以到文章或者帖子。查看回复的全部内容,如果是有多层嵌套或者多层引用,只显示最新的两层。表情规则还是依照列表页。 ==== 4.4.3 [=#point443 交互需求] ==== [[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/UED-iOS-v1/start.html#p=2_5message | 我的消息交互需求]] === 4.5 [=#point450 文章终端页] === ==== 4.5.1 [=#point451 前置条件] ==== 文章终端页面需要支持灵活的改版要求,同时希望能够优先加载文本内容,再加载图片资源。 对应需求原型:[[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/iOS-v2/start.html#p=4_0article | 文章终端页]] ==== 4.5.2 [=#point452 文章] ==== * 读图模式过滤掉应该是跳转其他界面的图片 * 文章终端页增加顶踩按钮,顶踩规则和文章列表页相同。 * 文章标题部位添加一个栏目按钮,指明该文章属于哪个栏目(这里的栏目不是指的cms的栏目,而是3.6.0版本客户端使用到的“新车”、“导购”等栏目)。根据入口不同,该按钮的行为也会不同。比如,该文章属于行情栏目,从头条进入,则搜索所有行情文章;从非头条进入,则搜索该车系的所有行情文章。“新车”、“导购”可以此类推。 * 取消3.6.0中,在文章终端页双击,菜单上的字体大小设置、夜间模式功能。 ==== 4.5.3 [=#point453 评论] ==== * 文章评论页 * 在现在只显示一个名字的基础上增加来源标识.分为"移动端标识"(wap iPad android iOs)和"新浪微博标识"(PC Wap iPad网页版 手机客户端保持一致) * 情况一 登陆用户所发表的评论 显示:移动端标识(小手机)+登陆用户名 (非移动端发表则不显示图标) * 情况二 匿名用户所发表的评论 显示:移动端标识(小手机)+地区网友名 (非移动端发表则不显示图标) * 情况三 从新浪微博抓取的评论 显示:微博小标识(微logo)+新浪用户名 * 点击用户名可以私信该用户。 * 一部设备只能顶一次某条评论。 ==== 4.5.4 [=#point454 交互需求] ==== [[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/UED-iOS-v2/start.html#p=4_0article | 个人中心交互]] === 4.6 [=#point460 图库] === ==== 4.6.1 [=#point461 前置条件] ==== 无 对应需求原型:[[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/iOS-v2/start.html#p=5_0pictures | 图库]] ==== 4.6.2 [=#point462 主流程] ==== * 在图片列表页面增加主菜单按钮和个人中心按钮。 * 在图片终端页的底部状态栏增加当前图集的页码和当前图集的图片数量。 * 头条进入的图集,最后一页是运营页,内容为编辑推荐的图集。 * 若在图片浏览过程中跳到了下一图集,返回后停留位置固定在已变化的图集而非最上一条图集. ==== 4.6.3 [=#point463 交互需求] ==== [[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/UED-iOS-v2/start.html#p=5_0pictures | 图集交互]] === 4.7 [=#point470 车型库] === ==== 4.7.1 [=#point471 前置条件] ==== 车型库部分页面跳转层级较多,当用户在左边的主菜单上进去切换时,会清理掉 对应需求原型:[[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/UED-iOS-v3/start.html#p=6_0car_database | 车型库]] ==== 4.7.2 [=#point472 主流程] ==== * 车型库相对3.6.1增加个人中心和模块选择入口,数据增加热门车系,热门车系由编辑运营。 * 车系页可以添加订阅,也可以取消订阅 * 车系默认不显示停售车型,但是有按钮允许用户查看停售车型。 * 车型页可以直接在标题栏切换车型,这里的车型列表只包含在售车型,不管该车型是不是停售车型。 * [[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/UED-iOS-v3/start.html#p=6_3_1selected_result | 精准找车结果]],添加询底价和打电话 * [[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/UED-iOS-v3/start.html#p=6_4comparation | 对比车型列表]],默认选中最近添加的车型。 - 对比车型的选车步骤,完成选车后,需要将选车过程的页面全部销毁,这部分是一个单向选择的交互路径,完成后就无需后退。 * [[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/UED-iOS-v3/start.html#p=6_5comparation_result | 车型对比结果]],添加价格参数 * [[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/UED-iOS-v3/start.html#p=6_7store | 经销商详情]],增加促销信息和预约驾车。预约驾车和询底价的界面布局一样,但是提交的接口不同。点击促销信息是去到对应的文章页。 __'''经销商详情部分的促销信息如何获取''' __ * [[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/UED-iOS-v3/start.html#p=6_8user_comments | 车主点评]]。车主点评只能看,不能写。车主点评页可以选择切换车型,这个列表只包含在售车型。停售的车型不能进入车主点评页。 * [[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/UED-iOS-v3/start.html#p=6_9pictures | 车系/车型图片]]。要显示的图片只包含外观、内饰、空间和其他。终端看到哪张图,退出终端时列表也要滚到那个地方。车型图片可以分享,分享模板todo。 === 4.8 [=#point480 论坛] === ==== 4.8.1 [=#point481 前置条件] ==== 无 对应需求原型:[[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/iOS-v4/start.html#p=7_0forum | 论坛]] ==== 4.8.1 [=#point481 论坛首页] ==== * 在论坛首页增加主菜单按钮和个人中心按钮。 * 论坛帖子列表页增加顶踩功能,顶踩规则和资讯首页相同。 * 论坛首页顶部显示最近浏览的6个论坛,最近浏览多于6个时,显示最近浏览的6个。没有浏览的板块记录时,这个部分隐藏。 ==== 4.8.2 [=#point482 论坛列表页] ==== * 取消目前论坛列表排序的功能 * 论坛帖子列表页增加顶踩功能,顶踩规则和资讯首页相同。 * 帖子列表的排序也遵守Reddit排名算法,依靠时间和顶踩机制,改变帖子在排序中的位置。 ==== 4.8.3 [=#point483 论坛终端页] ==== * 论坛帖子终端页增加顶踩功能,顶踩规则和资讯首页相同。 ==== 4.8.4 [=#point484 交互需求] ==== [[http://rdtrac.pc.com.cn/mobile/pototype/khd/v4.0.0/UED-iOS-v5/start.html#p=7_1_1post_detail | 论坛]]