Files
chengshishouce/城市手册需求文档.md
mashen 2e9c17ef72 feat: 实现城市手册项目需求 - 数据库模型
- 扩展 User 模型,添加角色和状态字段
- 创建 Region 模型(省市县乡村层级结构)
- 创建版主管理相关模型(申请、权限、支持、限制)
- 创建 Article 模型(文章 + 审核流程)
- 创建 FeaturedService 模型(特色服务 + 审核流程)
- 创建交互功能模型(评论、评分、点赞、收藏)
- 更新 Django settings 注册所有 apps
- 创建需求实施文档

完整实现需求文档中的 12 个核心数据表和审核流程
2026-04-09 13:38:14 +00:00

389 lines
9.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.
# 城市手册项目需求文档
## 1. 项目概述
### 1.1 项目名称
城市手册
### 1.2 项目定位
地方志兼本地生活服务平台,记录每个城市的重要信息。
### 1.3 目标用户
- 本地居民:深度了解家乡
- 游客:快速熟悉到达的城市
- 研究者:了解城市文化和历史
### 1.4 主要使用场景
- 本地人通过平台深入了解家乡的历史文化、特色服务
- 游客快速获取城市基本信息、景点、美食、住宿等实用信息
- 发现和推荐体现本地特色的生活服务
### 1.5 产品形态
- 前期:网站
- 后期考虑移动App
### 1.6 语言支持
- 前期:中文
- 后期:考虑多语言
### 1.7 MVP范围
第一版仅做少数几个城市作为样板,后续逐步扩展。
---
## 2. 数据来源
### 2.1 数据来源方式
- 抓取公开数据(百科、政府网站等)
- 用户贡献UGC
### 2.2 数据录入方式
- 第一版采用人工输入方式
- 数据抓取工具后续专门开发
---
## 3. 权限体系
### 3.1 用户角色
| 角色 | 职责 | 权限 |
|------|------|------|
| 普通用户 | 浏览内容、参与互动、申请版主 | 浏览、评论、评分、点赞、收藏、分享、申请版主、申请特色服务 |
| 版主 | 管理指定版块内容 | 管辖范围内内容初审、申请创建版块 |
| AI审核员 | 内容最终审核 | 版主审核通过后的内容进行最终审核,决定是否发布 |
| 管理员 | 全局管理 | 版主申请审核、版主权限管理、全局内容管理 |
### 3.2 版主权限规则
- 版主只能审核其管辖范围内的内容
- 上级版主不需要复核下级版主审核的内容
- 上级版主有权暂时限制下级版主的权限
- 版主权限限制可由上级版主或管理员操作
### 3.3 版主申请机制
- 用户可以申请成为特定版块的版主
- 创建版块需要管理员批准
- 版块创建后,特定时间内需要征集到足够支持人数
- 支持人数不足则取消版主权限
### 3.4 军衔体系
版主根据管辖层级对应不同军衔:
| 管辖层级 | 军衔 |
|----------|------|
| 省级 | 将军 |
| 市级 | 校官 |
| 县级 | 尉官 |
| 镇村级 | 士兵 |
---
## 4. 版块层级结构
```
省 → 市 → 县 → 乡镇(街道) → 村(居委会)
```
---
## 5. 内容审核流程
### 5.1 内容提交流程
文章和特色服务提交需经过以下审核流程:
```
提交 → 版主初审 → AI审核 → 发布
↓ ↓
拒绝 拒绝
```
### 5.2 审核规则
- 版主审核通过后内容进入AI审核
- AI审核通过后内容正式发布
- 版主或AI审核拒绝后内容不发布
- AI审核规则由后台AI自行设计
---
## 6. 核心功能
### 6.1 城市信息展示
**城市页面包含:**
- 基础信息卡片:地理位置、人口、气候、行政区划
- 历史:建立时间、重要历史事件、名人
- 文化:方言、习俗、节庆、特色小吃
- 实用:交通、教育、医疗、商业
- 生活:推荐餐厅、景点、活动、攻略
### 6.2 特色服务
**分类:**
- 衣:服装、特产
- 食:餐饮美食
- 住:住宿
- 行:交通、出行
- 娱乐:娱乐场所、活动
- 旅游:景点、游玩
- 文化:文化体验、博物馆、非遗等
### 6.3 搜索和导航
- 城市搜索:按名称、省份、特色搜索
- 首页导航结构
### 6.4 用户系统
**注册登录:**
- 用户注册(支持邮箱、手机号等)
- 用户登录
- 个人中心
**个人中心功能:**
- 个人信息管理
- 收藏列表(可收藏城市、特色服务)
- 申请管理(版主申请、特色服务申请)
### 6.5 交互功能
**评分:**
- 对城市和特色服务进行评分
- 评分采用几星制(待确认)
**点赞:**
- 对文章、特色服务进行点赞
**收藏:**
- 可收藏城市、特色服务
- 收藏列表在个人中心显示
**分享:**
- 支持分享到微信朋友圈、微博、复制链接
- 生成分享卡片
**评论:**
- 对文章和城市可以评论
- 评论内容由AI审核
---
## 7. 后台管理功能
### 7.1 内容管理
- 城市信息管理(添加、编辑、删除)
- 特色服务管理(添加、编辑、删除)
- 内容审核管理(查看待审核内容、查看审核历史)
### 7.2 用户管理
- 用户列表查看
- 用户信息管理
### 7.3 版主管理
- 版主申请审核
- 版主权限管理(授予、限制、取消)
- 版块管理
### 7.4 数据统计
- 用户统计
- 内容统计
- 互动统计
---
## 8. 数据库设计
### 8.1 核心数据表
1. **用户表** (users)
- 用户ID
- 用户名
- 邮箱/手机号
- 密码(加密)
- 角色类型(普通用户/版主/管理员)
- 创建时间
- 状态(正常/禁用)
2. **版块表** (regions)
- 版块ID
- 版块名称
- 版块级别(省/市/县/乡镇/村)
- 上级版块ID
- 创建时间
- 状态
3. **版主申请表** (moderator_applications)
- 申请ID
- 申请者ID
- 申请的版块ID
- 申请时间
- 支持人数
- 截止时间
- 状态(待审核/已通过/已拒绝/已取消)
- 审核人ID
- 审核时间
4. **版主权限表** (moderator_permissions)
- 权限ID
- 版主ID
- 管辖版块ID
- 军衔级别
- 权限状态(正常/限制/取消)
- 创建时间
- 限制时间(如有限制)
5. **内容表** (articles)
- 内容ID
- 标题
- 内容
- 所属版块ID
- 内容类型(城市信息/历史/文化/实用/生活)
- 提交者ID
- 版主审核人ID
- 版主审核时间
- 版主审核状态(待审核/通过/拒绝)
- AI审核状态待审核/通过/拒绝)
- AI审核时间
- 发布状态(未发布/已发布)
- 创建时间
- 更新时间
6. **特色服务表** (featured_services)
- 服务ID
- 服务名称
- 服务描述
- 所属版块ID
- 服务分类(衣/食/住/行/娱乐/旅游/文化)
- 提交者ID
- 版主审核人ID
- 版主审核时间
- 版主审核状态(待审核/通过/拒绝)
- AI审核状态待审核/通过/拒绝)
- AI审核时间
- 发布状态(未发布/已发布)
- 创建时间
- 更新时间
7. **评论表** (comments)
- 评论ID
- 评论内容
- 评论对象ID文章ID或特色服务ID
- 评论对象类型(文章/特色服务)
- 评论者ID
- AI审核状态待审核/通过/拒绝)
- 创建时间
8. **收藏表** (favorites)
- 收藏ID
- 用户ID
- 收藏对象ID城市ID或特色服务ID
- 收藏对象类型(城市/特色服务)
- 创建时间
9. **评分表** (ratings)
- 评分ID
- 用户ID
- 评分对象ID城市ID或特色服务ID
- 评分对象类型(城市/特色服务)
- 评分值
- 创建时间
10. **点赞表** (likes)
- 点赞ID
- 用户ID
- 点赞对象ID文章ID或特色服务ID
- 点赞对象类型(文章/特色服务)
- 创建时间
11. **版主支持表** (moderator_supports)
- 支持ID
- 支持者ID
- 版主申请ID
- 创建时间
12. **权限限制表** (permission_restrictions)
- 限制ID
- 操作者ID上级版主或管理员
- 被限制版主ID
- 限制类型(部分限制/完全限制)
- 限制开始时间
- 限制结束时间
- 创建时间
---
## 9. 技术实现要点
### 9.1 版主审核权限判断逻辑
用户A可以审核内容B的条件
1. 用户A是版主且权限状态为正常
2. 内容B的版块 == 用户A管辖的版块 或 内容B的版块在用户A管辖范围内
### 9.2 版块申请自动化逻辑
- 截止时间到达且支持人数不足 → 自动取消版主申请
- 版主申请取消后,相关支持记录保留但状态标记为已取消
### 9.3 内容审核流程自动化
- 版主审核通过 → 自动提交到AI审核队列
- AI审核完成 → 自动更新内容发布状态
### 9.4 支持人数统计
- 实时统计版主申请的支持人数
- 定期更新支持人数到版主申请表
---
## 10. 待确认细节
以下细节待进一步确认:
1. **版块申请截止时间和支持人数**
- 征集期具体时长?
- 多少人数算"足够支持人数"
2. **评分机制**
- 评分采用几星制1-5星
- 评分是否需要写评价?
3. **城市信息数据字段**
- 固定模板 vs 灵活标签
4. **AI审核拒绝后的处理**
- 提交者能看到拒绝原因吗?
- 是否可以申诉?
5. **分享卡片生成**
- 卡片样式和内容格式?
6. **版主权限限制的具体逻辑**
- 部分限制限制哪些权限?
- 限制的最长时限?
---
## 11. 版本规划
### 1.0MVP
- 基础网站功能
- 少数样板城市
- 用户系统
- 评论、评分、点赞、收藏、分享
- 版主申请和审核机制
- 内容审核流程(版主+AI
### 后续版本
- 扩展更多城市
- 移动App开发
- 多语言支持
- 数据抓取工具
- 商家入驻功能
- 高级统计和分析
---
## 12. 文档版本
| 版本 | 日期 | 说明 |
|------|------|------|
| 1.0 | 2026-04-09 | 初始版本 |