技术栈选型与分工
后端采用 Python+Flask 提供 RESTful API,前端使用 Vue.js 构建 SPA,数据库选用 MySQL 或 SQLite。开发阶段分为三个模块:后端 API 开发(60% 工作量)、前端界面开发(30%)、系统联调测试(10%)。
数据库设计
核心表包括 users(用户)、books(图书)、borrow_records(借阅记录)。users 表需包含权限字段区分管理员与普通用户,books 表需记录库存状态,borrow_records 表建立用户与图书的外键关联。
# Flask 模型示例
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class Book(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100))
status = db.Column(db.String(20)) # 可借阅/已借出
后端 API 开发
使用 Flask-RESTful 构建五个核心接口:用户认证接口(JWT 实现)、图书 CRUD 接口、借阅/归还接口、查询接口。需添加 Swagger 文档支持,接口响应遵循 JSON 格式规范。
# 借阅接口示例
from flask_restful import Resource
class BorrowAPI(Resource):
def post(self, book_id):
# 验证用户权限
# 修改图书状态
# 创建借阅记录
return {'status': 'success'}
前端功能模块
Vue 组件分为四个模块:用户登录模块(含权限控制)、图书展示模块(分页 + 筛选)、借阅管理模块(仅管理员可见)、个人中心模块。使用 Vue Router 实现前端路由,Axios 处理 API 请求。
// Vue 组件示例
<template>
<div v-if="isAdmin">
<book-manager :books="bookList"/>
</template>

