Compare commits

..

8 Commits

@ -0,0 +1,2 @@
# pyx_gitkeshe

@ -0,0 +1,43 @@
/*
Navicat Premium Data Transfer
Source Server : mysql
Source Server Type : MySQL
Source Server Version : 50710 (5.7.10)
Source Host : 127.0.0.1:3306
Source Schema : big_event1
Target Server Type : MySQL
Target Server Version : 50710 (5.7.10)
File Encoding : 65001
Date: 25/07/2025 16:15:25
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for article
-- ----------------------------
DROP TABLE IF EXISTS `article`;
CREATE TABLE `article` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
`title` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文章标题',
`content` varchar(10000) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文章内容',
`url` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文章封面',
`state` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '草稿' COMMENT '文章状态: 如果是被租走,就显示租的人名字',
`category_id` int(10) UNSIGNED NULL DEFAULT NULL COMMENT '文章分类ID',
`create_user` int(10) UNSIGNED NULL DEFAULT NULL COMMENT '创建人ID',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
`money` float NOT NULL COMMENT '租借书籍价格',
`number` int(11) NOT NULL COMMENT '被租数量',
PRIMARY KEY (`id`) USING BTREE,
INDEX `fk_article_category`(`category_id`) USING BTREE,
INDEX `fk_article_user`(`create_user`) USING BTREE,
CONSTRAINT `fk_article_category` FOREIGN KEY (`category_id`) REFERENCES `category` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `fk_article_user` FOREIGN KEY (`create_user`) REFERENCES `user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 58 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;

@ -0,0 +1,31 @@
/*
Navicat Premium Data Transfer
Source Server : mysql
Source Server Type : MySQL
Source Server Version : 50710 (5.7.10)
Source Host : 127.0.0.1:3306
Source Schema : big_event1
Target Server Type : MySQL
Target Server Version : 50710 (5.7.10)
File Encoding : 65001
Date: 25/07/2025 16:15:36
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for borrow
-- ----------------------------
DROP TABLE IF EXISTS `borrow`;
CREATE TABLE `borrow` (
`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`borrower` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`borrow_time` datetime NULL DEFAULT NULL,
`return_time` datetime NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;

@ -0,0 +1,38 @@
/*
Navicat Premium Data Transfer
Source Server : mysql
Source Server Type : MySQL
Source Server Version : 50710 (5.7.10)
Source Host : 127.0.0.1:3306
Source Schema : big_event1
Target Server Type : MySQL
Target Server Version : 50710 (5.7.10)
File Encoding : 65001
Date: 25/07/2025 16:15:46
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
`username` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名',
`password` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '密码',
`vip` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT 'VIP等级',
`pic` varchar(800) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '头像',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '修改时间',
`admin` int(11) NOT NULL COMMENT '1是管理员0是用户',
`balance` float NOT NULL COMMENT '余额',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `username`(`username`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 25 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户表' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;

@ -0,0 +1,170 @@
书籍租赁系统
前端对接后端接口文档(无 JWT · 纯 Session
---
### 一、通用信息
| 项 | 值 |
| ---------------- | ----------------------------------------- |
| 基地址 | `http://localhost:8877` |
| 认证方式 | CookieSession |
| 统一返回 | `{ code: 200/1, message: "", data: ... }` |
| 白名单(免登录) | `POST /user/login` `POST /user/register` |
---
### 二、用户模块
#### 1. 注册
```
POST /user/register
Content-Type: application/x-www-form-urlencoded
username=xxx&password=xxx
```
成功 → `{ code:200, message:"操作成功" }`
#### 2. 登录
```
POST /user/login
Content-Type: application/x-www-form-urlencoded
username=xxx&password=xxx
```
成功 → `{ code:200, message:"登陆成功!" }`
失败 → `{ code:1, message:"账号或密码错误!" }`
#### 3. 获取当前用户信息
```
GET /user/getinfo
```
返回
```json
{
"username": "张三",
"pic": "http://xxx/avatar.png"
}
```
#### 4. 充值
```
POST /user/recharge
Content-Type: application/x-www-form-urlencoded
money=50
```
返回
```json
{ code:200, message:"成功充值50.0元" }
```
#### 5. 余额 + VIP
```
POST /user/findmoney
```
返回
```json
{ code:200, message:"余额为100.0元 当前VIP等级为2" }
```
#### 6. 借书记录
```
GET /user/findone
```
- 普通用户:单条对象
- 管理员:数组
---
### 三、书籍模块
#### 1. 新增书籍(管理员)
```
POST /api/add
Content-Type: application/json
{
"title":"三体",
"content":"科幻小说",
"url":"http://...jpg",
"state":"草稿",
"money":5.00,
"number":10
}
```
成功 → 返回完整书籍对象
#### 2. 查询全部书籍
```
GET /api/select
```
返回数组
#### 3. 书名查单本
```
GET /api/selectone?title=三体
```
返回单条对象
#### 4. 删除书籍(管理员)
```
POST /user/delete
Content-Type: application/x-www-form-urlencoded
title=三体
```
返回
```json
{ code:200, message:"该书本已删除!" }
```
#### 5. 当前用户已借书籍
```
GET /user/borrow/books
```
返回书籍数组
---
### 四、租借模块
#### 1. 借书
```
POST /borrow/borrowbook
Content-Type: application/x-www-form-urlencoded
title=三体
```
- 余额不足 → `{ code:1, message:"余额不足!" }`
- 成功 → `{ code:200, data:{...} }`
#### 2. 还书
```
POST /borrow/returnbook
Content-Type: application/x-www-form-urlencoded
title=三体
```
返回
```json
{ code:200, data:{..., return_time:"2025-07-25T16:35:00"} }
```
---
### 五、排行模块
#### 1. 本周热租榜
```
GET /api/rank/weekly
```
返回
```json
[
{ "title":"三体", "url":"...", "money":5, "number":12 },
...
]
```
#### 2. 本月热租榜
```
GET /api/rank/monthly
```
结构同上

Binary file not shown.
Loading…
Cancel
Save