Files
chengshishouce/city-manual/README.md

181 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 城市手册 - City Manual
地方志兼本地生活服务平台
## 项目状态
**后端 (Django)** - 基础框架完成
- 用户系统(注册、登录、权限)
- 区域管理(省市区乡镇村层级)
- 内容管理(文章、评论、评分、点赞、收藏)
- 特色服务(衣食住行娱乐旅游文化)
- 版主审核系统(申请、支持、审核流程)
- RESTful API
- Django Admin 后台
- ✅ 示例数据已导入
**前端 (React)** - 核心页面完成
- 首页Hero、省份导航、精选内容
- 城市列表页(层级导航、面包屑)
- 区域详情页(标签页、统计信息)
- API 集成
**待开发**
- 文章详情页
- 服务详情页
- 用户登录/注册页
- 个人中心
## 技术栈
### 后端
- Django 4.2
- Django REST Framework
- JWT 认证
- SQLite (开发环境)
### 前端
- React + Vite
- React Router
- Axios
- 原生 CSS
## 快速开始
### 后端启动
```bash
cd backend
python3 manage.py runserver 0.0.0.0:8000
```
### 前端启动
```bash
cd frontend
npm install
npm run dev
```
### 访问
- **后端 API**: http://localhost:8000/api/
- **Admin 后台**: http://localhost:8000/admin/
- **前端页面**: http://localhost:3000/ (启动后)
### 测试账号
| 用户名 | 密码 | 说明 |
|--------|------|------|
| admin | (创建时设置) | 超级管理员 |
| demo | demo123 | 示例用户 |
## API 端点
### 用户
- `POST /api/register/` - 用户注册
- `POST /api/token/` - 获取 JWT token
- `GET /api/users/me/` - 当前用户信息
### 区域
- `GET /api/regions/` - 区域列表
- `GET /api/regions/{id}/` - 区域详情
- `GET /api/regions/provinces/` - 省级区域
- `GET /api/regions/{id}/children/` - 子区域
### 文章
- `GET /api/articles/` - 文章列表
- `POST /api/articles/` - 创建文章(需登录)
- 查询参数:`?region={id}&type={type}`
### 特色服务
- `GET /api/services/` - 服务列表
- `POST /api/services/` - 创建服务(需登录)
- 查询参数:`?region={id}&category={category}`
### 评论
- `GET /api/comments/` - 评论列表
- `POST /api/comments/` - 创建评论(需登录)
### 评分
- `GET /api/ratings/` - 评分列表
- `POST /api/ratings/` - 创建评分(需登录)
### 版主申请
- `GET /api/moderator-applications/` - 申请列表
- `POST /api/moderator-applications/` - 创建申请(需登录)
- `POST /api/moderator-applications/{id}/support/` - 支持申请
## 数据库模型
### 核心模型
- User - 用户
- Region - 区域(省市区乡镇村)
- Article - 文章
- FeaturedService - 特色服务
- Comment - 评论
- Rating - 评分
- Like - 点赞
- Favorite - 收藏
- ModeratorApplication - 版主申请
- ModeratorPermission - 版主权限
## 审核流程
```
用户提交 → 版主初审 → AI 审核 → 发布
↓ ↓
拒绝 拒绝
```
## 示例数据
已导入以下示例数据:
**省份 (6 个)**
- 北京市、上海市、广东省、浙江省、四川省、陕西省
**城市 (8 个)**
- 广州市、深圳市、杭州市、宁波市、成都市、绵阳市、西安市、咸阳市
**文章 (7 篇)**
- 北京故宫游览攻略、上海外滩历史、广州早茶文化等
**特色服务 (6 个)**
- 全聚德烤鸭、东方明珠塔、广州塔、楼外楼、宽窄巷子、大唐不夜城
## 下一步计划
1. **完善前端页面**
- 文章详情页
- 服务详情页
- 登录/注册页
- 个人中心
2. **AI 审核集成**
- 接入 AI 审核 API
- 自动审核规则
3. **功能增强**
- 搜索功能
- 分页优化
- 数据统计
## 开发日志
### 2026-04-10
- ✅ 创建 Django 项目结构
- ✅ 设计数据库模型
- ✅ 实现用户系统
- ✅ 实现区域管理
- ✅ 实现内容管理
- ✅ 实现特色服务
- ✅ 实现版主审核系统
- ✅ 配置 REST API
- ✅ 启动开发服务器
- ✅ 创建示例数据导入命令
- ✅ 导入示例数据6 省 8 市 7 文章 6 服务)
- ✅ 前端页面开发(首页/城市列表/区域详情)
- ✅ API 集成axios + react-router
- ✅ Git 提交