美文网首页
官网接口(v2.0)

官网接口(v2.0)

作者: 满堂风来 | 来源:发表于2017-03-03 21:29 被阅读0次

    前台部分


    QQ授权登陆部分

    QQ授权登陆流程后台人员看,前台人员感兴趣看一下,我写的比较渣

    • 用户点击登陆按钮发起的请求
    Request Address: 
    (WebRoot)/user/signIn
    
    Request Method:
    GET
    
    Request Param:
    (NULL)
    
    • 之后回重定向到?地址(这里UI还没给),前端会收到这样一个响应
    ResponseParam:
    {
        "state":(string)  //授权成功为"success",失败初定为"fail",或考虑情况返回各种状态
    }
    

    (授权成功以后,后台会设置user_id和openID加密以后的cookie)

    • 之后前端向后台发起关于用户信息的请求(仅限用户本人)
      (这个接口用在需要后台刷新用户信息时,其中授权成功以后必须使用,但是因为这个接口中,后台会调用腾讯的API,而这个API可能每天有调用次数上限,所以尽可能不要频繁使用)
    Request Address: 
    (WebRoot)/user/getUserInfoRefresh
    
    Request Method:
    GET
    
    Request Param:
    (NULL)
    
    Response Param:
    {
        "state":(string)        //成功为"success",失败为"failed",并且以下的参数全部没有
        "nickname":(string)    //用户在QQ空间的昵称,如"Peter"
        "avantarUrl":(string)    //大小为40×40像素的QQ头像URL,如"http://qzapp.qlogo.cn/qzapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/30"
    }
    
    

    用户信息部分

    用户信息请求接口(仅对访问用户本人可用)

    (这个接口只会取出后台数据库中对用户信息的缓存,可以经常调用。前端如果需要的话,也可以做本地的数据缓存)

    Request Address: 
    (WebRoot)/user/getUserInfo
    
    Request Method:
    GET
    
    Request Param:
    (NULL)
    
    Response Param:
    {
        "state":(string)        //成功为"success",失败为"failed",并且以下的参数全部没有
        "nickname":(string)    //用户在QQ空间的昵称,如"Peter"
        "avantarUrl":(string)    //大小为40×40像素的QQ头像URL,如"http://qzapp.qlogo.cn/qzapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/30"
    }
    
    用户头像请求接口(对于任何用户,评论处的头像也从这里获取)
    //尚待商议,是不是换成直接图片下载比较好
    Request Address: 
    (WebRoot)/user/avantar
    
    Request Method:
    GET
    
    Request Param: 
    {
        "userId":(int)   //用户的Id
    }
    
    Response Param: 
    {
        "avantarUrl":(string)    //大小为40×40像素的QQ头像URL如"http://qzapp.qlogo.cn/qzapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/30"
    }
    

    文章部分(统一)

    (一样的部分我打算使用同一个接口,技术分享到时另外再添加补充接口,比如外链网址)

    文章预览列表页
    Request Address: 
    (WebRoot)/article/preview
    
    Request Method:
    GET
    
    Request Param: 
    {
        "type":(string)//"report"活动报道;"repairSkill"维修技巧;"collection"作品集锦;"share"技术分享(?)
        "page":(int)   //页码,默认为1(首页)
        "num":(int)//单页条数
    }
    
    Response Param: 
    {
        "state":(string)    //"success"为成功;"fail"为失败,并且以下的参数不会出现
        "totalPage" : (int)  //总的页数
        "report": //这个数组里的对象数量为num个(分页)
        [{ 
            "id" : (string),        //文章的id
            "title" : (string),           //标题
            "abstract" : (string),        //简介
            "updateTime" : (int),         //更新时间戳
        }]
    }
    
    文章预览列表页中的标题图请求接口(已取消,换由前端直接调用public名下的文件)
    文件名约定:
    public/img/filename
    filename : type-id.ext
        type 为 report / repairSkill / collection / share
        id 为 文章索引在数据库中的 主键
        ext 为文件拓展名,当前有jpg,png,gif三种形式
        例如:report-2.jpg
    
    //取消了,这个没用
    Request Address: 
    (WebRoot)/article/surfacePlot
    
    Request Method:
    GET
    
    Request Param: 
    {
        "type":(string)//"report"活动报道;"repairSkill"维修技巧;"collection"作品集锦;"share"技术分享(?)
        "id":(int)   //文章的Id
    }
    
    Response Param: 
    (图片文件)
    
    
    富文本html代码请求接口
    Request Address: 
    (WebRoot)/article/getHtml
    
    Request Method:
    GET
    
    Request Param: 
    {
        "type":(string)//"report"活动报道;"repairSkill"维修技巧;"share"技术分享
        "id":(int)   //文章的Id,会在预览页给出
    }
    
    Response Param: 
    {
        "state":(string)    //"success"为成功;"fail"为失败;
        "content":(string)   //转义后的html字符串,如"<div id=\"a\">"
    }
    
    评论翻页
    Request Address:
    (WebRoot)/article/comment
    
    Request Method:
    GET
    
    Request Param: 
    {
        "type":(string)//"report"活动报道;"repairSkill"维修技巧;"share"技术分享
        "id":(int)   //文章的Id,会在预览页给出
        "page" : (string)  //评论的页码
        "num":(int)//单页条数
    }
    
    Response Param: 
    {
        "state":(string)    //"success"为成功;"fail"为失败,并且以下的参数不会出现
        "totalPage" : (int)  //总的页数
        "comment":   //这个数组里的对象数量为num个(分页)
        [{
            "id":(int)  //评论id
            "user" : (string),          //评论人nickname
            "createTime" : (int),       //提交时间戳
            "content" : (string),       //评论内容
            "thumbUpNum":(int) ,       //点赞数量
            "isThumbUp":(int) ,        //用户本人是否已点赞,是为1,否为0
        }]//评论人头像的获取见用户信息部分
    }
    
    提交评论
    Request Address:
    (WebRoot)/article/comment/submit
    
    Request Method:
    POST
    
    Request:
    {
        "type":(string)//"report"活动报道;"repairSkill"维修技巧;"share"技术分享
        "id":(int)   //文章的Id
        "content" : (string) //评论的内容
    }
    
    Response Param: 
    {
        "state":(string)    //"success"为成功;"fail"为失败;"notSigned"未登录,前台帮忙引导至登录页面
    }
    
    给某评论点赞/取消点赞
    切换点赞的状态用的
    
    Request Address:
    (WebRoot)/article/comment/thumbUp
    
    Request Method:
    POST
    Request:
    {
        "type":(string)//"report"活动报道;"repairSkill"维修技巧;"share"技术分享
        "id":(int)   //评论的Id
    }
    
    Response Param: 
    {
        "state":(string)    //"success"为成功;"fail"为失败;"
        "isThumbUp":(int) ,        //(执行后数据库内的情况)用户本人是否已点赞,是为1,否为0
    }
    

    近期活动预览页

    Request Address: 
    (WebRoot)/activity/preview
    
    Request Method:
    GET
    
    Request Param: 
    {
        "page":(int)   //页码,默认为1,即第一条(应用分页组件的原因)(首页)
    }
    
    Response Param: 
    {
        "state":(string)    //"success"为成功;"fail"为失败,并且以下的参数不会出现
        "totalPage" : (int)  //总的页数
        "id":(int)//活动id号
        "title" : (string),   //活动标题,无限杯电子设计大赛
        "content" : (string), //活动简介
        "schedule":
        [{ 
            "stage" : (string),  //阶段
            "beginTime" : (int), //时间戳,开始时间
            "endTime" : (int),   //时间戳,结束时间
            "place" : (string),  //地点
        }],
        "signUpLink" : (string)  //报名表单外链,这个在为false的情况下,说明报名未开始或者已经截止
     }
    
    对应每个活动的海报图片请求接口(已取消,换由前端直接调用public名下的文件)
    文件名约定:
    public/img/poster/filename
    filename : id.ext
        id 为 活动在数据库中的主键
        ext 为文件拓展名,当前有jpg,png,gif三种形式
        例如:3.jpg
    
    //接口已取消
    //尚且值得商议,看要不要换成post,要不要加上token
    
    Request Address: 
    (WebRoot)/activity/poster
    
    Request Method:
    GET
    
    Request Param: 
    {
        "activityId":(int)   //报名活动的Id
    }
    
    Response Param: 
    (图片文件)
    
    

    维修预约部分

    (忆麟说可能这个要搞外链,我姑且还是写一下)

    一、获得预约信息

    Request Address: 
    (WebRoot)/appointment/getInfo
    
    Request Method:
    GET
    
    Request Param:
    (NULL)
    
    Response Param:
    {
        
        "state":(string)    //"success"为成功;"fail"为失败;"notSigned"未登录,前台帮忙引导至登录页面
        "isOrder" : (int),    //是否该用户有预约维修
        "underExam" : (int),  //在有预约的时候显示预约审核进度,0为未审核,1为通过,2为不通过
                              //在没有预约的时候一定为0 
    }
    

    二、进行预约

    //这个接口只有在这个用户没有预约过的时候开放
    //如果该用户当前有预约,那么这个接口一定会返回失败信息
    Request Address: 
    (WebRoot)/appointment/sign
    
    Request Method:
    POST
    
    Request Param:
    {
        "name" : (string),        //预约人的名字
        "phoneNumber" : (string), //手机号,默认11位,格式非法的电话号码无法通过预约
        "campus" : (int),         //校区信息,南校为0,北校为1
        "dormitory" : (string),   //宿舍的信息,最长30
        "itemName" : (string),    //修理物品的名字,最长80
        "description" : (string), //修理物品损坏情况的具体描述
    }
    
    Response Param:
    {
        "state":(string)    //"success"为成功;"fail"为失败;"notSigned"未登录,前台帮忙引导至登录页面
    }
    

    意见反馈部分

    查看反馈

    说听说前端点一下刷30条就好,至于刷了几次前端记录吧

    Request Address: 
    (WebRoot)/feedback/get
    
    Request Method:
    GET
    
    Request Param:
    {
        "index":(int)//第几个30条反馈
    }
    
    Response Param:
    {
        "state":(string)    //"success"为成功;"fail"为失败;"notSigned"未登录,前台帮忙引导至登录页面
        "feedback": //这个数组里的对象数量为个30(分页),即默认每次获取30条数据
        [{
            "feedbackCreateTime" : (int), //反馈的创建时间戳
            "feedbackContent" : (string), //反馈的内容 
            "responseAdmin":(string)//回复的后台管理员名
            "respondCreateTime" : (int),  //回应的创建时间戳
            "respondContent" : (string),  //回应的内容
        }]
    }
    
    提交反馈
    Request Address:
    (WebRoot)/feedback/submit
    
    Request Method:
    POST
    
    Request Param:
    {
        "content" : (string), //反馈的内容
    }
    
    Response Param:
    {
        "state":(string)    //"success"为成功;"fail"为失败;"notSigned"未登录,前台帮忙引导至登录页面
    }
    

    后台部分(管理员,记得注册Admin中间件)

    近期活动部分

    海报上传接口

    上传图片后响应中会得到一个图片标识,这个图片标识在后面的近期活动信息上传接口中要用到
    会采用Intervention作为图片压缩的包,考虑宣传的需要,图片大小限制到比较大的5MB

    还没实现
    
    Request Address: 
    (WebRoot)/activity/uploadPoster
    
    Request Method:
    POST
    
    Request Param: 
    {
        "picture":(file)图片文件
    }
    限定格式:jpeg,png,gif
    限定大小:暂定5MB
    长宽:??我要问一下前端
    
    Response Param: 
    {
        "state":(string)    //"success"为成功;"fail"为失败;"invalid"不是管理员
        "poster":(string)    //图片标识
    }
    
    近期活动详情信息提交接口

    要求在上传海报图片之后执行。图片上传之后得到的图片标识响应"surfacePlot"需要在这里拿去请求。

    Request Address: 
    (WebRoot)/activity/release
    
    Request Method:
    POST
    
    Request Param: 
    {
        "title" : (string),   //活动标题,e.g"无限杯电子设计大赛"
        "content" : (string), //活动简介
        "schedule"://其中,数组内的对象的个数为活动阶段的数目
        [{ 
            "stage" : (string),  //阶段
            "beginTime" : (int), //时间戳,开始时间
            "endTime" : (int),   //时间戳,结束时间
            "place" : (string),  //地点
        }],
        "signUpLink" : (string)  //报名表单外链,这个在为false的情况下,说明没有
        "poster":(string)    //图片标识
    }
    
    Response Param: 
    {
        "state":(string)    //"success"为成功;"fail"为失败;"invalid"不是管理员
    }
    
    近期活动详情信息修改接口
    Request Address: 
    (WebRoot)/article/modify
    
    Request Method:
    POST
    
    Request Param: 
    {
        "id":(int),   //待修改活动的id
        "title" : (string),   //活动标题,e.g"无限杯电子设计大赛"
        "content" : (string), //活动简介
        "schedule"://其中,数组内的对象的个数为活动阶段的数目
        [{ 
            "stage" : (string),  //阶段
            "beginTime" : (int), //时间戳,开始时间
            "endTime" : (int),   //时间戳,结束时间
            "place" : (string),  //地点
        }],
        "signUpLink" : (string)  //报名表单外链,这个在为false的情况下,说明没有
        "poster":(string)    //图片标识,可以没有该参数,没有则保留原样
    }
    
    Response Param: 
    {
        "state":(string)    //"success"为成功;"fail"为失败;"invalid"不是管理员
    }
    

    文章部分

    预览页中标题图片上传接口

    上传图片后响应中会得到一个图片标识,这个图片标识在后面的富文本html上传接口中要用到
    会采用Intervention作为图片压缩的包,所以大小限制会大一点

    Request Address: 
    (WebRoot)/article/uploadSurfacePlot
    
    Request Method:
    POST
    
    Request Param: 
    {
        "picture":(file)图片文件
    }
    限定格式:jpeg,png,gif
    限定大小:暂定2MB,我还在考虑,需要测试
    长宽:我们会将上传后的标题图强行压缩至195*128,上传的图片就保持在这个长宽比附近就好。
    
    Response Param: 
    {
        "state":(string)    //"success"为成功;"fail"为失败;"invalid"不是管理员
        "surfacePlot":(string)    //图片标识
    }
    
    富文本html上传接口

    要求在上传封面图片之后执行。图片上传之后得到的图片标识响应"surfacePlot"需要在这里拿去请求。

    Request Address: 
    (WebRoot)/article/uploadHtml
    
    Request Method:
    POST
    
    Request Param: 
    {
        "type":(string)//"report"活动报道;"repairSkill"维修技巧;"share"技术分享
        "content":(string)//(html文件原始字符串)
        "title":(string,60)//标题,限60字节
        "abstract":(string,150)//简介,限150字节,type="share"时则不需要
        "surfacePlot":(string)    //图片标识
    }
    
    Response Param: 
    {
        "state":(string)    //"success"为成功;"fail"为失败;"invalid"不是管理员
    }
    
    富文本html修改接口
    Request Address: 
    (WebRoot)/article/updateHtml
    
    Request Method:
    POST
    
    Request Param: 
    {
        "type":(string)    //    "report"活动报道;"repairSkill"维修技巧;"share"技术分享    
        "id":(int)//待修改文章的id
        "content":(string)//(html文件原始字符串)
        "title":(string,60)//标题,限60字节
        "abstract":(string,150)//简介,限150字节,type="share"时则不需要
        "surfacePlot":(string)    //图片标识,可以没有该参数,没有则保留原样
    }
    Response Param: 
    {
        "state":(string)    //"success"为成功;"fail"为失败;"invalid"不是管理员
    }
    

    维修预约部分

    (业务不熟,我的话先放着)


    意见反馈部分

    反馈列表
    Request Address: 
    (WebRoot)/feedback/getList
    
    Request Method:
    GET
    
    Request Param: 
    {
        "page":(int)   //页码,默认为1(首页)
        "num":(int)//单页条数
        "userId":(string)//反馈的用户的id,不带这个参数则默认为所有用户
    }
    
    Response Param: 
    {
        "state":(string)    //"success"为成功;"fail"为失败;"invalid"不是管理员
        "totalPage" : (int) //评论的总页数
        "feedback"://这个数组里的对象数量为num个(分页)
        [{
            "feedbackUser":(string),//反馈的用户的nickname
            "feedbackUserId":(int),//反馈的用户的id
            "feedbackCreateTime" : (int), //反馈的创建时间戳
            "feedbackContent" : (string), //反馈的内容 
            "responseAdmin":(string)//回复的后台管理员名
            "respondCreateTime" : (int),  //回应的创建时间戳
            "respondContent" : (string),  //回应的内容
        }]//头像从用户信息里找
    }
    

    相关文章

      网友评论

          本文标题:官网接口(v2.0)

          本文链接:https://www.haomeiwen.com/subject/fwirgttx.html