- 项目的数据保存在mysql中,先保证打开mysql
- 在数据库中新建一个库
bignews - 打开config.js中的 下面几个地方,调整成和自己数据库设置相同的设置
// 库名
database:'bignews',
// 用户名
username:'root',
// 密码
password:'root',
// 主机
host:'127.0.0.1',
- 模拟的数据在reset文件夹中
- 用node运行 reset/index.js即可导入测试数据
node reset/index.js - 等待操作结束
- 保证上述2步运行完毕之后,双击
开启.bat即可 - 也可以输入命令
node app.js
项目的基地址是http://localhost:8080
| 状态码 | 含义 | 说明 |
|---|---|---|
| 200 | OK | 请求成功 |
| 201 | CREATED | 创建成功 |
| 204 | DELETED | 删除成功 |
| 400 | BAD REQUEST | 请求的地址不存在或者包含不支持的参数 |
| 401 | UNAUTHORIZED | 未授权 |
| 403 | FORBIDDEN | 被禁止访问 |
| 404 | NOT FOUND | 请求的资源不存在 |
| 422 | Unprocesable entity | [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误 |
| 500 | INTERNAL SERVER ERROR | 内部错误 |
请求地址:/index/search
请求方式:get
请求参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| key | string | 搜索关键词,可以为空,为空返回某类型所有文章 |
| type | string | 文章类型id,可以为空,为空返回所有类型文章 |
| page | number | 当前页,为空返回第1页 |
| perpage | number | 每页显示条数,为空默认每页6条 |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| pages | number | 总页数 |
| page | number | 当前页 |
| data | array | 文章数据数组,其中每个成员包含字段: id: number类型,文章id title: string类型,文章标题 intro: string类型,文章文字内容截取 cover: string类型,文章封面图片地址 category: string类型,文章类型 read: number类型,文章阅读次数 comment: number类型,文章评论次数 date:string类型, 文章发布时间 |
返回数据结构示例:
{
"pages":5,
"page":2,
"data":[
{
"id":1,
"title":'文章标题文字...',
"intro":'文章内容文字...',
"cover":'dfgh/hijk/iui8989.jpg'
......
},
{
"id":2,
"title":'文章标题文字...',
"intro":'文章内容文字...',
"cover":'dfgh/hijk/iui8989.jpg'
......
},
{
"id":3,
"title":'文章标题文字...',
"intro":'文章内容文字...',
"cover":'dfgh/hijk/iui8989.jpg'
......
}
......
]
}请求地址:/index/category
请求方式:get
请求参数:无
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| id | number类型 | 类别id |
| name | string类型 | 类别名称 |
请求地址:/index/hotpic
请求方式:get
请求参数:无
返回数据:(只返回5条)
| 名称 | 类型 | 说明 |
|---|---|---|
| id | number类型 | 图片对应文章id |
| imgurl | string类型 | 图片地址 |
请求地址:/index/rank
请求方式:get
请求参数:无
返回数据:(只返回7条)
| 名称 | 类型 | 说明 |
|---|---|---|
| id | number类型 | 文章id |
| title | string | 文章标题 |
请求地址:/index/latest
请求方式:get
请求参数:无
返回数据:(只返回5条)
| 名称 | 类型 | 说明 |
|---|---|---|
| id | number类型 | 文章id |
| title | string类型 | 文章标题 |
| intro | string类型 | 文章文字内容截取 |
| cover | string类型 | 文章封面图片地址 |
| type | string类型 | 文章类型 |
| read | number类型 | 文章阅读次数 |
| comments | number类型 | 评论条数 |
| date | string类型 | 文章发布时间 |
请求地址:/index/latest_comment
请求方式:get
请求参数:无
返回数据:(只返回6条)
| 名称 | 类型 | 说明 |
|---|---|---|
| author | string | 用户名称 |
| date | string | 评论时间 |
| intro | string | 评论内容截取 |
请求地址:/index/attention
请求方式:get
请求参数:无
返回数据:(只返回7条)
| 名称 | 类型 | 说明 |
|---|---|---|
| intro | string类型 | 文章内容截取 |
请求地址:/index/artitle
请求方式:get
请求参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| id | string | 文章id |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| title | string | 文章标题 |
| author | string | 文章作者 |
| type | string | 文章类型 |
| date | string | 文章发布时间 |
| read | number | 阅读次数 |
| comments | number | 评论条数 |
| content | string | 文章内容 |
| prev | array | 上一篇文章 id: 上一篇文章的id title:上一篇文章的标题 |
| next | array | 下一篇文章 id: 下一篇文章的id title:下一篇文章的标题 |
请求地址:/index/post_comment
请求方式:post
请求参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| author | string | 用户名称 |
| content | string | 评论内容 |
| articleId | number | 文章id |
返回数据:‘发表成功’ ‘发表失败’
请求地址:/index/get_comment
请求方式:get
请求参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| articleId | string | 文章id |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| author | string | 用户名称 |
| date | string | 评论时间 |
| content | string | 评论完整内容 |
请求地址:/admin/user/login
请求方式:post
请求参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| username | string | 用户名(admin) |
| password | string | 密码(123456) |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| msg | string | 文字信息 ‘登录成功’ ‘用户名或密码出错’ |
请求地址:/admin/user/logout
请求方式:post
请求参数:
返回数据:无
请求地址:/admin/user/info
请求方式:get
请求参数:无
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| nickname | string | 用户昵称 |
| userPic | string | 用户图片地址 |
请求地址:/admin/data/info
请求方式:get
请求参数:无
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| totalArticle | number | 文章总数 |
| dayArticle | number | 日新增文章数 |
| totalComment | number | 总评论数 |
| dayComment | number | 日新增评论数 |
请求地址:/admin/data/article
请求方式:get
请求参数:
返回数据:
{
"code": 200,
"msg": "获取成功",
"date": [
{
"date": "2019-05-20",
"count": 23
},
{
"date": "2019-05-21",
"count": 19
},
{
"date": "2019-05-22",
"count": 29
},
{
"date": "2019-05-23",
"count": 24
},
{
"date": "2019-05-24",
"count": 28
},
{
"date": "2019-05-25",
"count": 28
},
{
"date": "2019-05-26",
"count": 19
},
{
"date": "2019-05-27",
"count": 25
},
{
"date": "2019-05-28",
"count": 25
},
{
"date": "2019-7-30",
"count": 3
}
]
}请求地址:/admin/data/category
请求方式:get
请求参数:
返回数据:(有多少类型,就返回多少条)
{
"code": 200,
"msg": "获取成功",
"date": [
{
"name": "爱旅行",
"articles": 41
},
{
"name": "爱生活",
"articles": 72
},
{
"name": "爱美食",
"articles": 36
},
{
"name": "爱运动",
"articles": 47
},
{
"name": "经济特区",
"articles": 33
}
]
}请求地址:/admin/data/visit
请求方式:get
请求参数:
返回数据:(返回最近1周的,也就是7条)
返回数据结构示例:
{
"code": 200,
"msg": "日访问量统计数据获取成功",
"data": {
"2019-05-28": 13016,
"2019-05-27": 11503,
"2019-05-26": 9128,
"2019-05-25": 13155,
"2019-05-24": 12734,
"2019-05-23": 10714,
"2019-05-22": 16282
}
}请求地址:/admin/article/query
请求方式:get
请求参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| key | string | 搜索关键词,可以为空,为空返回某类型所有文章 |
| type | string | 文章类型,可以为空,为空返回所有类型文章 |
| state | string | 文章状态,草稿 ,已发布,为空返回所有状态文章 |
| page | number | 当前页,为空返回第1页 |
| perpage | number | 每页显示条数,为空默认每页6条 |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| pages | number | 总页数 |
| page | number | 当前页 |
| data | array | 文章数据数组,其中每个成员包含字段: id: number类型,文章id title: string类型,文章标题 intro: string类型,文章文字内容截取 cover: string类型,文章封面图片地址 type: string类型,文章类型 read: number类型,文章阅读次数 comment: number类型,文章评论次数 date:string类型, 文章发布时间 state:string类型,文章状态 |
请求地址:/admin/article/publish
请求方式:post
请求参数:formData
| 名称 | 类型 | 说明 |
|---|---|---|
| title | string | 文章标题 |
| cover | file | 文章封面图片 |
| categoryId | number | 文章类型id |
| date | string | 日期 |
| content | string | 文章内容 |
| state | string | 已发布,草稿 (为空默认为草稿) |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| msg | string | 文字信息 ‘发布成功’ ‘发布失败’ |
请求地址:/admin/article/search
请求方式:get
请求参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| id | number | 文章id |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| id | number | 文章id |
| title | string | 文章标题 |
| cover | file | 文章封面图片 |
| categoryId | number | 文章类型id |
| date | string | 日期 |
| content | string | 文章内容 |
请求地址:/admin/article/edit
请求方式:post
请求参数:formData
| 名称 | 类型 | 说明 |
|---|---|---|
| id | number | 文章id |
| title | string | 文章标题 |
| cover | file | 文章封面图片(可以为空) |
| categoryId | number | 文章类型id |
| date | string | 日期 |
| content | string | 文章内容 |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| msg | string | 文字信息 ‘修改成功’ ‘修改失败’ |
请求地址:/admin/article/delete
请求方式:get
请求参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| id | number | 文章id |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| msg | string | 文字信息 ‘删除成功’ ‘删除失败’ |
请求地址:/admin/category/list
请求方式:get
请求参数:无
返回数据:文章
| 名称 | 类型 | 说明 |
|---|---|---|
| id | number | 类别 |
| name | string | 类别名称 |
| slug | string | 别名 |
请求地址:/admin/category/add
请求方式:post
请求参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| name | string | 类别名称 |
| slug | string | 别名 |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| msg | string | 文字信息 ‘增加成功’ ‘增加失败’ |
请求地址:/admin/category/search
请求方式:get
请求参数:id
| 名称 | 类型 | 说明 |
|---|---|---|
| id | number | 文章类别id |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| id | number | 类别 |
| name | string | 类别名称 |
| slug | string | 别名 |
请求地址:/admin/category/edit
请求方式:post
请求参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| id | number | 类别id |
| name | string | 类别名称 |
| slug | string | 别名 |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| msg | string | 文字信息 ‘编辑成功’ ‘编辑失败’ |
请求地址:/admin/category/delete
请求方式:post
请求参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| id | number | 文章id |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| msg | string | 文字信息 ‘删除成功’ ‘删除失败’ |
请求地址:/admin/comment_search
请求方式:get
请求参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| page | number | 当前页,为空返回第1页 |
| perpage | number | 每页显示条数,为空默认每页6条 |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| id | number | 评论id |
| author | string | 评论作者 |
| content | string | 评论内容 |
| aid | number | 对应文章id |
| title | string | 对应文章标题 |
| date | string | 评论发表时间 |
| state | string | 评论状态 ‘批准’ ‘待审核’ |
请求地址:/admin/comment/pass
请求方式:post
请求参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| id | number | 评论id |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| msg | string | 文字信息 ‘设置成功’ ‘设置失败’ |
请求地址:/admin/comment/reject
请求方式:post
请求参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| id | number | 评论id |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| msg | string | 文字信息 ‘设置成功’ ‘设置失败’ |
请求地址:/admin/comment/delete
请求方式:post
请求参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| id | number | 评论id |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| msg | string | 文字信息 ‘删除成功’ ‘删除失败’ |
请求地址:/admin/user/detail
请求方式:get
请求参数:无
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| username | string | 用户名称 |
| nickname | string | 用户昵称 |
| string | 用户邮箱 | |
| userPic | string | 用户图片地址 |
| password | string | 用户密码 |
请求地址:/admin/user/edit
请求方式:post
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| username | string | 用户名称 |
| nickname | string | 用户昵称 |
| string | 用户邮箱 | |
| userPic | string | 用户图片地址 |
| password | string | 用户密码 |
返回数据:
| 名称 | 类型 | 说明 |
|---|---|---|
| msg | string | 文字信息 ‘修改成功’ ‘修改失败’ |