|
4 weeks ago | |
---|---|---|
tongqu_backend_v2 | 4 weeks ago | |
tongqu_frontend | 4 weeks ago | |
.gitignore | 1 month ago | |
README.md | 4 weeks ago | |
同趣U.html | 1 month ago |
同趣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许可证。