[[TOC]] == 一.基本约定 == {{{ 1.基本约定 1.当接口处理正常时,HTTP STATUS CODE 返回给200。包括有正常的业务数据和数据为空的情况。 2.当接口处理异常时,HTTP STATUS CODE 返回非200,并且给出具体的错误信息。 { "desc":"给用户的提示放在这里" } 3.接口默认的字符编码是UTF-8,接口需要实现对req-enc和resp-enc参数的支持。在JSP的最顶部,实现类似下面的代码: String queryString = request.getQueryString(); String requestEncoding = getParam(queryString,"req_enc"); String responseEncoding = getParam(queryString,"resp_enc"); if(isNotBlank(requestEncoding)){ request.setCharacterEncoding(requestEncoding); } if(isNotBlank(responseEncoding)){ response.setCharacterEncoding(responseEncoding); } 4.所有有写操作的数据接口,必须用POST方式提交,在接口里需要判断提交方式,拒绝GET的调用请求。 5.接口中的JSON字符串,key都用双引号("")包裹,value是字符串类型时,也用双引号("")包裹;是数字类型时,不用引号 6.需要分页的接口,统一返回以下字段: pageNo,pageSize,total }}} == 二.接口列表 == === 1.0首页 === {{{ 备注:首页接口 接口说明:参照亲子V2.0接口--1.0首页(http://trac.pc.com.cn/iphone/wiki/baby/interface#a1.0首页),添加参数v=2.1.0, 根据参数 v >=2.1.0,则焦点图增加视频类文章页、问答专栏详情的推广,热门栏目增加崔玉涛专栏;不传参数v默认为2.0版本,返回数据不增加新数据 接口开发:庄焕斌 原始URL: mrobot请求URL: 备孕首页:http://mrobot.pcbaby.com.cn/v2/qzbd/home/1 怀孕首页:http://mrobot.pcbaby.com.cn/v2/qzbd/home/2 育儿首页:http://mrobot.pcbaby.com.cn/v2/qzbd/home/3 HTTP请求方式:get 是否需要登录:否 返回格式:JSON 缓存方式:无 缓存时间:无 请求参数: v = 2.1.0 //版本号 返回参数: { focus:[ //焦点图数据(增加视频类文章页、问答专栏详情的推广) { id: // id=234&112( 推“专栏详情”的推广时id为专栏期数的id&问答系统id) image: title: type:论坛(1列表、2终端);亲子学院(3列表、4终端);活动(5列表、6终端);工具(7终端);食谱(8终端);资讯(9终端); 问答(10终端);百科(11终端);崔玉涛视频(12视频文章终端);专栏详情(13) url:(活动、工具终端打开需要url,不需要时为空字符串) } ], recommend:[ //四个推荐位内容 { id: image: title: type:论坛(1列表、2终端);亲子学院(3列表、4终端);活动(5列表、6终端);工具(7终端);食谱(8终端);资讯(9终端);问答(10终端);百科(11终端) url:(活动、工具终端打开需要url,不需要时为空字符串) } ], recommendChannel:[ //热门栏目(增加崔玉涛专栏) { title: //根据栏目名称跳转至对应模块 type: //热门栏目类型(type=5表示崔玉涛专栏) } ], topFocus: [ //焦点图广告 { cc-uri: "", image: "http://www1.pcbaby.com.cn/appguanggao/1.jpg?IVY_LEVEL_1?481456_307375", seq: 1, title: "广告", to-uri: "http://ivy.pconline.com.cn/adpuba/click?adid=307375&id=test.gjz.zicong.", updateAt: 1408678837215, vc-uri: "none" } ] } }}} === 2.0 崔玉涛专栏 === {{{ 备注:崔玉涛专栏 接口开发: 原始URL: 请求URL: HTTP请求方式:get 是否需要登录:否 返回格式:JSON 缓存方式:无 缓存时间:无 请求参数: 返回参数: { "status": 0, //状态码 0正常返回 非0请求错误 "desc": "", //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息 "authorInformation" : //专家信息 { "face" : "" //专家头像 "name" : "" // 专家姓名 "title" : "" //职称 "position" : "" //职务 "introduction" : "" //专家介绍 }, "ad": //广告 { "image": "" "adUrl" : "" "adType":"" //广告分类标签,用于app端统计广告点击情况 }, "hot": //育儿热点 { "title":"育儿热点", "section":[ { "categoryId": //分类id "title": //分类标题 } ... ] }, "video": //在线视频 { "title":"在线视频", "section":[ { "videoId": // 视频id "title": // 视频标题 "time": // 视频时间 "image": // 视频图片 } ... ] }, "question": //问答专栏 { "title":"问答专栏", "section":[ { "columnsId": // 专栏期数id "title": // 专栏标题 "time": // 时间 "image": // 专栏图片 } ... ] }, "article": //育儿文章 { "title":"育儿文章", "section":[ { "articleId": // 文章id "title": // 文章标题 "time": // 时间 "image": // 文章图片 } ... ] } } }}} === 3.0 育儿热点 === {{{ 备注:育儿热点 接口开发: 原始URL: 请求URL: HTTP请求方式:get 是否需要登录:否 返回格式:JSON 缓存方式:无 缓存时间:无 请求参数: 返回参数: { status: 0, //状态码 0正常返回 非0请求错误 desc: "", //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息 "total": 20, //分类总数 "datas": //返回数据 [ { "categoryId": // 分类id "title": // 标题 } ... ] } }}} ==== 3.1问题列表 ==== {{{ 备注:问题列表 接口开发: 原始URL: 请求URL: HTTP请求方式:get 是否需要登录:否 返回格式:JSON 缓存方式:无 缓存时间:无 请求参数: categoryId //分类id pageNo pageSize 返回参数: { "status": //状态码 0正常返回 非0请求错误 "desc": "" //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息 "datas": //问答数据 [ { "id": // 问题id "question": //问题描述 "answer": // 回答内容 }, ... ] "total": 20, //问答总数 "pageNo": 1, //当前页码 "pageSize": 20, //每页条数 } }}} === 4.0视频列表 === {{{ 备注:视频列表 接口开发: 原始URL: 请求URL: HTTP请求方式:get 是否需要登录:否 返回格式:JSON 缓存方式:无 缓存时间:无 请求参数: pageNo pageSize 返回参数: { status: 0, //状态码 0正常返回 非0请求错误 desc: "", //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息 "total": 20, //列表总数 "pageNo": 1, //当前页码 "pageSize": 20, //每页条数 "data": //返回数据 [ { "id":"" // 文章id "title":"" // 视频标题 "date":123 // 视频时间(时间戳) "image":"" // 列表图片 "type":1 //视频分类标签,用于app端统计视频点击播放情况 } ... ] } }}} ==== 4.1视频终端页 ==== {{{ 备注:获取视频终端页 原始URL: 请求URL: HTTP请求方式:get 是否需要登录:否 缓存方式:无 缓存时间:无 请求参数: id // 文章id 返回结果:HTML页面 点击播放视频跳转协议:pcbabybrowser://PCBabyVideo/ 用于视频播放的数据,需要在里面加入json /*@_HTML_META_START_ { "videoUrl": // 视频播放url "adType" :// 广告分类标签,用于app端统计广告点击情况 "adTime": // 广告倒计时 "adDetailUrl": // 广告详情链接 "adUrl": // mp4广告url } _HTML_META_END_@*/ }}} === 5.0问答专栏 === {{{ 备注:问答专栏 接口开发: 原始URL: 请求URL: HTTP请求方式:get 是否需要登录:否 返回格式:JSON 缓存方式:无 缓存时间:无 请求参数: pageNo pageSize 返回参数: { status: 0, //状态码 0正常返回 非0请求错误 desc: "", //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息 "total": 20, //列表总数 "pageNo": 1, //当前页码 "pageSize": 20, //每页条数 "data": //返回数据 [ { "id":"" // 专栏期数id "qaId" // 问答系统id "title":"" // 专栏标题 "date":123 // 时间 "image": "" // 专栏图片 } ... ] } }}} ==== 5.1专栏详情 ==== {{{ 备注:专栏详情 接口说明:只有请求第一页的问答数据(questionDatas)时才返回专栏数据(columnData),其他页时返回为空 接口开发: 原始URL: 请求URL: HTTP请求方式:get 是否需要登录:否 返回格式:JSON 缓存方式:无 缓存时间:无 请求参数: columnsId //专栏期数id qaId // 问答系统id 返回参数: { "status": //状态码 0正常返回 非0请求错误 "desc": "" //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息 "columnData": //专栏数据 { "columnId": // 专栏期数id "title": // 专栏标题 "expertFace": //专家头像 "authorName": //专家名 "department"://专家所在部门 "hospital": //专家所在医院名称 "typeId": //专家所在领域id "detail": //专栏详情介绍 } "questionDatas": //问答数据 [ { "questionId": // 问题id "authorFace": // 用户头像 "authorName": // 用户名称 "question": // 问题描述 "answer": // 回答内容 "authorId": //用户id }, ... ] "total": 20, //问答总数 "pageNo": 1, //当前页码 "pageSize": 20, //每页条数 } }}} ===== 5.1.2提问 ===== {{{ 备注:提问,默认为崔玉涛专栏的提问 接口开发: 请求URL:http:// 接口说明: HTTP请求方式:post 是否需要登录:是 返回格式:JSON 缓存方式:无 缓存时间:无 请求参数: title:问题标题 des = 问题描述; typeId = 问题分类id specialistId:专家id, 设置header Cookie = "common_session_id=xxxx"; 返回参数 { msg: result: //结果状态码 0提问成功 非0返回对应的出错信息 } }}} ==== 5.2 问答终端 ==== {{{ 备注:问答终端 接口说明:参照亲子V2.0接口--5.2问答详情(http://trac.pc.com.cn/iphone/wiki/baby/interface#a5.2问答详情),增加参数type=1(表示崔玉涛栏目下的问题),则终端页返回浮层广告数据 接口开发: 原始URL: 请求URL: HTTP请求方式:get 是否需要登录:否 返回格式:HTML页面 缓存方式:无 缓存时间:无 请求参数: qId: // 问题id type = 1 // 表示崔玉涛栏目下的问题 返回参数: 点击协议: 采纳答案pcaction://adopt-answer/id 附: 用于浮层广告的数据,需要在里面加入json /*@_HTML_META_START_ { "image": "" "adUrl" : "" "adType":"" //广告分类标签,用于app端统计广告点击情况 } _HTML_META_END_@*/ }}} === 6.0 文章列表 === {{{ 备注:文章列表 接口开发: 原始URL: 请求URL: HTTP请求方式:get 是否需要登录:否 返回格式:JSON 缓存方式:无 缓存时间:无 请求参数: pageNo pageSize 返回参数: { status: 0, //状态码 0正常返回 非0请求错误 desc: "", //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息 "total": 20, //列表总数 "pageNo": 1, //当前页码 "pageSize": 20, //每页条数 "datas": //返回数据 [ { "articleId": // 文章id "title": // 文章标题 "time": // 时间 "image": // 文章图片 } ... ] } }}} ==== 6.1 文章终端 ==== {{{ 备注:文章终端 接口说明:同二胎宝典接口--4.资讯文章终端接口 (mrobot): http://trac.pc.com.cn/iphone/wiki/2ndchild/interface#a4.资讯文章终端接口mrobot }}} === 7.0 百科图集 === {{{ 备注:百科图集 接口开发:陈旭 原始URL:http://pp.pcbaby.com.cn/template/pcbaby/Content_Albums_List.jsp?REQUEST_CODE=303&albumsId=24068 请求URL: HTTP请求方式:get 是否需要登录:否 返回格式:JSON 缓存方式:无 缓存时间:无 请求参数: REQUEST_CODE=303 //请求代码 albumsId=24068 //图集id 返回参数: { status: 0, //状态码 0正常返回 非0请求错误 desc: "", //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息 "total": 15, //当前图集中图片总数 "pageNo": 1, "pageSize": 15, "pageCount":1, "ablumsList": //图集数据 [ { "imageContent": //图片描述 "imageId": //图片id "imageTitle": //图集标题 "thumb": //小图url "url": //图片url } ... ] } }}}