# Simple Blog
**Repository Path**: ackerven/simple-blog
## Basic Information
- **Project Name**: Simple Blog
- **Description**: 一个简单的web博客程序
前后端合作的一个小项目
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-04-18
- **Last Updated**: 2021-06-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Simple Blog
### 介绍
一个简单的web博客程序
前后端合作的一个小项目
### 功能介绍
支持发布文章,修改文章,删除文章,查询文章,用户登录/注册,用户管理(增删查改)
| 模块 | 功能描述 |
| ---- | ------------------------------------------------------------ |
| 文章 | 增加文章
修改文章
删除文章
查询文章
将文章设置为私有
将文章添加到草稿箱 |
| 用户 | 用户注册:注册需要用户名、昵称、邮箱、密码(8-24 字母数字符号)
用户登陆:用户登录需要用户名、密码
用户管理:增加、删除、修改、查询用户 |
#### 用户权限
| Role | 角色 | 权限 |
| -------------- | ---------- | ------------------------------------------------------------ |
| RoleUser | 用户 | 发布,修改,删除文章,查看其他人公有的文章 |
| RoleAdmin | 管理员 | 发布,修改,删除文章,查看所有人公有及私有的文章 |
| RoleSuperAdmin | 超级管理员 | 发布,修改,删除文章,查看所有人公有及私有的文章,及增加删除修改查询用户信息 |
### API
#### 状态码
**全局**
+ 1 : OK
+ 0 : FAILED
+ 2 : 没有权限
+ 3 : 系统错误
**文章**
+ 2001 : 作者ID不存在
+ 2002 : 作者ID不能为空
+ 2003 : 文章ID不存在
+ 2004 : 文章ID不能为空
+ 2005 : 文章标题不能为空
**用户**
+ 3010 : 用户ID不存在
+ 3011 : 用户ID错误
+ 3012 : 用户ID不合法
+ 3020 : 用户名不合法
+ 3021 : 用户名不存在
+ 3022 : 用户名已存在
+ 3023 : 用户名不能为空
+ 3024 : 用户名错误
+ 3030 : 昵称不合法
+ 3031 : 昵称不存在
+ 3032 : 昵称已存在
+ 3033 : 昵称不能为空
+ 3034 : 昵称错误
+ 3040 : 邮箱不合法
+ 3041 : 邮箱不存在
+ 3042 : 邮箱已存在
+ 3043 : 邮箱不能为空
+ 3044 : 邮箱错误
+ 3050 : 用户类型不合法
+ 3051 : 用户类型错误
+ 3052 : 用户类型不能为空
+ 3060 : 密码不合法
+ 3061 : 密码错误
+ 3062 : 密码不能为空
+ 3070 : 分页大小不合法
+ 3071 : 分页大小不能为空
+ 3072 : 分页位置不合法
+ 3073 : 分页位置不能为空
+ 3080 : TOKEN不存在
+ 3081 : TOKEN已过期
+ 3082 : TOKEN格式错误
+ 3083 : TOKEN错误
**数据库**
+ 4001:数据库写入失败
+ 4002:数据库查询失败
+ 4003:数据库删除失败
#### 文章管理
##### 增加文章
请求地址:url/addPosts
请求协议:HTTP
请求方式:POST
请求格式:JSON
返回格式:JOSN
| 请求参数 | 类型 | 说明 | 必填 |
| :------: | :----: | :------: | :--: |
| author | int | 作者ID | 是 |
| title | string | 文章标题 | 是 |
| text | string | 文章内容 | 否 |
| private | bool | 是否私密 | 否 |
| draft | bool | 是否草稿 | 否 |
| 返回参数 | 类型 | 说明 | 必填 |
| :------: | :----: | :------: | :--: |
| status | int | 状态码 | 是 |
| desc | string | 状态解释 | 是 |
| id | int | 文章ID | 是 |
##### 删除文章
请求地址:url/deletePosts
请求协议:HTTP
请求方式:POST
请求格式:JSON
返回格式:JOSN
| 请求参数 | 类型 | 说明 | 必填 |
| :------: | :--: | :------: | :--: |
| id | int | 文章标题 | 是 |
| 返回参数 | 类型 | 说明 | 必填 |
| :------: | :----: | :--------: | :--: |
| status | int | 状态码 | 是 |
| desc | string | 状态码描述 | 是 |
##### 修改文章
请求地址:url/modifyPosts
请求协议:HTTP
请求方式:POST
请求格式:JSON
返回格式:JOSN
| 请求参数 | 类型 | 说明 | 必填 |
| :------: | :----: | :------: | :--: |
| id | int | 文章ID | 是 |
| author | int | 作者ID | 是 |
| title | string | 文章标题 | 是 |
| text | string | 文章内容 | 否 |
| private | bool | 是否私密 | 否 |
| draft | bool | 是否草稿 | 否 |
| 返回参数 | 类型 | 说明 | 必填 |
| :------: | :----: | :------: | :--: |
| status | int | 状态码 | 是 |
| desc | string | 状态描述 | 是 |
##### 查找文章
请求地址:url/getPosts
请求协议:HTTP
请求方式:POST
请求格式:JSON
返回格式:JOSN
| 请求参数 | 类型 | 说明 | 必填 |
| :------: | :--: | :----: | :--: |
| id | int | 文章ID | 是 |
| 返回参数 | 类型 | 说明 | 必填 |
| :------: | :----: | :------: | :--: |
| status | int | 状态码 | 是 |
| desc | string | 状态描述 | 是 |
| author | int | 作者ID | 是 |
| title | string | 文章标题 | 是 |
| text | string | 文章内容 | 是 |
| private | bool | 是否私密 | 是 |
| draft | bool | 是否草稿 | 是 |
##### 列出文章
请求地址:url/listPosts
请求协议:HTTP
请求方式:POST
请求格式:JSON
返回格式:JOSN
| 请求参数 | 类型 | 说明 | 必填 |
| :------: | :--: | :------: | :--: |
| pageSize | int | 分页大小 | 是 |
| pageNum | int | 分页位置 | 是 |
| 返回参数 | 类型 | 说明 | 必填 |
| :------: | :----: | :------: | :--: |
| status | int | 状态码 | 是 |
| desc | string | 状态描述 | 是 |
| result | array | 文章数组 | 是 |
result 是一个数组类型,内容包括作者ID,文章标题,文章正文,是否私密,是否草稿箱。
#### 用户管理
##### 用户注册
请求地址:url/join
请求协议:HTTP
请求方式:POST
请求格式:JSON
返回格式:JOSN
| 请求参数 | 类型 | 说明 | 必填 |
| :------: | :----: | :----: | :--: |
| username | string | 用户名 | 是 |
| nickname | string | 昵称 | 是 |
| password | string | 密码 | 是 |
| mail | string | 邮箱 | 是 |
| 返回参数 | 类型 | 说明 | 必填 |
| :------: | :----: | :--------: | :--: |
| status | int | 状态码 | 是 |
| desc | string | 状态码描述 | 是 |
| id | int | 用户id | 是 |
##### 用户登陆
请求地址:url/login
请求协议:HTTP
请求方式:POST
请求格式:JSON
返回格式:JOSN
| 请求参数 | 类型 | 说明 | 必填 |
| :-----------: | :----: | :---------------: | :--: |
| username/mail | string | 用户名/邮箱二选一 | 是 |
| password | string | 密码 | 是 |
| 返回参数 | 类型 | 说明 | 必填 |
| :------: | :----: | :--------: | :--: |
| status | int | 状态码 | 是 |
| desc | string | 状态码描述 | 是 |
| cookies | string | cookies | 是 |
不一定是cookies,如果用jwt,那么返回token。
##### 新增用户
请求地址:url/addUser
请求协议:HTTP
请求方式:POST
请求格式:JSON
返回格式:JOSN
| 请求参数 | 类型 | 说明 | 必填 |
| :------: | :----: | :------: | :--: |
| username | string | 用户名 | 是 |
| nickname | string | 昵称 | 是 |
| password | string | 密码 | 是 |
| mail | string | 邮箱 | 否 |
| role | int | 用户类型 | 否 |
| 返回参数 | 类型 | 说明 | 必填 |
| :------: | :----: | :--------: | :--: |
| status | int | 状态码 | 是 |
| desc | string | 状态码描述 | 是 |
| id | int | 用户id | 是 |
##### 删除用户
请求地址:url/deleteUser
请求协议:HTTP
请求方式:POST
请求格式:JSON
返回格式:JOSN
| 返回参数 | 类型 | 说明 | 必填 |
| :------: | :--: | :----: | :--: |
| id | int | 用户id | 是 |
| 返回参数 | 类型 | 说明 | 必填 |
| :------: | :----: | :--------: | :--: |
| status | int | 状态码 | 是 |
| desc | string | 状态码描述 | 是 |
##### 修改用户
请求地址:url/modifyUser
请求协议:HTTP
请求方式:POST
请求格式:JSON
返回格式:JOSN
| 请求参数 | 类型 | 说明 | 必填 |
| :------: | :----: | :------: | :--: |
| id | int | 用户ID | 是 |
| username | string | 用户名 | 是 |
| nickname | string | 昵称 | 是 |
| password | string | 密码 | 是 |
| mail | string | 邮箱 | 是 |
| role | int | 用户类型 | 是 |
| 返回参数 | 类型 | 说明 | 必填 |
| :------: | :----: | :--------: | :--: |
| status | int | 状态码 | 是 |
| desc | string | 状态码描述 | 是 |
##### 查询用户
请求地址:url/getUser
请求协议:HTTP
请求方式:POST
请求格式:JSON
返回格式:JOSN
| 请求参数 | 类型 | 说明 | 必填 |
| :------: | :--: | :----: | :--: |
| id | int | 用户ID | 是 |
| 返回参数 | 类型 | 说明 | 必填 |
| :------: | :----: | :--------: | :--: |
| status | int | 状态码 | 是 |
| desc | string | 状态码描述 | 是 |
| username | string | 用户名 | 是 |
| nickname | string | 昵称 | 是 |
| mail | string | 邮箱 | 是 |
| role | int | 用户类型 | 是 |
##### 列出用户
请求地址:url/listUser
请求协议:HTTP
请求方式:POST
请求格式:JSON
返回格式:JOSN
| 请求参数 | 类型 | 说明 | 必填 |
| :------: | :--: | :------: | :--: |
| pagesize | int | 分页大小 | 是 |
| pagenum | int | 当前分页 | 是 |
| 返回参数 | 类型 | 说明 | 必填 |
| :------: | :----: | :--------: | :--: |
| status | int | 状态码 | 是 |
| desc | string | 状态码描述 | 是 |
| result | array | 用户数组 | 是 |
result 是用户数组,内容包括用户ID,用户名,用户昵称,用户邮箱,用户角色
### 其他
#### 版本
v 0.1
后面会根据需要修改这个文件
#### 任务分工
| 从属 | 任务 | 工作者 |
| :--: | :----------: | :------: |
| 前端 | | |
| 前端 | | |
| 后端 | 文章管理模块 | moyu |
| 后端 | 用户管理模块 | Ackerven |
#### 任务时间
前端:待定
后端:2021/05/01 - 2021/05/15 19:00
#### 提交方式
提交源码以及 gitee 仓库地址。
#### 特别说明
+ 数据库名字别搞混,别覆盖他人的数据
+ 超时后拒收补交
#### 代码规范
见 [代码规范](代码规范.md)