server_engine for qqshare
.
MySQL pre-installation is required.
node server.js
Specify port number:
node server.js --port=8023
http://localhost:8081/api/search?filename=XXX&course=YYY&teacher=ZZZ
- server:
http://localhost
- port number:
8081
- quest matcher:
/api/search
- quest parameters:
filename=XXX
course=YYY
teacher=ZZZ
…And other interfaces.
描述:根据请求里的用户id去数据库里查找对应用户
请求地址:/api/uservalid
参数:{id: *, pwd: *}
方法:POST
返回结果:密码正确返回{flag: 1,name:**}
密码错误返回{flag: 2} 用户不存在返回{flag: 3}
注意 需要把之前我写的那部分里的中括号[]去除
描述:获得近期的热门文件(一周内下载量/搜索量最高的10个文件,此功能在数据库端实现麻烦,先不实现,可以返回写死的静态数据,并且这10个文件加上description,是数据库中确实存在的文件,当然数据库中没有description也无所谓,但是你伪造的静态数据要有描述,可参照我最新的server.js文件,从搜索界面首页可以点击该文件直接进入搜索界面)
请求地址:/api/hotfile
参数:无
方法:GET
返回结果:只需要返回这10个文件的名字和描述,不需要文件大小等信息,格式:[{filename:*, description: *}, ……]
描述:获得所有匹配的搜索结果
请求地址:/api/search?filename=* &course=* &teacher=*
参数:在url中
方法:GET
返回结果:数据库中存储的有关该文件的所有信息都要返回,即返回[{filename: *, description: *, course: *, teacher: *, downloadtime: *, filesize: *, uploadtime: *, fileformat: *, magnetURI}],当没有匹配结果返回[]
注意 此处是URI不是URL(我也不知道为什么是URI,只是为了和组长写的磁力链接下载部分对应上)
描述:用户上传文件种子,不仅要在文件数据表中加入该文件,而且需要在用户数据表中更新用户的历史上传记录
请求:/api/upload
参数:{id: , filename: , course: , teacher: , fileformat: , filesize: , description: , magnetURI: },其中id为用户id,服务器端补充上传时间参数uploadtime,下载次数downloadtime初始化为0
方法:POST
返回结果:{flag: 1/0} 1表示成功,0表示失败
描述:根据用户id返回用户上传过的所有文件
请求: /api/uploadrecord?id=**
参数:在url中
方法: GET
返回结果:返回文件名、下载次数和上传时间
[{filename:*, downloadtime: *, uploadtime: *}, ……]
当没有上传过文件时返回[]
描述:当用户下载文件时,不仅要在文件数据表给该文件的downloadtime加一,而且需要在用户数据表中把该文件的加入到用户的历史下载记录中
请求: /api/download
参数: {id: , magnetURI: }
方法:POST
返回结果:数据库修改成功返回{flag: 1},否则返回{flag: 0}
描述:根据用户id返回用户下载过的所有文件
请求: /api/downloadrecord?id=**
参数:在url中
方法: GET
返回结果:返回文件名、下载次数和上传时间
[{filename:*, downloadtime: *, uploadtime: *}, ……]
当没有下载过文件时返回[]
描述:其实设置里本应该要有不少个人信息的维护,我们这里就只维护下用户的昵称信息吧
请求:/api/changename
参数: {id: , newname: }
方法:POST
返回结果:{flag:1/0},成功返回1,失败返回0