信息时代,效率和最优解的追求成为社会的唯一信条。科学主义的浪潮下,情感,思想,艺术等无法被量化的人的特质似乎正在逐渐黯淡。人工智能常常被视为这场”人文失落“的推手。但如果你也相信”技术本身并无好坏“,如果你也认为应当让人文精神再度回归,那就请结合人工智能来给这个略显冷漠的时代注入人文的温度。本赛题,你需要完成一个为人文服务的内容,表现形式可能是文化,艺术等等能体现人类的光辉的元素,越凸显人的重量的应用越会得到认可。
"幻想漂流瓶"是一个创意社交平台,用户可以将想要分享的文字、图片等内容放入"漂流瓶"中,让它们在虚拟世界中漂流。其他用户可以随机捞取这些漂流瓶,阅读内容并与发布者互动。项目采用匿名机制,保护用户隐私,让用户能够更自由地表达自己。
用幻想为这个略显冷漠的时代注入人文的温度!
天马行空的人可以盯着桌上的物品幻想一个下午。
在这个网站上,幻想爱好者将发布自己的幻想:可以是“空想”,无须以现实为根基,仅用文字编织幻想的乐章;也可以是“联想”,赋予枯燥无味的现实图景名为“幻想”的生命力。
将幻想装入漂流瓶扔出后,经漂流瓶管理局审批通过后,漂流瓶将进入匿名海洋。
其他从匿名海洋中拾起漂流瓶的人可以共同编辑这个幻想。
- 📝 发布漂流瓶:用户可以创建包含文字和图片的漂流瓶
- 🌊 浏览漂流瓶:随机捞取漂流瓶,阅读他人分享的内容
- 🎨 多种类型:支持不同载体(牛皮纸、永恒纸)和幻想类型的内容
- 🔐 管理系统:管理员可以审核内容,管理系统运行状态
- 📱 响应式设计:适配不同屏幕尺寸,提供良好的用户体验
- 🎥 动态背景:使用视频背景提升视觉效果和沉浸感
- 📚 内容分类:根据载体和幻想类型对内容进行分类管理
本项目使用灵码辅助开发,前端的对话内容详见,后端的对话内容详见这里。
- Vue 3 (Composition API)
- Vue Router 4
- Element Plus UI 组件库
- Vite 构建工具
- Node.js
- Express.js
- SQLite3 数据库
- Multer (文件上传)
- JWT (身份验证)
- Swagger (API文档)
plp/
├── plp-backend/ # 后端服务
│ ├── uploads/ # 上传文件存储目录
│ ├── db.js # 数据库操作模块
│ └── server.js # 主服务文件
├── plp-frontend/ # 前端应用
│ ├── public/ # 静态资源
│ ├── src/ # 源代码
│ │ ├── components/ # 公共组件
│ │ ├── views/ # 页面组件
│ │ ├── router/ # 路由配置
│ │ └── store.js # 状态管理
│ └── vite.config.js # 构建配置
└── package.json # 项目配置文件
项目包含以下主要路由页面:
- 项目入口页面
- 展示动态背景视频
- 提供进入编辑和浏览功能的入口
- 用户选择想要浏览的漂流瓶类型
- 可选择不同载体(牛皮纸、永恒纸)和幻想类型
- 根据选择条件随机获取漂流瓶内容
- 展示漂流瓶的详细内容
- 显示标题、正文、图片等信息
- 展示内容的标签分类(载体、幻想类型等)
- 创建和编辑漂流瓶内容
- 支持输入标题、正文内容
- 支持上传图片
- 可选择载体和幻想类型标签
- 系统管理功能入口
- 管理员登录和身份验证
- 内容审核和管理
- 系统配置管理
- 项目使用说明和介绍
- 网站使用指南
- 相关说明文档展示
- Node.js >= 14.x
- npm >= 6.x
- 克隆项目代码:
git clone <项目地址>
cd plp
- 安装所有依赖:
npm run install:all
启动开发服务器(同时启动前后端):
npm run dev
分别启动前后端:
# 启动后端服务
npm run dev:backend
# 启动前端服务
npm run dev:frontend
构建前端应用:
npm run build
- 首页:访问
http://localhost:3000
进入网站首页 - 发布内容:点击首页相关按钮进入编辑页面,填写内容并发布
- 浏览内容:通过选择页面选择想要浏览的内容类型
- 网页说明:点击页面的右上角的图标进入
- 管理系统:访问管理页面进行内容审核和系统管理,无直接入口,请访问
http://localhost:3000/manager
- 管理员登录相关:初次登录请先设置密码
后端提供完整的 RESTful API,访问 http://localhost:3001/api-docs
查看 API 文档。
后端支持以下环境变量:
PORT
:服务端口,默认 3001JWT_SECRET
:JWT 密钥,默认为 'plp_backend_default_secret_key'
项目使用 SQLite 数据库,数据文件默认存储在 plp-backend/database.db
。
欢迎提交 Issue 和 Pull Request 来改进项目。
本项目采用 MIT 许可证,详情请见 LICENSE 文件。