[[TOC]] == 一.基本约定 == {{{ 1.开发机、测试机代理地址: mrobot开发机代理:192.168.10.199 端口:1080 mrobot测试机代理:192.168.10.198 端口:1080 2.当接口处理正常时,HTTP STATUS CODE 返回给200。包括有正常的业务数据和数据为空的情况。 3.当接口处理异常时,HTTP STATUS CODE 返回非200,并且给出具体的错误信息。 { "desc":"给用户的提示放在这里" } 4.接口默认的字符编码是UTF-8,接口需要实现对req-enc和resp-enc参数的支持。 5.所有有写操作的数据接口,必须用POST方式提交,在接口里需要判断提交方式,拒绝GET的调用请求。 6.接口中的JSON字符串,key都用双引号("")包裹,value是字符串类型时,也用双引号("")包裹;是数字类型时,不用引号 7.需要分页的接口,统一返回以下字段: pageNo,pageSize,total 8.涉及接口都需要传请求参数:v = 240 //版本号(数字) }}} == 二.接口列表 == == 1.首页接口调整== **说明:** >首页旧接口调整 **开发人员:** >mrobot ,少凡 **HTTP请求方式:** >get **是否需要登录:** >否 **返回格式:** >JSON **缓存方式:** >有 **缓存时间:** >15min **请求参数** ||参数名||类型||必须||说明|| ||id ||int ||不是 ||栏目id || ||v ||int ||不是 ||版本号) || || lemmaId ||int ||是 ||时间轴id) || || agent ||int ||是 ||客户端标识,IOS:2,Android:3) || || month ||int ||是 ||怀孕、育儿所在阶段的第几个月,例如,育儿第一个月month=1,当育儿1~6的时候month=13) || {{{ { extend:[ //推广的文字链,文字链只分阶段不分时间轴,如果没有则返回空 { title:"这里是文字链啊,分阶段不分时间轴,这个文字链的文字客户端一定要分行显示完整啊囧,不完整不行啊", url:"http://www.baidu.com", } ], focus:[ //焦点图数据 { id: //id:"articleId=234&expertId=112&num=111"( 推“专栏详情”的推广时id为文章id&专家id&专栏期数id) image: title: type:论坛(1列表、2终端);亲子学院(3列表、4终端);活动(5列表、6终端);工具(7终端);食谱(8终端);资讯(9终端); 问答(10终端);百科(11终端);崔玉涛视频(12视频文章终端);专栏详情(13) url:(活动、工具终端打开需要url,不需要时为空字符串) } ], //新增推荐位,根据时间节点一天返回3套数据,一套3条数据 "recommendTimeline": [ [ //类型一共包括如下几种,但根据需求只会出现3种类型 {//type=1图集(无图片则去掉image) "type": "1""id": "15403", "title": "标题标题标题标题标题标题", "preview": "描述描述描述描述描述描述描述描述描述描述描述描述描述描述", "image": "http://www1.pcbaby.com.cn/baby/4.jpg" }, {//type=2视频(无图片则去掉image) "type": "2""id": "2085306", "title": "标题标题标题标题标题标题", "preview": "描述描述描述描述描述描述描述描述描述描述描述描述描述描述", "image": "http://www1.pcbaby.com.cn/baby/4.jpg" }, {//type=3专家视点(无图片则去掉image) "type": "3", "id": "2200806""title": "防“漏”有招 妈妈产后无烦忧", "expertName": "邓敏端", "position": "副主任医师", "department": "妇产科", "url": "http://m.pcbaby.com.cn/x/220/zt2200806.html?fromPcbabyApp", "image": "http://www1.pcbaby.com.cn/jctj/27.jpg" }, {//type=6资讯文章(无图片则去掉image) "type": "6", "id": "2085306", "title": "防“漏”有招 妈妈产后无烦忧", "preview": "描述描述描述描述描述描述描述描述描述描述描述描述描述描述", "image": "http://www1.pcbaby.com.cn/huodong/70f04e96c.jpg" }, {//type=7百科文章(无图片则去掉image) "type": "7", "title": "婴儿辅食食谱", "preview": "辅食是指在宝宝能够完全接受固体食物之前的过渡期所吃的食物", "url": "http://baike.pcbaby.com.cn/app/zsd/1584.html", "image": "http://www1.pcbaby.com.cn/230.jpg" }, {//type=8生活圈帖子(无图片则去掉image) "type": "8", "id": "2932037""title": "【玩具军团】益智玩具伴我来成长", "preview": "7岁以内的小孩子,每周要给一件新的玩具", "image": "http://www1.pcbaby.com.cn/230.jpg" }, {//type=10html页(无图片则去掉image) "type": "10", "title": "宝宝起名大全", "preview": "宝宝起名大全宝宝起名大全", "url": "http://m.pcbaby.com.cn/x/87/878482.html?fromPcbabyApp", "image": "http://www1.pcbaby.com.cn/230.jpg" } ] ...... ...... ...... ], "timeline": { }, recommendChannel:[ //热门栏目 ], recommendContent: (推荐位) //(1-2岁育儿,根据时间轴id,一次性返回31条数据) //(2-6岁育儿,根据时间轴id,一次性返回31条数据) //(0-1岁育儿,跟旧版保持不变,每天返回一条数据,考虑旧版本兼容) [ ], topics:[ //精彩话题(生活圈与私密圈帖子一共出5条数据,两者出现的顺序与数目不固定,但总数目不变: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.验证序列号是否有效接口== **说明:** >验证序列号是否有效接口 **开发人员:** >后端 ** HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||登录用户id || || serial_no ||string ||是 ||系列号 || || type ||int ||是 ||设备种类(1:胎语仪,2:体重秤) || {{{ 返回参数: { “status”:0, //处理状态 “message”:"序列号正确!" //相关状态信息 } }}} == 3.激活设备序列号:== **开发人员** >( 后端) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || phone_number ||string ||是 ||手机号|| || serial_no ||string ||是 ||系列号|| || type ||int ||是 ||设备种类(1:胎语仪,2:体重秤)|| {{{ 返回参数: 返回(json格式): { “status”:0, //处理状态 “message”:"序列号正确!" //相关状态信息 } }}} == 4.找回序列号: == **开发人员** >( 后端) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || phoneNum ||string ||是 ||手机号|| || type ||int ||是 ||设备种类(1:胎语仪,2:体重秤)|| {{{ 返回参数: 返回(json格式): { “status”:0, //处理状态 “message”:"已发送系列号到手机" //相关状态信息 } }}} == 5.获取手机验证码接口: == **开发人员** >( 后端) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || phone_number ||string ||是 ||手机号|| {{{ 返回参数: { “status”:0, //处理状态 “message”:”用户操作成功”, //相关状态信息 “verify_code”:”123456” //客户端用于校验的验证码,格式为6位随机数字 } }}} == 6. 体重分析页保存备注接口:== **开发人员** >( 后端) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || date ||string ||是 ||时间戳(25476513)|| || remark ||string ||是 ||备注内容|| {{{ 返回参数: { “status”:0, //处理状态,0正常,-1异常 “message”:"上传备注成功" //相关状态信息 } }}} == 7. 体重分析页获取备注接口:== **开发人员** >( 后端) **HTTP请求方式:** >get **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || date ||string ||是 ||时间戳(25476513)|| {{{ 返回参数: { “status”:0, //处理状态,0正常,-1异常 “remark”:"备注内容" //备注内容 } }}} == 8. 保存(备份)体重秤记录 (后端,要参考快妈接口 ):== **开发人员** >( 后端) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || lemaId ||int ||是 ||时间轴id|| || height ||float ||不是 ||身高|| || beforeWeight ||float ||不是 ||孕前体重|| || weight ||float ||是 ||当前体重|| || babyWeight ||float ||不是 ||婴儿体重|| || babyGender ||int ||不是 ||(0代表男孩,1代表女孩,-1代表未知)|| || date ||string ||是 ||当天日期(2016-05-02)|| || type ||int ||是 ||type:(1代表备孕,2代表怀孕,3代表育儿妈妈, 4代表育儿宝宝0-1岁,5代表育儿宝宝2-6岁)|| {{{ 返回参数: { “status”:0,(0代表成功,-1代表失败) //处理状态 “message”: (描述信息), “height”: 175, (身高,可以为空) “beforeWeight”:50.0 (孕前体重,可以为空) } }}} == 9. 删除体重秤接口: == **开发人员** >( 后端) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || lemanId ||iny||是 ||时间轴id|| || date ||string ||是 ||当天日期(2016-05-02)|| {{{ 返回参数: { status:”0”(0代表正常,-1代表异常) message:”删除成功” } }}} == 10. 体重分析页/分享页: == **开发人员** >mrobot,制作 **HTTP请求方式:** >get **是否需要登录:** >否 **返回格式:** >html页面 **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || lemaId ||int ||是 ||时间轴id|| || height ||float ||不是 ||身高|| || beforeWeight ||float ||不是 ||孕前体重|| || weight ||float ||是 ||当前体重|| || date ||string ||是 ||当天日期(2016-05-02)|| || BMIType ||int ||是 ||BMI指数类型(4孕前正常,5孕前偏瘦,6孕前偏重,7孕前超重)|| || week ||int ||是 ||怀孕第几周,如week=16为怀孕第16周|| ||weightRange ||string ||是 ||建议的标准体重(51~59)|| ||isBabyWeight ||string ||是 ||是否为宝宝体重,isBabyWeight=1为宝宝体重|| ||fmt ||string ||是 ||fmt=wap 分享页|| ||type||int|| 是 || type:(1代表备孕,2代表怀孕,3代表育儿妈妈, 4代表育儿宝宝0-1岁,5代表育儿宝宝2-6岁)|| == 11. 胎语仪分享页: == **开发人员** >(后端、烧饭、mrobot) **HTTP请求方式:** >get **是否需要登录:** >是 **返回格式:** >HTML **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || date ||string ||是 ||123456(时间戳)|| == 12. 删除胎语音频接口: == **开发人员** >(后端,UPA) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || record_time ||string ||是 ||123456(时间戳)|| {{{ 返回参数: { status:”0”(0代表正常,-1代表异常), message:”删除成功” } }}} == 13. 上传胎语音频文件接口: == **开发人员** >( UPA) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || upload_file ||string ||是 ||音频文件路径(必须在post form中)|| ||recTime ||int ||是 ||记录时间(时间戳)|| {{{ 返回参数: { “status”:0, //处理状态 “message”:”OK”, //相关状态信息 “file_url”:”test.icarenewlife.com/abcd” //音频URL(只有status=0时才有值) } }}} == 14. 上传(备份)胎语记录数据接口 == **开发人员** >( 后端) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| {{{ 请求参数: record_data_array:(用户记录数据集,Json数组格式) [ {//一条记录格式 //公共项 recTime: // 记录时间(时间戳) occurTime: // 发生时间(时间戳) recType: // 记录类型 comments: // 备注 file_url: // 音频文件url upload_category: // 指定上传操作种类(1胎心,23成人心跳) sequence_no; // 上传文件序列号(胎语默认设为1) //胎语 avgRate_fetalBeat: // 平均心率 duration_fetalBeat: // 时长 beatValue_fetalBeat: // 胎心数据 beatTime_fetalBeat: // 对应胎心数据的时间, 单位为秒 tagTime_fetalBeat: // 胎心时间 单位为秒 //成人心跳 avgRate_adultBeat: // 平均心率 duration_adultBeat: // 时长 beatValue_adultBeat: // 胎心数据 beatTime_adultBeat: // 对应胎心数据的时间, 单位为秒 tagTime_adultBeat: // 成人心跳时间 单位为秒 } …. ] }}} {{{ 返回结果: { “status”:0, //处理状态 “message”:”OK”, //相关状态信息 “upload_success_count”:100, //上传成功记录条数 “upload_success_array”: //上传成功数据的记录类型和记录时间数组 [ { "recTime": “148959560000”, //记录时间 "recType": "1", //记录类型 } ... ] } }}} == 15. 下载胎心音频文件接口: == **开发人员** >( 后端) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || record_type ||string ||是 || 用户记录类型(胎语默认为1) || ||recTime ||int ||是 ||记录时间(时间戳)|| {{{ 返回参数: { "status":0, //处理状态 "message":"OK", //相关状态信息 "download_record_data": { //公共项 recTime: // 记录时间 occurTime: // 发生时间 recType: // 记录类型 comments: // 备注 //胎语 avgRate_fetalBeat: // 平均心率 duration_fetalBeat: // 时长 beatValue_fetalBeat: // 胎心数据 beatTime_fetalBeat: // 对应胎心数据的时间, 单位为秒 tagTime_fetalBeat: // 胎心时间 单位为秒 audioPath_fetalBeat: // 胎心音频路径 //成人心跳 avgRate_adultBeat: // 平均心率 duration_adultBeat: // 时长 beatValue_adultBeat: // 胎心数据 beatTime_adultBeat: // 对应胎心数据的时间, 单位为秒 tagTime_adultBeat: // 成人心跳时间 单位为秒 audioPath_adultBeat: // 成人心跳音频路径 } } }}} == 16. 获取体重记录数据: == **开发人员** >mrobot,后端 **HTTP请求方式:** >get **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || pageNo ||int ||是 ||第几页|| || pageSize ||int ||是 ||(一页加载10条)|| || type ||int ||是 ||type:(1代表备孕,2代表怀孕,3代表育儿妈妈, 4代表育儿宝宝0-1岁,5代表育儿宝宝2-6岁)|| {{{ 返回参数: { “pageNo”:2, “pageSize”:10, “status”:(0正常,-1异常) "msg":"数据获取成功" //提示信息 "BMIType":4 //BMI指数类型(4孕前正常,5孕前偏瘦,6孕前偏重,7孕前超重) "data": [ { "lemmaId": 281, //时间节点id “date”:2016-05-01, "weight": 58.0, // 体重 “desc” :”偏重” }, { "lemmaId": 282, //时间节点id “date”:2016-05-01, "weight": 59.0 // 体重 “desc” :”偏轻” } ... ] } }}} == 17. 胎语纪录分析页,推荐内容接口: == **开发人员** >mrobot ,制作 **HTTP请求方式:** >get **是否需要登录:** >否 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || day ||string ||是 ||每月中的天,如第一天day=1,第二天day=2|| || v ||string ||不是 ||版本号(300)|| {{{ 返回参数: { status : (0代表正常,-1代表异常) data:[ { articleId:198 //文章id imgUrl:”文章导读图”, title:”宝宝心跳,带给孕妈的感动”, desc: “描述” }, { qId:200 //问答id title: “忽略4件事 胎儿小心脏或有缺陷” }, { qId:201 //问答id title: “胎儿性别早知道 从胎心看男女” } ] } }}} == 18.获取我的记录接口: == **开发人员** >mrobot ,李锋 **HTTP请求方式:** >get **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| {{{ 返回参数: { "pageNo": 1, "pageSize": 20, "record": [ { "data": “2016-2-2”, "weight": "59.0kg", "tip": “专家提醒:良好的生活习惯继续保持。进行有效的锻炼,有助于孕妇控制体重", recordTime:”1432579845” (保存胎语记录时间,时间戳) "heartBeat": “110~160次/分”,(怀孕阶段才出来) “babyWeight” : 10 (婴儿体重) "babyTip": “专家提醒:良好的生活习惯继续保持。进行有效的锻炼,有助于孕妇控制体重" }, { "data": “2016-2-2”, "weight": "59.0kg", "tip": “专家提醒:良好的生活习惯继续保持。进行有效的锻炼,有助于孕妇控制体重", recordTime:”1432579845” (保存胎语记录时间,时间戳) "heartBeat": “110~160次/分", “babyWeight” : 10 (婴儿体重) "babyTip": “专家提醒:良好的生活习惯继续保持。进行有效的锻炼,有助于孕妇控制体重" } ...... ], "total": 100 } }}} == 19. 账号同步到我们的后台(后端)== == 20. live800页面(mrobot) == == 21.快捷登录(passport,已有) == == 22.获取登录验证码接口(passport,已有) == == 23.购买设备接口: html页面(前端制作) == **HTTP请求方式:** >get **是否需要登录:** >否 **返回格式:** >html **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| ||type: ||string ||是 ||设备种类(1:胎语仪,2:体重秤)|| == 24.小贴士html页面) == **说明:小贴士有多个页面滚动** **HTTP请求方式:** >get **是否需要登录:** >否 **返回格式:** >html **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| ||type: ||string ||是 ||设备种类(1:胎语仪,2:体重秤)|| == 25.安全称常见问题html页面 (mrobot,郑少凡) == == 26.关于胎语仪页面:(mrobot,郑少凡) == == 27.如何寻找胎心wap页面 (mrobot,郑少)== == 28.使用手册:== 开发人员:(mrobot,少凡) {{{ { 功能与特点wap页面 如何使用wap页面 安全性wap页面 保养 计数参数 设备兼容性 } }}} == 29.胎语仪常见问题(mrobot,少凡) == == 30.胎心基本知识(mrobot,少凡 == == 31.广告待定,等刊例出来(mrobot、广告系统(文章,百科,生活圈精华帖子广告)) ==