# bookmanage_api_server **Repository Path**: zhu-junbin/bookmanage_api_server ## Basic Information - **Project Name**: bookmanage_api_server - **Description**: 图书管理系统所需的后台服务,图书管理系统项目地址:https://gitee.com/zhu-junbin/bookmanage_vue3 数据库表是:librarymanagement_2.sql,直接导入mysql即可 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2022-04-11 - **Last Updated**: 2024-07-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 图书管理系统 api 文档详情 #### 基础url:http://localhost:3000 * 该服务基于 node 平台搭建,采用了 experss + typeorm + mysql2 等技术栈实现 * 安装依赖:第一次启动的要先安装相关依赖安装依赖包,在当前项目终端输入`npm install` * 启动:在终端输入 `npm start` 即可启动服务 * 说明:本服务采用了JWT鉴权,除了登录和注册之外其他的接口访问都在请求头添加 `Authorization`字段 token 值会在用户登录成功时提供 注意事项: * 本服务使用 ts 编写,运行时必须要有ts相关的编译,没有的可以执行 `npm install -g typescript` ### 一. 图书查询,借书,还书相关 api *** #### 1. 获取所有图书信息 url:`/book/books` method:`get` #### 2. 根据图书 id 获取图书信息 url:`/book/book/:id` method:`get` #### 3. 根据图书名称关键词 获取图书信息(模糊查找) url:`/book/namekey` method:`post` |参数|是否必填|类型| | ---- |-----------| ----------| | bookNameKey| 否 | string| #### 4. 根据图书类型关键词 获取图书信息(模糊查找) url:`/book/typekey` method:`post` |参数|是否必填|类型| | ---- |-----------| ----------| | bookTypeKey| 否 | string| #### 5. 根据图书作者关键词 获取图书信息(模糊查找) url:`/book/authorkey` method:`post` |参数|是否必填|类型| | ---- |-----------| ----------| | bookAuthorKey| 否 | string| #### 6. 借书(其实就是添加借阅记录) url:`/addborrow` method:`post` |参数|是否必填|类型| | ---- |-----------| ----------| | reader_id| 是 | number| | book_id| 是 | string| | borrow_date| 是 | string| | back_date | 是 | string| | if_back | 是 | string | #### 7. 还书(借阅记录的 if_back 改为 is,增加图书库存) url:`/backbook` method:`post` |参数|是否必填|类型| | ---- |-----------| ----------| | reader_id| 是 | number| | book_id| 是 | string| #### 8. 获取读者已借当前图书的数量 url:`/getrbnc` method:`post` |参数|是否必填|类型| | ---- |-----------| ----------| | reader_id| 是 | number| | book_id| 是 | string| #### 9. 根据图书id,查找该图书是否存在未归还 url:`/getboknobor/:bookid` method:`get` ### 二. 图书管理相关 api *** #### 1. 添加图书 url: `/book/addbook` method: `post` |参数|是否必填|类型| | :--- |:----------| :---------| | id | 是 | string | | bookname | 是| string| | booktype | 是 | string| | author | 是| string| | translator | 是| string| | publisher | 是| string| | publish_time | 是 | string| | price | 是| number| | stock | 是 | number| #### 2. 根据图书 id 删除图书 url:`/book/delbook/:id` method:`delete` #### 3. 修改图书 url: `/book/updatebook` method: `put` |参数|是否必填|类型| | :--- |:----------| :---------| | id | 是 | string | | bookname | 否| string| | booktype | 否 | string| | author | 否| string| | translator | 否| string| | publisher | 否| string| | publish_time | 否 | string| | price | 否| number| | stock | 否 | number| ### 三. 用户相关 api *** #### 1. 登录 url:`/api/login` method: `post` |参数|是否必填|类型| | ---- |-----------| ----------| | username| 是 | string| | password| 是 | string| #### 2. 注册 url:`/api/register` method:`post` |参数|是否必填|类型| | ---- |-----------| ----------| | username | 是 | string| | password | 是 | string| | is_admin | 是 | string| #### 3. 修改用户 url:`/userupdate` method:`put` |参数|是否必填|类型| | ---- |-----------| ----------| | id | 是 | number | | username | 否 | string| | password | 否 | string| | is_admin | 否 | string| #### 4. 获取所有用户信息 url:`/users` method:`get` #### 5. 根据用户 id 获取用户信息 url:`/userid/:id` method:`get` #### 6. 根据用户名 获取用户信息 url:`/username` method:`post` |参数|是否必填|类型| | ---- |-----------| ----------| | username | 是 | string| #### 7. 根据用户名关键词 获取用户信息(模糊查找) url:`/userkey` method:`post` |参数|是否必填|类型| | ---- |-----------| ----------| | userkey | 否 | string| #### 8. 根据 is_admin 获取用户信息 url:`/userisadmin/:isadmin` method:`get` #### 9. 根据 id 删除用户 url:`/user/:id` method:`delete` #### 10. 修改密码 url:`/userupdatepwd` method:`put` |参数|是否必填|类型| | ---- |-----------| ----------| | id | 是 | number | | newpassword | 是 | string| | checkpassword | 是 | string| #### 11. 联合搜索,id,用户名,是否管理员,联合模糊搜索 url:`/user-list` method: `get` query 方式 |参数|是否必填|类型| | ---- |-----------| ----------| | id | 否 | number | | username | 否 | string| | is_admin | 否 | string| ### 四. 读者相关 api *** #### 1. 添加读者 url:`/addreader` method:`post` |参数|是否必填|类型| | ---- |-----------| ----------| | readername | 是 | string| | readertype | 是 | string| | sex | 是 | string| | max_num | 是 | number| | days_num | 是 | number| #### 2. 修改读者 url:`/updatereader` method:`put` |参数|是否必填|类型| | ---- |-----------| ----------| | id | 是 | number | | readername | 否 | string| | readertype | 否 | string| | sex | 否| string| | max_num | 否| number| | days_num | 否 | number| #### 3. 根据 id 删除读者 url:`/deleteerader/:id` method:`delete` #### 4. 获取所有读者信息 url:`/readers` method: `get` #### 5. 根据读者 id 获取读者信息 url:`/reader/:id` method:`get` #### 6. 根据读者名 获取读者信息 url:`/readername` method:`post` |参数|是否必填|类型| | ---- |-----------| ----------| | readername | 是 | string| #### 7. 根据读者名关键词 获取读者信息(模糊查找) url:`/readerkey` method:`post` |参数|是否必填|类型| | ---- |-----------| ----------| | readerkey | 否 | string| #### 8. 根据最大可借数 大于等于num 获取读者信息 url: `/readermaxnum` method: `post` |参数|是否必填|类型| | ---- |-----------| ----------| | max_num | 是 | number | #### 9. 根据最大可借天数 大于等于num 获取读者信息 url: `/readermaxday` method: `post` |参数|是否必填|类型| | ---- |-----------| ----------| | days_num | 是 | number | #### 10. 获取读者借阅了多少本图书 url: `/borrowcount` method: `post` |参数|是否必填|类型| | ---- |-----------| ----------| | reader_id | 是 | number | ### 五. 借阅历史相关 api *** #### 1. 获取所有借阅历史信息 url:`/borrows` method: `get` #### 2. 根据图书 id 获取借阅信息 url:`/borrowbookid/:bookid` method: `get` #### 3. 根据读者 id 获取借阅信息 url:`/borrowreaderid/:readerid` method: `get` #### 4. 根据借阅 id 删除借阅历史信息 url:`/borrowdel/:id` method: `delete` #### 5. 清空借阅历史信息 url:`/borrowclear` method: `delete`