BrightMoonBBS

明月论坛


API设计

<h1>1. 接口设计</h1> <h3>项目基准路径</h3> <p><code>http://127.0.0.1:9090</code></p> <h2>1.1. 用户管理</h2> <h5>1.1.1 登录用户</h5> <ul> <li>根据用户名密码登录</li> <li>请求路径:<code>/user/login</code></li> <li>请求类型:<code>post</code></li> <li>请求参数</li> </ul> <table> <thead> <tr> <th>参数名</th> <th>必选</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>username</td> <td>是</td> <td>string</td> <td>用户名</td> </tr> <tr> <td>password</td> <td>是</td> <td>string</td> <td>用户名</td> </tr> </tbody> </table> <ul> <li>登陆成功返回 <pre><code>{ "success": 200, "message": "登陆成功", "data": { "uid": 1, "username": "Alen", "headimg": "https://profile.csdnimg.cn/8/E/4/0_ggalsobeetwn", "state": "在线", } }</code></pre> <h5>1.1.2 注册用户</h5></li> <li>根据用户名密码注册</li> <li>请求路径:<code>/user/register</code></li> <li>请求类型:<code>post</code></li> <li>请求参数</li> </ul> <table> <thead> <tr> <th>参数名</th> <th>必选</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>username</td> <td>是</td> <td>string</td> <td>用户名</td> </tr> <tr> <td>password</td> <td>是</td> <td>string</td> <td>密码</td> </tr> </tbody> </table> <ul> <li>注册成功返回</li> </ul> <pre><code>{ "state": 200, "success": "注册成功", "user": { "uid": 1, "headimg": "https://profile.csdnimg.cn/8/E/4/0_ggalsobeetwn", "password": "MyPassword" } }</code></pre> <h5>1.1.3 登出用户</h5> <ul> <li>根据传入的username更改账户状态为离线</li> <li>请求路径:<code>/user/exit</code></li> <li>请求类型:<code>post</code></li> <li>请求参数</li> </ul> <table> <thead> <tr> <th>参数名</th> <th>必选</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>username</td> <td>是</td> <td>String</td> <td>用户名</td> </tr> </tbody> </table> <ul> <li>登出成功返回</li> </ul> <pre><code>{     "state":200,     "success": "登出成功" }</code></pre> <h4>1.1.4 注销用户</h4> <ul> <li>传入用户名且需要密码确认注册操作</li> <li>请求路径:<code>/user/logout</code></li> <li>请求类型:<code>post</code></li> <li>请求参数</li> </ul> <table> <thead> <tr> <th>参数名</th> <th>必选</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>username</td> <td>是</td> <td>string</td> <td>用户名</td> </tr> <tr> <td>password</td> <td>是</td> <td>string</td> <td>密码</td> </tr> </tbody> </table> <ul> <li>注销成功返回</li> </ul> <pre><code>{ "state": 200, "success": "注销成功" }</code></pre> <h2>1.2. 帖子管理</h2> <h5>1.2.1 添加帖子</h5> <ul> <li>根据参数添加帖子</li> <li>请求路径:<code>/posts/add</code></li> <li>请求类型:<code>post</code></li> <li>请求参数</li> </ul> <table> <thead> <tr> <th>参数名</th> <th>必选</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>uid</td> <td>是</td> <td>int</td> <td>用户id</td> </tr> <tr> <td>sid</td> <td>是</td> <td>int</td> <td>归属版块</td> </tr> <tr> <td>title</td> <td>是</td> <td>string</td> <td>标题</td> </tr> <tr> <td>content</td> <td>是</td> <td>string</td> <td>内容</td> </tr> <tr> <td>createdate</td> <td>否</td> <td>string</td> <td>创建时间,由数据库或前台获取当前时间</td> </tr> <tr> <td>tags</td> <td>否</td> <td>string</td> <td>标签</td> </tr> </tbody> </table> <ul> <li>添加成功返回,返回帖子链接由于跳转</li> </ul> <pre><code>{ "state": 200, "success": "添加成功", "posts_href": "http://127.0.0.1:9090/user/logout" }</code></pre> <h5>1.2.2 删除帖子</h5> <ul> <li>根据pid删除帖子</li> <li>请求路径:<code>/posts/delete/pid</code></li> <li>请求类型:<code>get</code></li> <li>请求参数</li> </ul> <table> <thead> <tr> <th>参数名</th> <th>必选</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>pid</td> <td>是</td> <td>int</td> <td>帖子id</td> </tr> </tbody> </table> <ul> <li>删除成功返回 <pre><code>{ "state": 200, "success": "删除成功" }</code></pre></li> </ul> <h5>1.2.3 修改帖子</h5> <ul> <li>根据pid修改帖子</li> <li>请求路径:<code>/posts/update</code></li> <li>请求类型:<code>post</code></li> <li>请求参数</li> </ul> <table> <thead> <tr> <th>参数名</th> <th>必选</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>pid</td> <td>是</td> <td>int</td> <td>帖子id</td> </tr> <tr> <td>uid</td> <td>是</td> <td>int</td> <td>用户id</td> </tr> <tr> <td>sid</td> <td>是</td> <td>int</td> <td>归属版块</td> </tr> <tr> <td>title</td> <td>是</td> <td>string</td> <td>标题</td> </tr> <tr> <td>content</td> <td>是</td> <td>string</td> <td>内容</td> </tr> <tr> <td>createdate</td> <td>否</td> <td>string</td> <td>创建时间,由数据库或前台获取当前时间</td> </tr> <tr> <td>tags</td> <td>是</td> <td>string</td> <td>标签</td> </tr> </tbody> </table> <ul> <li>修改成功返回,返回帖子链接由于跳转</li> </ul> <pre><code>{ "state": 200, "success": "修改成功", "posts_href": "http://127.0.0.1:9090/user/logout" }</code></pre> <h5>1.2.4 查询帖子</h5> <ul> <li>根据关键字query查询帖子</li> <li>请求路径:<code>/posts/select/:query</code></li> <li>请求类型:<code>get</code></li> <li>请求参数</li> </ul> <table> <thead> <tr> <th>参数名</th> <th>必选</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>query</td> <td>否</td> <td>String</td> <td>关键字</td> </tr> <tr> <td>pageinfo</td> <td>否</td> <td>index</td> <td>查询第几页,不填可以用element组件实现</td> </tr> </tbody> </table> <ul> <li>查询成功返回 <pre><code>{ "state": 200, "success": "查询成功", "posts": [ { "uid": 1, "pid": 1, "sid": 1, "title": "标题", "content": "内容", "createdate": "创建时间", "tags": "标签", "pageview": "浏览量" }, { "uid": 1, "pid": 1, "sid": 1, "title": "标题", "content": "内容", "createdate": "创建时间", "tags": "标签", "pageview": "浏览量" } ] }</code></pre></li> </ul> <h2>1.3 权限管理</h2> <h5>1.3.1 查询权限</h5> <ul> <li>查询所有权限</li> <li>请求路径:<code>/power/select</code></li> <li>请求类型:<code>get</code></li> <li>请求参数:</li> </ul> <table> <thead> <tr> <th>参数名</th> <th>必选</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>query</td> <td>否</td> <td>int</td> <td>关键字</td> </tr> </tbody> </table> <ul> <li>查询成功返回</li> </ul> <pre><code>{ "state": 200, "success": "修改成功", "powers": [ {"powerid": 1, "powername": "添加个人帖子"}, {"powerid": 2, "powername": "删除个人帖子"}, {"powerid": 3, "powername": "修改个人帖子"}     ] }</code></pre> <h5>1.3.2 修改权限</h5> <ul> <li>添加新权限</li> <li>请求路径:<code>/power/update</code></li> <li>请求类型:<code>post</code></li> <li>请求参数</li> </ul> <table> <thead> <tr> <th>参数名</th> <th>必选</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>uid</td> <td>是</td> <td>int</td> <td>给哪个用户修改权限</td> </tr> <tr> <td>powerid</td> <td>否</td> <td>String</td> <td>修改后的id集合,用 , 拼接成字符串</td> </tr> </tbody> </table> <ul> <li>修改成功返回,查询最新的权限列表</li> </ul> <pre><code>{     "state": 200, "success": "修改成功", "powers": [ {"powerid": 1, "powername": "添加个人帖子"}, {"powerid": 2, "powername": "删除个人帖子"}, {"powerid": 3, "powername": "修改个人帖子"}     ] }</code></pre> <h5>1.3.3 查询角色权限</h5> <ul> <li>根据rid查询role表权限,没有rid则查询所有角色权限</li> <li>请求路径:<code>/roles/select/:rid</code></li> <li>请求类型:<code>get</code></li> <li>请求参数</li> </ul> <table> <thead> <tr> <th>参数名</th> <th>必选</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>rid</td> <td>否</td> <td>int</td> <td>给哪个用户修改权限</td> </tr> </tbody> </table> <ul> <li>修改成功返回,查询最新的权限列表</li> </ul> <pre><code>{     "state": 200, "success": "查询成功", "powers": [ {"rid": 1, "rolename": "用户", "rpower": "1,2,3"}, {"rid": 2, "rolename": "管理员", "rpower": "1,2,3,4,5"}     ] }</code></pre> <h2>1.4 评论管理</h2> <h5>1.4.1 查询评论</h5> <ul> <li>点击帖子跳转详情时查询该帖子的所有评论</li> <li>请求路径:<code>/power/select</code></li> <li>请求类型:<code>post</code></li> <li> <h2>请求参数</h2> </li> </ul> <h1>New 新增接口</h1> <h5>注销账号</h5> <ul> <li>修改用户名为‘用户已注销’密码为‘0’</li> <li>请求路径:<code>/user/clear/:uid</code></li> <li>请求类型:<code>get</code></li> <li>请求参数</li> </ul> <table> <thead> <tr> <th>参数名</th> <th>必选</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>uid</td> <td>是</td> <td>int</td> <td>用户id</td> </tr> </tbody> </table> <ul> <li>修改成功返回提示消息</li> </ul> <pre><code>{     "state": 200, "success": "注销成功" }</code></pre> <h5>修改密码</h5> <ul> <li>根据传入的密码修改密码,同时传入uid确定需要修改密码的账户</li> <li>请求路径:<code>/user/updatepwd</code></li> <li>请求类型:<code>post</code></li> <li>请求参数</li> </ul> <table> <thead> <tr> <th>参数名</th> <th>必选</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>uid</td> <td>是</td> <td>int</td> <td>用户id</td> </tr> <tr> <td>password</td> <td>是</td> <td>String</td> <td>用户密码</td> </tr> </tbody> </table> <ul> <li>修改成功返回提示消息</li> </ul> <pre><code>{ "state": 200, "success": "修改成功" }</code></pre>

页面列表

ITEM_HTML