lwapi's People
Forkers
naituwlwapi's Issues
审核论文接口返回title_id错误
POST theses/verify.json
title:3
pass:1
返回错误:
{"code":400,"message":"title_id错误","object":null}
获取单个对象接口均返回 404 请求失败 json格式错误
如
http://lwapi.sinaapp.com/user/single.json?id=2
返回
{"code":404,"message":"请求失败","object":null}
登陆验证接口,密码错误时返回503
用用户名 bobo, 密码 12344321 登陆,返回503
错误信息
java.lang.NullPointerException
com.wave.service.impl.UserServiceImpl.getDepartment(UserServiceImpl.java:235)
com.wave.service.impl.UserServiceImpl.setDepartment(UserServiceImpl.java:240)
com.wave.service.impl.UserServiceImpl.login(UserServiceImpl.java:73)
com.wave.action.users.Verify_credentialsAction.getUser(Verify_credentialsAction.java:81)
com.wave.action.users.Verify_credentialsAction.execute(Verify_credentialsAction.java:49)
[私信]获取私信对话的 信息列表接口
GET messages/list.json
参数列表:
conversation_id: 对话的id
since_id: 获取id大于此参数的消息,可选
max_id: 获取id 小于等于 此参数的消息,可选
count: 获取的条数,可选,默认20
限制:
conversation_id 对应的user_a或 user_b中必须存在当前登陆用户
返回结果:
object为数组,每个元素包括:
message_id : 消息的id
user_id : 发送此消息的用户id
content : 内容
create_at : 发送时间
教师创建论题成功后,刷新我的论题接口,没有出现刚刚创建的论题
教师创建论题成功后,刷新我的论题接口,没有出现刚刚创建的论题
上传文档接口需要支持一个学生上传多个文档,并判断已上传文档数
目前上传第二个会覆盖第一个,需要允许一个学生上传多个文档
另外新增需求:
上传文档时判断当前用户已经传过的文档数,如果已经有10个,则返回错误码400,错误信息:“单个用户最多上传10个文档,请删除一些文档后再继续”
待审核论题接口没有返回students信息
没有students信息,但有users信息
我的论题接口返回的论题状态码全为1
即使已经通过审核的论题,state也为1。
应当按实际情况返回。
users/show.json 接口的 max_level 无效
GET users/show.json
deptid:1
max_level:40
min_level:30
page:1
count:20
response:
{"code":200,"message":"成功","object":[{"avatar":"http://lwapi-pic.stor.sinaapp.com/user_1_27.jpg","avatar_thumb":"http://lwapi-picmin.stor.sinaapp.com/user_1_27.jpg","department":null,"email":"[email protected]","gender":1,"level":80,"major_id":1,"screenname":"波潮","userid":1,"username":"bobo"},{"avatar":null,"avatar_thumb":null,"department":null,"email":null,"gender":1,"level":70,"major_id":1,"screenname":"波潮","userid":8,"username":"092011061"},{"avatar":null,"avatar_thumb":null,"department":null,"email":null,"gender":1,"level":40,"major_id":1,"screenname":"波潮","userid":9,"username":"092011062"},{"avatar":"http://null-pic.stor.sinaapp.com/user_1_40.png","avatar_thumb":"http://null-picmin.stor.sinaapp.com/user_1_40.png","department":null,"email":"","gender":0,"level":30,"major_id":1,"screenname":"","userid":4,"username":"bobo1"},{"avatar":null,"avatar_thumb":null,"department":null,"email":null,"gender":2,"level":30,"major_id":0,"screenname":"教师测试","userid":12,"username":"teacher"},{"avatar":null,"avatar_thumb":null,"department":null,"email":null,"gender":1,"level":60,"major_id":0,"screenname":"电软系测试","userid":13,"username":"dzx"}]}
应该返回系id为1且level在 30-40之间的用户
[通知]用户获取通知列表接口
GET notifications/list.json
参数列表:
page:页数,可选,默认1
count:条数,可选,默认20
限制:
超级管理员只能获取 deptid为0的
其他用户获取 deptid 和自己一样的
返回:
object为数组,每个元素包括:
notification_id,
title,
content,
url,
create_at
审核论文接口否决时返回403
当前账号 bobo
POST theses/verify.json
title:6
pass:2
返回错误:
{"code":403,"message":"没有权限","object":null}
文档中没有获取待审核论题接口的相关信息
文档中没有获取待审核论题接口的相关信息
文档列表接口排序混乱,且返回时间不正确
获取到的文档应该按上传日期从新到旧排序。
生成的时间没有计算时区,建议改成从1970年起的毫秒值
获取单个对象接口
major/single.json?id=1
department/single.json?id=1
user/single?id=1
title/single?id=1
返回单个对象
暂时无level限制
获取论题文档列表接口返回404
使用bobo账户调用 http://lwapi.sinaapp.com/theses/documents.json?titleid=1&page=1
返回结果:
{"code":404,"message":"请求失败","object":null}
学生上传文档接口
POST documents/upload.json
参数列表:
titleid: 论题ID,必填
name: 显示的文件名称,必填
file: 文件,必须
限制:
必须是学生上传;
titleid是学生当前论题的ID;
当前是论文撰写时间;
获取论题附加信息的接口
GET title/extra_info.json
参数列表:
titleid: 论题ID
返回内容:
teacher: 论文教师的完整信息
students: 选择了论题的学生的完整信息,数组,长度可能为0,1,... N
接口限制:
如果当前用户是学生,则titleid必须是自己当前论题的ID
如果是出题教师,则titleid的teacherid必须是自己
如果是管理员、高级管理员,则titleid必须是当前系的
我的论题接口返回了selection信息
学生调用 titles/mine.json
返回了selection信息
应该返回学生选择的论题的完整信息
departments/show.json 接口需要对所有用户开放权限
目前教师以上等级的用户登陆后都会获取这个接口,有时候用户的系信息只返回id时,可以在这个接口返回的数据里查询。
考虑到这个接口的信息没有必要保密,希望能对所有level的用户开放。
现在教师获取这个接口会返回 403 没有权限
学生选题接口
POST theses/choose.json
学生选择一个论题
参数列表:
titleid: 要选的论文ID,必选
限制:
类型为学生;
学生与论题需要是同一个系的;
论题还有剩余可选人数;
学生当前没有选择或申请其他论题;
学生的专业是否符合论题的可选专业;
当前为学生选题时间;
获取单条论文信息接口
GET title/show.json
获取单条论题,注意返回数据 不用 数组包装
参数列表:
titleid : 论题ID,必选
限制:
所有人都可以调用
teachers/levelup.json 和 leveldown.json 的提交方式应为POST
目前文档中为GET
教师打分接口
POST theses/mark.json
参数列表:
selectionid 可选,如果不传这个,必须传titleid,优先级高于titleid
titleid 可选,如果不传这个,必须传selectionid
studentid 可选,配合titleid,传了给单个人打分,不传给整个论题下所有学生打分
article_score、oral_score:论文分数、答辩分数,可选,不传则保持原值,0为默认值,传0恢复默认
comment 评语,可选,不传(null)为保持原值,空字符串为置空
限制:必须是在打分或答辩阶段由titleid对应的出题教师调用
文档中缺少头像上传接口相关信息
文档中缺少头像上传接口相关信息
管理员 POST user/create.json 接口创建用户出错
API文档缺少 users/show.json 相关的内容
[私信]获取私信对话列表接口
GET conversations/list.json
返回结果按 last_update 从新到旧排序
参数列表:
later_than: 筛选 last_update 旧于此参数的对话,可选,不传则获取最新的
count: 获取条数,可选,默认20
限制:
所有用户均可以调用
返回内容:
object为数组,每个元素包含字段:
conversation_id : 对话的id,
with_user:对方的完整用户结构
last_content:最后说的内容(有可能是登陆用户或with_user说的)
last_is_me: 最后说话的是否为登陆用户, 1为是,0为否
last_update:最后说话的时间
增加获取“我的论题”接口,供学生与教师获取
GET theses/mine.json
获取我的论题:
1.如果是学生登陆,获取学生已选的论题,没有返回空数组
2.如果是教师登陆,获取教师出的题以及“学生申请的且自己已审核通过”的论题,没有返回空数组
参数列表:
page: 页数,可选,默认为1
count: 条数,可选,默认20
限制:
只有学生和教师可以获取(level <= 40)
文档删除接口
GET documents/remove.json
参数列表
docid: 文档ID
限制:
当前系的管理员可以删除
上传此文档的学生可以删除
其他用户不能删除
说明:
成功时,返回200,object为空字典 {}
管理员 GET users/show.json 接口不传majorid会出错
使用账户dzx
获取地址:http://lwapi.sinaapp.com/users/show.json?count=20&page=1&deptid=1&level=60
会返回Struts错误报告:
java.lang.NullPointerException
com.wave.action.users.ShowAction.getDepartment(ShowAction.java:186)
com.wave.action.users.ShowAction.execute(ShowAction.java:138)
可以用dzx登陆前端,使用“用户管理”功能重现
[私信]发送私信接口
POST message/create.json
参数列表:
to_user_id: 发给的用户
content: 要说的内容
限制:
无
返回结果:
object是一个message对象,发送成功的私信
注意:
每次发送都要创建或更新conversation
users/show.json 未返回department信息
目前department字段全部返回null,应该返回系的统一结构,如果有性能问题,也可以返回系id。
以后所有用户信息的返回,都要返回统一的数据
文档中 获取登陆学生能选的题目, 获取选题列表 两项重复
删除目录中的一项即可
获取待审核论文列表接口
GET theses/waiting_reviews.json
参数列表:
count: 条数,可选,默认为20
page: 页码,可选,默认为1
限制:
仅出题教师和高级管理员有权限
特殊说明:
出题教师调用此接口返回需要教师审核的列表,包括学生选取的和申请的
高级管理员获取的包括 学生申请并且老师通过申请的 和 老师出好的
[通知]管理员发通知接口
POST notification/create.json
参数列表
title: 通知标题,必选
content: 通知内容,可选
url: 通知的跳转url,可选
(其中content 和 url 至少选一个)
限制:
管理员才能发送
说明:
系管理员创建时,记deptid为 管理员的系id
超级管理员创建时,记deptid为 0(代表所有系)
若发送成功,需要给deptid(若为0代表所有系)中的所有填写了email的用户发送邮件,邮件内容暂以title为标题,content为内容。注意用SAE的特性来异步发送
获取文档列表接口的page参数无效
GET documents/show.json
传入page为1和2的结果一样
POST theses/times.json 接口应该支持重置某个时间
例如我传teacher_chosen为0时,应当成功,并将其值设为0.
下次GET时,这个字段也应返回0,代表这个时间没有设置
文档列表需要返回 author 结构
documents/show.json 接口返回数据时,
增加字段 author, 为User结构, authorid保留不变
获取不存在的单个对象返回200,但object为null
如:
http://lwapi.sinaapp.com/title/single.json?id=101
返回:
{"code":200,"message":"成功","object":null}
待审核论题列表接口需要返回教师信息和已选择的学生信息
theses/waiting_reviews.json 接口中需要返回教师信息和已选择的学生信息
增加两个字段:
teacher: 教师的完整信息
students:返回用户结构的数组,若还没有人选返回空数组,N人选返回长度为N的数组
其他字段保持不变。
其他的论题列表接口不返回此信息
上传文档增加title字段,文档列表增加title与filename字段
上传文档接口增加参数:
title: 可选,少于20字
获取文档列表每个元素增加字段:
title: 上传时传入的title
filename: 上传时传入文件的文件名(包括后缀)
待审核论题列表中论题的“要求”信息字段名错误
应为require_info
学生申请论题接口
POST theses/apply.json
学生申请一个论题
参数列表:
title: 论题名称,必填,限制同教师出题接口
teacherid: 教师,必填,必须是出题教师,必须和学生同系
student_num: 可选人数,可选,默认为1
description: 说明,可选
限制:
必须学生调用;
当前必须是选题时间;
其他:
可选专业为学生当前专业
文档列表获取到的文档的titleid与传入的参数不符
GET documents/show.json
titleid = 1
page = 1
取到一条数据,但其titleid为12,docid为1
teachers/levelup.json 及 leveldown.json 未判断用户是否为教师
如,level为90的bobo的id作为参数 POST teachers/levelup.json 后,bobo的level变为40
此处应当判断提交的id当前的level,若非教师,应返回统一的错误结构(参数错误)
对于已经是出题教师的用户再次调用levelup.json,以操作成功处理。leveldown.json同理。
获取论题文档列表
GET documents/show.json
参数列表:
titleid: 论题ID,必须
authorid: 上传者ID,可选,必须是论题对应的学生(用于多个学生选一题的情况),不传则全部返回
限制:
如果当前用户是学生,则titleid必须是自己当前论题的ID
如果是出题教师,则titleid的teacherid必须是自己
如果是管理员、高级管理员,则titleid必须是当前系的
说明:
返回数组结构
所有论题列表接口返回数据增加教师姓名字段
如 titles/mine.json
返回结果中保留 teacherid字段,增加teacher_name 字段
下载文档接口
GET documents/download.json
参数列表:
docid: 文档ID
限制:
与获取文档列表限制相同
说明:
出错时按正常json格式返回,
验证成功时直接开始下载
成功时object的格式为 object:{url:"http://...."}
此url不验证用户信息,访问后即开始下载文件,但下载开始后地址便失效
文档没有出题接口相关信息
文档没有出题接口相关信息
学生获取当前论题接口
GET theses/current_title.json
获取学生的当前论题信息
参数列表:无
限制:
必须是学生调用
说明:
现在只能选一题,但也通过数组结构返回,如果已选,数组长度为1,未选长度为0;
学生申请的论题、待审核的论题也包括在内
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.