官网接口(v2.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),  //回应的内容
    }]//头像从用户信息里找
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,848评论 25 707
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 13,708评论 0 15
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,066评论 4 62
  • 七月的天没有下雨,天气是那么炎热; 有鸟叫,有蝉鸣... 滚滚热浪夹杂着凉爽的微风,恰似透漏出丝丝酸爽一般,令人陶...
    指尖泛出的繁华阅读 487评论 0 1
  • 鋪滿在羽毛上的困惑,曬乾的結痂,一片 兩片,兩片卷冊的嘴唇。聽 風中曬乾的背影崭露头角 猶如陰晴雪化,意志新奇, ...
    鐵鉦阅读 309评论 5 16