# node-campus **Repository Path**: lancemorii-git/node-campus ## Basic Information - **Project Name**: node-campus - **Description**: 老师让做的-------嗯------------------------------------ - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-28 - **Last Updated**: 2025-12-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 校园资源分享系统 基于 Node.js + Express + MySQL 的校园资源分享平台。 ## 功能特性 - 用户认证:登录、注册、登出 - 资源管理:上传、下载、编辑、删除 - 资源筛选:分类筛选、关键词搜索、排序 - 操作日志:记录用户所有操作 - 权限控制:普通用户只能管理自己的资源,管理员可管理所有 ## 技术栈 - 后端:Node.js + Express - 数据库:MySQL - 前端:HTML + CSS + JavaScript - 文件上传:Multer - 密码加密:bcryptjs ## 运行步骤 ### 1. 安装依赖 ```bash cd campus-resource-sharing npm install ``` ### 2. 配置数据库 1. 确保 MySQL 服务已启动 2. 修改 `config/db.js` 中的数据库配置(用户名、密码等) 3. 执行 `database/init.sql` 初始化数据库 ```bash mysql -u root -p < database/init.sql ``` ### 3. 启动服务 ```bash npm start ``` 访问 http://localhost:3000 ### 测试账号 - 管理员:admin / 123456 - 普通用户:user1 / 123456 ## 项目结构 ``` campus-resource-sharing/ ├── app.js # 主入口文件 ├── config/ │ └── db.js # 数据库配置 ├── database/ │ └── init.sql # 数据库初始化脚本 ├── middleware/ │ ├── auth.js # 认证中间件 │ └── errorHandler.js # 错误处理中间件 ├── routes/ │ ├── auth.js # 认证路由 │ ├── resource.js # 资源路由 │ ├── category.js # 分类路由 │ └── log.js # 日志路由 ├── services/ │ └── logService.js # 日志服务 ├── utils/ │ └── fileHelper.js # 文件操作工具 ├── public/ │ ├── css/style.css # 样式文件 │ ├── js/api.js # API封装 │ ├── login.html # 登录页 │ ├── index.html # 首页 │ ├── my-resources.html # 我的资源 │ ├── upload.html # 上传页 │ └── logs.html # 日志页 └── uploads/ # 上传文件目录 ``` ## API 接口 ### 认证接口 - POST /api/auth/register - 用户注册 - POST /api/auth/login - 用户登录 - POST /api/auth/logout - 用户登出 - GET /api/auth/info - 获取当前用户信息 ### 资源接口 - GET /api/resources - 获取资源列表 - GET /api/resources/my - 获取我的资源 - GET /api/resources/:id - 获取资源详情 - POST /api/resources/upload - 上传资源 - PUT /api/resources/:id - 更新资源 - DELETE /api/resources/:id - 删除资源 - GET /api/resources/:id/download - 下载资源 ### 分类接口 - GET /api/categories - 获取分类列表 - POST /api/categories - 添加分类(管理员) - PUT /api/categories/:id - 更新分类(管理员) - DELETE /api/categories/:id - 删除分类(管理员) ### 日志接口 - GET /api/logs - 获取日志列表(管理员) - GET /api/logs/stats - 获取操作统计(管理员)