# 校跑侠 · 校园跑腿代拿代买 面向校园场景的跑腿 / 代拿代买平台,包含 **H5 用户端**、**Node 后端 API** 与 **管理后台** 三部分。 ## 功能一览 - **代拿代买下单**:代拿快递、代取外卖、帮我买、帮我送、打印文印、排队代办等服务,下单填地址 + 悬赏。 - **表白墙**:发布表白(登录后进入待审核)、点赞、评论;管理员在后台审核(通过 / 驳回 / 下架 / 删除)。 - **登录注册**:用户端手机号 + 密码注册登录;后台管理员账号登录。密码经 `scrypt + 随机盐` 哈希存储,令牌基于会话表。 - **管理后台**:仪表盘、订单管理、服务管理(增删改 / 上下架 / 排序)、客户管理、表白墙审核。 ## 技术栈 | 部分 | 技术 | | --- | --- | | H5 用户端 | Vue 3 + Vite + Vue Router + Vant 4 | | 后端 API | Node.js + Express | | 数据层 | SQLite(better-sqlite3,文件型,位于 `data/app.db`) | | 管理后台 | 原生 HTML / CSS / JavaScript(无框架),由后端 `/admin` 静态托管 | ## 目录结构 ``` campus-errand-h5/ # 用户端 H5(Vite 项目,默认端口 8088) src/ views/ # 首页/订单/发单/消息/我的/登录/表白墙/表白详情 store/ # session(会话) / avatar(头像) / wall(表白墙) components/icons/ # 自研 SVG 图标库(禁用 emoji) api/ # 统一请求封装 campus-errand-server/ # 后端 + 管理后台(默认端口 8090) server.js # 入口 src/ store.js # 唯一数据访问层(SQLite) seed.js # 首次运行的演示种子数据 routes/ # client(客户端 API) / admin(管理端 API) public/admin/ # 管理后台静态页 ``` ## 本地运行 > 需要 Node.js 18+(better-sqlite3 需原生编译或预编译二进制)。 **1) 启动后端(端口 8090)** ```bash cd campus-errand-server npm install node server.js ``` - API:`http://localhost:8090/api` - 管理后台:`http://localhost:8090/admin/` - 首次启动会自动建表并写入演示数据(服务目录、若干订单/客户/表白)。 **2) 启动 H5 前端(端口 8088)** ```bash cd campus-errand-h5 npm install npm run dev ``` - 访问:`http://localhost:8088` - 前端 `/api` 已通过 Vite 代理转发到后端 `8090`,无需额外配置跨域。 ## 默认账号 - **管理后台**:用户名 `admin` / 密码 `admin888`(首次启动自动创建)。 > ⚠️ 仅为演示默认值,正式使用请尽快修改。 - **用户端**:无预置账号,进入 H5 后自行注册。 ## 数据说明 - 数据存于 SQLite:`campus-errand-server/data/app.db`(发布包中已排除,首次运行自动生成)。 - 数据访问统一封装在 `src/store.js`,便于后续替换或扩展。 ## 许可 仅供学习与演示使用。