=== 1.基本约定 === {{{ 1.当接口处理正常时,HTTP STATUS CODE 返回给200。包括有正常的业务数据和数据为空的情况。 2.当接口处理异常时,HTTP STATUS CODE 返回给500,并且给出具体的错误信息。 { "uri" : "/intf/albums-by-type.jsp", "error-desc":"Need you follow uid.", "user-notice":"给用户的提示放在这里" } 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是字符串类型时,也用双引号("")包裹;是数字类型时,不用引号。 }}} == 2.接口列表 == === 2.1 newMsgCount === {{{ 作用:获取个人中心的新消息的数据 使用范围:电脑网app:命名前缀pconline、汽车网app:命名前缀pcauto HTTP请求方式:get 是否需要登录:否 请求参数:none 返回参数: { "newMsgCount": 2000 } newMsgCount:新消息的数量,当该数值超过五位数时,只返回99999。新消息是指个人中心的消息。 }}} === 2.2 http://mrobot.pconline.com.cn/v2/cms/channels/1 && http://mrobot.pcauto.com.cn/v2/cms/channels/1=== {{{ HTTP请求方式:get 是否需要登录:否 请求参数 { "topArticle":[ { "pubDate":"2013-03-20", "title":"专利败诉 HTC再度悲剧……", "updateAt":1363708800000, "to-uri":"pconlinebrowser://bbs-topic/16348932", "preView":"专利败诉 HTC再度悲剧……", "seq":15, "image":"http://img0.pconline.com.cn/pconline/1303/20/3220919_f3.jpg", "floorCount":15 // 楼层数 }, { "pubDate":"2013-03-11", "title":"摄影部落美图——《日出赛罕坝》", "updateAt":1362931200000, "to-uri":"pconlinebrowser://album-photo/9792", "preView":"摄影部落美图——《日出赛罕坝》", "seq":20, "image":"http://img0.pconline.com.cn/pconline/1303/11/3209641_f2.jpg", "numCount":20 // 图集的图片张数 } ], "articleList":[ ], "topFocus":[ ] } 备注:除topArticle外的数据,其他都不变,topArticle里面的论坛和图集分别增加一个楼层数和图集张数的字段 }}} === 2.3 我的帖子=== {{{ url: http://mrobot.pcautobbs.com.cn/v4/individualcenter/post?common_session_id=%d?&pageno=%d&pagesize=%d 作用:获取某用户发布的所有帖子 使用范围:电脑网app:命名前缀pconline、汽车网app:命名前缀pcauto 例子:  请求方式:get 是否需要登录:是 请求参数: pageNo:页数 common_session_id:用户登陆后获得的认证id pageSize:每页条数 例子: { "pageNo":1, //页码 "pageSize":20, //每页条数 "topicList":[ / { "time":123, //时间,创建或最终修改时间 "flag":"精", //是否为精,图等 "replyCount":6175,//回复数 "view":195872,//阅读数 "floor":812,//楼层数 "title":"三两下root好并精简你的三星I9100",//标题 "topicId":13597147, // 帖子id "uri":"http://itbbs.pconline.com.cn/mobile/13597147.html" //帖子url } ], "total":12 //一共多少条 } }}} === 2.4 帖子回复=== {{{ url: http://mrobot.pcauto.com.cn/v4/individualcenter/postreply?common_session_id=%d?&pageno=%d&pagesize=% 作用:获取别人自己发表的所以帖子的回复 使用范围:电脑网app:命名前缀pconline、汽车网app:命名前缀pcauto 请求方式:get 是否需要登录:是 请求参数: pageNo:页数 common_session_id:用户登陆后获得的认证id pageSize:每页条数 例子: { "pageNo":1, //页码 "pageSize":20, //每页条数 "topicList":[ / { "time":123, //时间,创建或最终修改时间 "replyName":“你好” //回复者名称, "replyImage":“http://mrobot….jpg” //回复者头像url "title":"三两下root好并精简你的三星I9100",//标题 "replyContent":"回复内容为9", //回复内容 "topicId":13597147, // 帖子id "uri":"http://itbbs.pconline.com.cn/mobile/13597147.html" //帖子url } ], "total":12 //一共多少条 } }}} === 2.5 评论回复=== {{{ url: http://mrobot.pcauto.com.cn/v4/individualcenter/commentreply?common_session_id=%d?&pageno=%d&pagesize=%d 作用:获取别人自己发表的所以评论的回复 使用范围:电脑网app:命名前缀pconline、汽车网app:命名前缀pcauto 请求方式:get 是否需要登录:是 请求参数: pageNo:页数 common_session_id:用户登陆后获得的认证id pageSize:每页条数 { "pageNo":1, //页码 "pageSize":20, //每页条数 "topicList":[ { "time":123, //时间,创建或最终修改时间 "replyName":“你好” //回复者名称, "replyImage":“http://mrobot….jpg” //回复者头像url "title":"三两下root好并精简你的三星I9100",//标题 "replyContent":"回复内容为9", //回复内容 "topicId":13597147, // 帖子id "uri":"http://itbbs.pconline.com.cn/mobile/13597147.html" //帖子url } ], "total":12 //一共多少条 } }}} === 2.6 同步内容下载=== {{{ url: http://mrobot.pcautobbs.com.cn/v4/individualcenter/favorite/download?common_session_id=%d? 作用:同步论坛收藏的内容 使用范围:电脑网app:命名前缀pconline、汽车网app:命名前缀pcauto 请求方式:get 是否需要登录:是 请求参数: common_session_id:用户登陆后获得的认证id 注:车型,车系为汽车网客户端独有,其他2个是三个都有 例子: { "chexing":{ //车型 “list”:[ { “id”:1234, //车型id “name”:”宝马”, //车型名字 “image”:http://mrobot.pcauto.com/baoma.jpg, //车型小图url “price”:35.23 //车型价格 }, { “id”:1234, //车型id “name”:”宝马”, //车型名字 “image”:http://mrobot.pcauto.com/baoma.jpg, //车型小图url “price”:35.23 //车型价格 } ] }, “chexi”:{ //车系 “count”:12, //数组数量 “list”:[ { “id”:1234, //车系id “name”:”宝马3系”, //车系名字 “image”:http://mrobot.pcauto.com/baoma3.jpg, //车系小图url “price”:35.23 //车系价格 }, { “id”:1234, //车系id “name”:”宝马”, //车系名字 “image”:http://mrobot.pcauto.com/baoma.jpg, //车系小图url “price”:35.23 //车系价格 } ] }, “luntan”:{ //论坛 “list”:[ { “id”:1234, //论坛id “name”:”宝马”, //论坛名字 }, { “id”:1234, //论坛id “name”:”宝马”, //论坛名字 } ] }, “tiezi”:{ //帖子 “list”:[ { “id”:1234, //帖子id “name”:”宝马3系太好了”, //帖子标贴 }, { “id”:1234, //帖子id “name”:”宝马3系太好了”, //帖子标贴 } ] } } }}} === 2.7 同步内容上传=== {{{ url: http://mrobot.pcautobbs.com.cn/v4/individualcenter/favorite/update?common_session_id=%d? 作用:同步论坛收藏的内容 使用范围:电脑网app:命名前缀pconline、汽车网app:命名前缀pcauto 请求方式:post 是否需要登录:是 请求参数: common_session_id:用户登陆后获得的认证id 注:车型,车系为汽车网客户端独有,其他2个是三个都有 例子: { "chexing":{ //车型 “addlist”:[123121,1111,2222,3333,566788], //新增车型id数组 “delete”:[12356,6666,5555,32145], //删除车型id数组 } “chexi”:{ //车系 “addlist”:[123121,1111,2222,3333,566788], //新增车系id数组 “delete”:[12356,6666,5555,32145], //删除车系id数组 }, “luntan”:{ //论坛 “addlist”:[123121,1111,2222,3333,566788], //新增论坛id数组 “delete”:[12356,6666,5555,32145], //删除论坛id数组 }, “tiezi”:{ //帖子 “addlist”:[123121,1111,2222,3333,566788], //新增帖子id数组 “delete”:[12356,6666,5555,32145], //删除帖子id数组 } } }}} === 2.8 汽车论坛的首页热门 === {{{ url: hots 作用:获取论坛的热门帖子列表 使用范围:汽车网app:命名前缀pcauto HTTP请求方式:get 是否需要登录:否 请求参数: pageNo: pageSize: 返回参数: { "total":2000, //总数 "pageNo":1, //页码 "pageSize":20, //每页有多少调 "focus":[ { "img":"http://xxxx.png", //焦点图 "id":"123456" //帖子id } ], "topicList":[ { "title":"todo", //帖子标题 "replyCount":100, //帖子的回复数 "view":100, //帖子的阅读数 "pubDate":"2012-02-02", //帖子的发布时间 "author":"todo", //帖子的作者 "id":"123456", //帖子id "img":"http://xxxx.png", //帖子的导读图 "flag":"精" //帖子标记,精或者图 } ] } }}} === 2.9 论坛的帖子列表重构 === {{{ url: http://mrobot.pconline.com.cn/proxy/itbbs/forums/768714?filter=pick&pageNo=1&pageSize=20 && http://mrobot.pcauto.com.cn/proxy/bbs/forums/14140?filter=pick&pageNo=1&pageSize=20 作用:获取某论坛帖子列表 使用范围:汽车网app:命名前缀pcauto ,电脑网app:命名前缀pconline ,汽车论坛app:命名前缀pcautobbs 备注:新建madmin操作后台,后台支持添加某些帖子到列表的topTopics字段;不同的板块有不同的topTopics,不提供板块选择,操作者自行填写板块id。 HTTP请求方式:get 是否需要登录:否 请求参数: 在原来的参数基础上添加以下请求参数: filterv4: 有四个值,分别为time、reply、top和pick,对应分别是按照时间倒序、按照最新回复倒序、只显示置顶帖并按时间倒序和只显示精华,赋不同值出对应的列表 返回参数: { ...... "topTopics":[ { "pubDate":"2013-03-28", //发布日期 "title":"每日签到:锤子发布了,罗永浩的魔术到底改变了什么?", //帖子标题 "topicId":16378805, // 帖子id "seq":4, //表示该帖子会出现在列表中的位置 "image":"http://img0.pconline.com.cn/pconline/1303/28/3233368_f23.jpg", //导读图 "replyCount":1111, //帖子回复数 "view":111 // 帖子阅读数 "author":"todo" //帖子作者 } ] } }}} === 2.9 帖子页 === {{{ url: http://mrobot.pcauto.com.cn/v2/bbs/topics/3647953?pageNo=1&pageSize=20 && http://mrobot.pconline.com.cn/v2/itbbs/topics/16291425?pageNo=1&pageSize=20 作用:获取套用新模板帖子终端页 使用范围:汽车网app:命名前缀pcauto ,电脑网app:命名前缀pconline ,汽车论坛app:命名前缀pcautobbs 备注:新模板要求显示该帖子所属的论坛入口,链接为{$app}://bbs-topics/{$id}; 显示楼主的论坛等级; 显示回复数和阅读数; 添加回复按钮,链接为pcaction://reply?floorId={$id}&floor={$floor},参数分别为该楼层的id和楼层数;当该帖子为精华帖时,需要显示相应的提示。 查看设计稿:http://192.168.50.193/app4.0/" HTTP请求方式:get 是否需要登录:否 请求参数,在原有的参数基础上添加以下参数: topicTemplate: 当该值为4.0时,才请求新模板的终端;否则请求的是旧帖子终端。 picRule:只有0,1和2三个值。为0时显示小图,点击显示大图;为1时显示文字链,点击打开大图;为2时直接显示大图。 viewAuthorOnly: 为0时显示所有楼层,为1时只显示作者发表的楼层。 app: 表示请求该链接的应用。比如使用汽车网客户端请求,会传入pcautobrowser;使用车展速递会传入pcautoshow。 该值用以定制网页的内部链接,根据传入的值不同,内部链接会生成不用的协议,比如前文说的论坛入口,如果是传入pcautobrowser, 则论坛入口为pcautobrowser://bbs-topics/{$id}。车展和汽车论坛客户端以此类推。 }}} === 2.9 回复楼层 === {{{ url: http://mrobot.pcauto.com.cn/v2/bbs/topics/3647953?pageNo=1&pageSize=20 && http://mrobot.pconline.com.cn/v2/itbbs/topics/16291425?pageNo=1&pageSize=20 作用:回复帖子里的某个楼层 使用范围:汽车网app:命名前缀pcauto ,电脑网app:命名前缀pconline ,汽车论坛app:命名前缀pcautobbs 是否需要登录:是 请求方法:post 请求参数,在原有的参数上添加以下参数: floorId:待回复的楼层id 返回参数: 不变。 }}} === 2.9 推荐论坛 === {{{ url:recommendedForums 作用:回复帖子里的某个楼层 使用范围:电脑网app:命名前缀pconline 请求参数: 无 请求方法:get 是否需要登录:否 返回参数: { "total":123, //推荐的论坛总数 "forums":[ { "img":"http://xxx.png", //显示的图片 "name":"todo", //板块的名字 "forumId":123456 //板块id } ] } }}} === 2.9 推荐帖子 === {{{ url:recommendedTopics 作用:回复帖子里的某个楼层 使用范围:电脑网app:命名前缀pconline 请求参数: 无 请求方法:get 是否需要登录:否 返回参数: { "total":2000, //总数 "pageNo":1, //页码 "pageSize":20, //每页有多少调 "focus":[ { "img":"http://xxxx.png", //焦点图 "id":"123456" //帖子id } ], "topicList":[ { "title":"todo", //帖子标题 "replyCount":100, //帖子的回复数 "view":100, //帖子的阅读数 "pubDate":"2012-02-02", //帖子的发布时间 "author":"todo", //帖子的作者 "id":"123456", //帖子id "img":"http://xxxx.png", //帖子的导读图 "flag":"精" //帖子标记,精或者图 } ] } }}}