|
|
преди 5 месеца | |
|---|---|---|
| tongqu_backend_v2 | преди 5 месеца | |
| tongqu_frontend | преди 5 месеца | |
| .gitignore | преди 5 месеца | |
| README.md | преди 5 месеца | |
| 同趣U.html | преди 5 месеца |
同趣U (InterestU) 是一款专为在校大学生设计的移动社交应用,旨在帮助他们基于共同的兴趣爱好轻松发现伙伴、组织活动、拓展社交圈,让大学生活更加丰富多彩。
本项目仓库包含以下主要部分:
tongqu_backend_v2/: Django后端服务项目。tongqu_frontend/: Vue.js (使用Vite构建) 前端应用项目。同趣U.html: (早期静态页面原型或笔记,可根据实际情况说明或移除)tongqu_backend_v2/)这是“同趣U”应用的后端服务部分,基于Django和Django REST framework构建。
为前端App提供稳定、高效、安全的接口支持,解决大学生在兴趣社交中遇到的信息不对称、平台错位、连接障碍、活动分散等痛点。
CustomUser) 和管理器 (CustomUserManager)。Follow 模型及关注/取消关注API (集成在 UserViewSet action)。GET /accounts/users/)。InterestTag 模型,用户与标签多对多关联。Group, Membership 模型。Post 模型。GroupViewSet action), 独立CRUD及权限 (通过 PostViewSet)。Comment 模型。PostViewSet action), 独立CRUD及权限 (通过 CommentViewSet)。PostLike 模型。PostViewSet action)。PostSerializer 中包含点赞数和当前用户点赞状态。django-cors-headers) 允许前端开发服务器访问。tongqu_backend_v2/)(与之前README一致,确保路径和命令准确) ...
tongqu_frontend/)这是“同趣U”应用的Vue.js前端部分,使用Vite作为构建工具。
axios: 用于发送HTTP API请求。vue-router: 用于实现单页面应用的客户端路由。pinia: 用于全局状态管理 (例如用户认证状态和信息)。services/api.js):
apiClient (Axios实例) 并设置 baseURL。Authorization: Bearer <accessToken>。accessToken (当收到401且有 refreshToken 时)。store/auth.js):
useAuthStore (Pinia store) 管理 accessToken, refreshToken, currentUser。login, logout, fetchUserProfile, register, tryAutoLogin (应用加载时尝试恢复会话)。localStorage 中。router/index.js):
beforeEach 全局导航守卫:保护需要认证的路由,未登录则重定向到登录页。beforeEnter 守卫:已登录用户访问则重定向到首页。App.vue: 应用根组件,包含主导航栏(根据登录状态动态显示)。LoginView.vue: 实现用户登录表单,调用 authStore.login action,处理成功/失败逻辑和页面跳转。RegisterView.vue: 实现用户注册表单(含头像可选上传),调用 authStore.register action,处理成功/失败逻辑和页面跳转。UserProfileView.vue:
GroupListView.vue: 调用API获取并展示小组列表。CreateGroupView.vue: 调用API创建新小组。GroupDetailView.vue: 显示小组详情、帖子列表,允许加入/退出小组,允许成员发帖。PostDetailView.vue: 显示帖子详情、评论列表,允许点赞、评论,作者可编辑/删除。RecommendationsView.vue / UserListView.vue: 获取并展示用户列表/推荐用户。SpinnerIcon.vue: 可复用的加载中图标。<script setup>)tongqu_frontend/)进入前端项目目录:
cd tongqu_frontend
(如果你的Git仓库根是 D:\new_projects, 则路径是 cd D:\new_projects\tongqu_frontend)
安装依赖:
npm install
# 或者 yarn install
运行开发服务器:
npm run dev
# 或者 yarn dev
通常服务会在 http://localhost:5173/ 启动。
(保持不变或根据需要修改) ...
本项目采用 MIT许可证。