== 基本约定 == {{{ 1.当接口处理正常时,HTTP STATUS CODE 返回给200。包括有正常的业务数据和数据为空的情况。 2.当接口处理异常时,HTTP STATUS CODE 返回给500,并且给出具体的错误信息。 { "uri" : "/intf/albums-by-type.jsp", "error-code":"20502", "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是字符串类型时,也用双引号("")包裹,并且过滤掉回车换行,对字符串中包含的双引号(")进行转义;是数字类型时,不用引号。 6.所有接口的URL都必须是小写,参数名称也需要是小写。 }}} == 1.首页接口---主题列表 == 原型 http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.0/ [[BR]] URL:[[BR]] 请求方式:GET[[BR]] 是否需要登录:否[[BR]] 功能说明:搜索主题,已分页形式返回[[BR]] 提交参数:无[[BR]] 返回参数:[[BR]] {{{ { "total":100, "pageIndex":1, "pageSize":10, "topics":[ { "id":10, "bigImg":"http:xxxx", "name":"topicName", "description":"topic descript" }, { "id":11, "bigImg":"http:xxxx", "name":"topicName", "description":"topic descript" } ] } }}} 返回参数说明:[[BR]] total:主题总数量[[BR]] pageIndex:分页用页码[[BR]] pageSize:分页用每页数量[[BR]] topics:主题数组[[BR]] id:主题的id[[BR]] bigImg:主题图片[[BR]] name:主题名称[[BR]] description:主题描述 == 2.主题接口 == 原型 http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.0/ [[BR]] URL:[[BR]] 请求方式:GET[[BR]] 是否需要登录:否[[BR]] 功能说明:根据主题id,已分页形式返回产品列表[[BR]] 提交参数:[[BR]] {{{ tid:主题id }}} 返回参数:[[BR]] {{{ { "total":20, "pageIndex":1, "pageSize":10, "products":[ { "id":10, "bigImg":"http:xxxx", "name":"productName", "collectCount":1234 }, { "id":11, "bigImg":"http:xxxx", "name":"productName", "collectCount":1234 } ] } }}} 返回参数说明:[[BR]] total:单品总数量[[BR]] pageIndex:分页用页码[[BR]] pageSize:分页用每页数量[[BR]] products:单品数组[[BR]] id:单品的id[[BR]] bigImg:单品图片[[BR]] name:单品名称[[BR]] collectCount:单品被收藏的数量[[BR]] == 3.单品库首页 == 原型 http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.0/ [[BR]] URL:[[BR]] 请求方式:GET[[BR]] 是否需要登录:否[[BR]] 功能说明:返回单品库的类别[[BR]] 提交参数:无[[BR]] {{{ }}} 返回参数:[[BR]] {{{ { "categories":{ "1001":{ "level":1, "seq":1, "name":"客厅" }, "1002":{ "level":1, "seq":2, "name":"卧室" }, "100101":{ "level":2, "seq":1, "name":"沙发" }, "100102":{ "level":2, "seq":2, "name":"荼几" }, "100103":{ "level": 3, "seq": 1, "name":"布艺沙发" } }, "relations":{ "1001":[ 100101, 100102 ], "1002":[], "100101":[ 100103 ] } } }}} 返回参数说明:[[BR]] id:节点ID[[BR]] level:节点的层次,1表示根节点。[[BR]] seq:节点的顺序,同级节点之间的显示顺序。从1开始[[BR]] name:节点名称[[BR]] image:图片url[[BR]] type:节点类型,node表示该节点的下级还是一个节点,article表示该节点的下级已经是文章ID[[BR]] $node id value:节点ID的值。以节点ID的值作为key,该节点的子节点集合作为value,建立节点之间的关联关系,实现节点的向下遍历。[[BR]] == 4.单品库列表页(搜索结果,猜你喜欢的返回参数一样) == http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.0/ [[BR]] URL:[[BR]] 请求方式:GET[[BR]] 是否需要登录:否[[BR]] 功能说明:根据主题id,已分页形式返回产品列表[[BR]] 提交参数:[[BR]] {{{ space:睡房 type:床 }}} 返回参数:[[BR]] {{{ { "total":100, "pageIndex":1, "pageSize":10, "products":[ { "name":"法丽莎家具 欧式床 实木床 田园婚床 双人床 1.8 1.5米", "price":"¥2699.00", "oldPrice":"¥2899.00", "collectCount":1234 }, { "name":"法丽莎家具 欧式床 实木床 田园婚床 双人床 1.8 1.5米", "price":"¥2699.00", "oldPrice":"¥2899.00", "collectCount":1234 } ] } }}} 返回参数说明:[[BR]] total:单品总数量[[BR]] pageIndex:分页用页码[[BR]] pageSize:分页用每页数量[[BR]] products:单品数组[[BR]] products:产品数组[[BR]] name:产品名[[BR]] price:当前价格、优惠价格[[BR]] oldPrice:旧价格[[BR]] collectCount:收藏数量[[BR]] == 5.测试页 == http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.0/ [[BR]] URL:[[BR]] 请求方式:GET[[BR]] 是否需要登录:否[[BR]] 功能说明:返回测试页内容[[BR]] 提交参数:无[[BR]] {{{ }}} 返回参数:[[BR]] {{{ { "count":6, "tests":[ { "testId":1, "testDescription":"请选择上述两款产品中你较喜欢的产品", "MultiSelect":0, "selection":[ { "selectionId":11, "image":"http://xxx" }, { "selectionId":12, "image":"http://xxx" } ] }, { "testId":2, "testDescription":"请选择上述两款产品中你较喜欢的产品", "MultiSelect":1, "selection":[ { "selectionId":21, "image":"http://xxx" }, { "selectionId":22, "image":"http://xxx" } ] } ] } }}} 返回参数说明:[[BR]] count:测试页数量[[BR]] tests:测试页数组[[BR]] testId:测试页id[[BR]] testDescription:测试页[[BR]] MultiSelect:是否多选,1是,0否[[BR]] selection:选项数组[[BR]] selectionId:选项id[[BR]] image:图片url[[BR]] == 6.测试结果记录 == == 7.终端页 == http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.0/ [[BR]] URL:[[BR]] 请求方式:GET[[BR]] 是否需要登录:否[[BR]] 功能说明:根据产品id,返回产品的详细信息[[BR]] 提交参数:[[BR]] {{{ pid:产品id }}} 返回参数:[[BR]] {{{ { "productName":"法丽莎家具 欧式床 实木床 田园婚床 双人床 1.8 1.5米", "price":"¥2699.00", "oldPrice":"¥2899.00", "seller":"发丽莎家居旗舰店", "image":[ "http://xxxx", "http://xxxx", "http://xxxx" ], "commentCount":1234, "comments":[ { "nickName":"b_小贝贝", "time":"9月3日 15:23", "face":"http://asdfasdf", "content":"她家的包包看起来还不错,有谁买过的,求推荐!" }, { "nickName":"Blanch_213", "time":"9月3日 15:53", "face":"http://asdfasdf", "content":"简单,但太普遍了!" } ] } }}} 返回参数说明:[[BR]] productName:产品名[[BR]] price:价格、优惠价格 [[BR]] oldPrice:原价格[[BR]] seller:商家[[BR]] image:图片数组[[BR]] commentCount:评论总数[[BR]] comments:评论数组[[BR]] nickName:昵称[[BR]] time:评论时间[[BR]] face:头像[[BR]] content:评论内容[[BR]] == 8.用户信息 == 原型http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/ [[BR]] URL:[[BR]] 请求方式:GET[[BR]] 是否需要登录:是[[BR]] 功能说明:登录后,返回用户信息[[BR]] 提交参数:[[BR]] {{{ tid:主题id }}} 返回参数:[[BR]] {{{ http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/ { "username":"imoveto1", "session":"xxxx", "userid":"userid", "remark":"坚持世上一切美好的事物,哈哈!", "face":"http://xxxx", "collectCount":34, "readHistory":134 } }}} username:用户名[[BR]] session:session[[BR]] userid:用户id[[BR]] remark:备注[[BR]] face:头像[[BR]] collectCount:收藏夹数量[[BR]] readHistory:浏览历史[[BR]] == 9.用户信息修改接口 == 原型http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/ [[BR]] URL:[[BR]] 请求方式:POST[[BR]] 是否需要登录:是[[BR]] 功能说明:修改用户信息接口[[BR]] 提交参数:[[BR]] {{{ username:用户名[[BR]] session:session[[BR]] userid:用户id[[BR]] remark:备注[[BR]] face:头像[[BR]] }}} 返回参数:[[BR]] {{{ }}} == 10.登录接口(可以是分成3个URL) == 原型http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/ [[BR]] URL:[[BR]] 请求方式:POST[[BR]] 功能说明:已新浪微博,腾讯微博,淘宝账号登录[[BR]] 提交参数:[[BR]] {{{ type:区分新浪微博,腾讯微博,淘宝账号 }}} 返回参数:[[BR]] {{{ }}} == 11.注销接口 == == 12.收藏接口 == 原型http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/ [[BR]] URL:[[BR]] 请求方式:POST[[BR]] 是否需要登录:是[[BR]] 功能说明:登录后记录用户收藏的内容[[BR]] 提交参数:[[BR]] {{{ }}} 返回参数:[[BR]] {{{ }}} == 13.收藏列表 == == 14.浏览记录 == 原型http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/ [[BR]] URL:[[BR]] 请求方式:POST[[BR]] 是否需要登录:是[[BR]] 功能说明:发送用户浏览过的产品[[BR]] 提交参数:[[BR]] {{{ pid:产品id }}} 返回参数:[[BR]] {{{ }}} == 15.搜索 == 原型http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/ [[BR]] URL:[[BR]] 请求方式:POST[[BR]] 是否需要登录:否[[BR]] 功能说明:根据条件搜索,已分页形式返回产品列表[[BR]] 提交参数:[[BR]] {{{ }}} 返回参数:[[BR]] {{{ }}} == 16.发送评论 == 原型http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/ [[BR]] URL:[[BR]] 请求方式:GET[[BR]] 是否需要登录:否[[BR]] 功能说明:根据主题id,已分页形式返回产品列表[[BR]] 提交参数:[[BR]] {{{ }}} 返回参数:[[BR]] {{{ }}} == 17.获取评论(视情况而定,是否在页面终端页中加入) == 原型http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/ [[BR]] URL:[[BR]] 请求方式:GET[[BR]] 是否需要登录:否[[BR]] 功能说明:根据主题id,已分页形式返回产品列表[[BR]] 提交参数:[[BR]] {{{ }}} 返回参数:[[BR]] {{{ }}} == 18.猜你喜欢 == = 用户行为接口 = 家居优品项目希望通过对用户一些行为的收集,分析和识别出用户的一些特征。系统利用用户特征,能够较为准确的给网友进行商品推荐。系统主要对下列 用户的行为进行采集:搜索关键词、测试结果关键词、浏览商品、浏览主题、收藏商品。其中浏览商品和浏览主题的信息保存在客户端上,需要客户端提交给服务器, 其余信息在网友操作过程中,服务器能够自动采集。 浏览商品 采集频率:应用切换回前台时提交[[BR]] 数据格式:[{"mac-id":"004443fdd433434","uid":"233223","pid":"xxxxx","t-time":233][[BR]] mac-id:网卡的mac地址,必须提交。[[BR]] uid:登录用户的ID,未登录时为空。[[BR]] pid:商品ID[[BR]] v-time:商品页停留时间=离开商品终端页的时间 - 进入商品终端页的时间;单位是秒,毫秒尾数进行四舍五入。[[BR]] 存储方式:文件[[BR]] 浏览主题 采集频率:应用切换回前台时提交[[BR]] 数据格式:[{"mac-id":"004443fdd433434","uid":"233223","tid":"xxxxx","t-time":2323}][[BR]] mac-id:网卡的mac地址,必须提交。[[BR]] uid:登录用户的ID,未登录时为空。[[BR]] tid:商品ID[[BR]] v-time:主题页停留时间=离开主题页的时间 - 进入主题页的时间;单位是秒,毫秒尾数进行四舍五入。[[BR]] 存储方式:文件[[BR]]