[[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" : "" }, "hot": //育儿热点 { "title":"育儿热点", "section":[ { "categoryId": //分类id "title": //分类标题 } ... ] }, "video": //在线视频 { "title":"在线视频", "section":[ { "videoId": // 视频id "title": // 视频标题 "time": // 视频时间 "image": // 视频图片 } ... ] }, "question": //问答专栏 { "title":"问答专栏", "section":[ { "columnsId": // 专栏期数id "title": // 专栏标题 "detail": // 专栏详情 "image": // 专栏图片 } ... ] }, "article": //育儿文章 { "title":"育儿文章", "section":[ { "articleId": // 文章id "title": // 文章标题 "detail": // 文章简介 "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": //返回数据 [ { "columnsId":"" // 专栏期数id "qId" // 问答系统id "title":"" // 专栏标题 "date":123 // 时间 "image": "" // 专栏图片 } ... ] } }}} ==== 5.1专栏详情 ==== {{{ 备注:专栏详情 接口说明:只有请求第一页的问答数据(questionDatas)时才返回专栏数据(columnData),其他页时返回为空 接口开发: 原始URL: 请求URL: HTTP请求方式:get 是否需要登录:否 返回格式:JSON 缓存方式:无 缓存时间:无 请求参数: columnsId //专栏期数id qId // 问答系统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问答详情) 接口开发: 原始URL: 请求URL: HTTP请求方式:get 是否需要登录:否 返回格式:HTML页面 缓存方式:无 缓存时间:无 请求参数: qId: // 问题id 返回参数: { "qId": //问题id "title": //问题标题 "des": //问题详情 "qTime" //问题发布时间 "answers":[ { "aId": //回答id "authorFace":// 回答医生头像 "aTime":"//回答时间 "department":"妇科", //所属科目 "authorName": //医生姓名 "hospital":" //医院名 "answer": // 回答详情 "authorId": //医生id } ] } 附: 用于浮层广告的数据,需要在里面加入json /*@_HTML_META_START_ { "image": "" "adUrl" : "" } _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, //每页条数 "data": //返回数据 [ { "articleId":"" // 文章id "title":"" // 文章标题 "time":"" // 时间 "image":"" // 文章图片 } ... ] } }}} ==== 6.1 文章终端 ==== {{{ 备注:文章终端 接口说明:同二胎宝典接口--4.资讯文章终端接口 (mrobot): http://trac.pc.com.cn/iphone/wiki/2ndchild/interface#a4.资讯文章终端接口mrobot }}} === 7.0 百科图集 ===(接口已经有了,只需mrobot做中转) {{{ 备注:百科图集 接口开发:陈旭 原始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 } ... ] } }}} ==== 7.1 百科一二级列表 ==== {{{ 备注:获取百科一二级列表数据 接口开发:吴全贵 原始URL: 请求URL: HTTP请求方式:get 是否需要登录:否 返回格式:JSON 缓存方式:无 缓存时间:无 请求参数: 返回参数: { "status": 0, //状态码 0正常返回 非0请求错误 "desc": "", //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息 "wikiSortCount": //一级分类数量 "wikiSortList": [ { "wikiSortName": //string,一级分类名 "isHaveSecondSort": //bool,是否有二级分类 "wikiSortUrl": //string,一级分类页对应url,如果isHaveSecondSort为false必须提供 "wikiSecondSortCount": //int,二级分类数量,如果isHaveSecondSort为true必须提供 "wikiSecondSortList":[ { "wikiSecondSortName": //string,二级分类名 "isHaveThirdSort”: //bool,是否有三级分类 "wikiSecondSortUrl": //string,二级分类页对应url, 如果isHaveThirdSort为false必须提供 "wikiSecondSortId": //二级分类id "wikiThirdSortCount": //int,三级分类数量如果isHaveThirdSort为true必须提供 } …… ] } ...... ] } }}} ==== 7.2 百科三四级列表 ==== {{{ 备注:获取百科三四级列表数据 接口开发:吴全贵 原始URL: 请求URL: HTTP请求方式:get 是否需要登录:否 返回格式:JSON 缓存方式:无 缓存时间:无 请求参数: wikiSecondSortId //二级分类id 返回参数: { "status": 0, //状态码 0正常返回 非0请求错误 "desc": "", //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息 "wikiThirdSortCount": //三级分类数量 "wikiThirdSortList": [ { "wikiThirdSortName": //string,三级分类名 "isHaveThirdSort": //bool,是否有四级分类 "wikiThirdSortUrl": //string,三级分类页对应url,如果isHaveThirdSort为false必须提供 "wikiFourthSortCount": //int,四级分类数量,如果isHaveThirdSort为true必须提供 "wikiFourthSortList":[ { "wikiFourthSortCmtUrl": //string,评论链接 "wikiFourthSortName": //sting,四级分类名(文章名) "wikiFourthSortUrl": //string,四级分类链接(文章链接) } …… ] } ...... ] } }}} ==== 7.3 百科搜索 ==== {{{ 备注:百科搜索 接口开发:吴全贵 原始URL:http://baike.pcbaby.com.cn/intf/app/content_wiki_search_310.jsp 请求URL: HTTP请求方式:get 是否需要登录:否 返回格式:JSON 缓存方式:无 缓存时间:无 请求参数: “REQUEST_CODE” : 310 [请求代码] “keywords”:[string 搜索的关键字] 返回参数: { "status": 0, //状态码 0正常返回 非0请求错误 "desc": "", //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息 "wikiThirdSortList": [ { "wikiThirdSortCmtUrl": //string,评论链接 "wikiThirdSortName": //sting,文章名 "wikiThirdSortUrl": //string,文章url }...... ] } }}}