# gover_report **Repository Path**: big-data-little-yang/gover_ ## Basic Information - **Project Name**: gover_report - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-23 - **Last Updated**: 2026-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 政务问题反映平台 基于 **Django REST Framework**(后端)+ **微信小程序**(前端)的政务民生问题上报与处理平台。市民可通过小程序随时随地反映城市管理问题,政务工作人员可在后台进行受理、分派、处理和公示。 ## 项目结构 ``` gov_report/ ├── gov_report/ # Django 项目配置 │ ├── settings.py # 配置文件 │ ├── urls.py # 主路由 │ ├── wsgi.py / asgi.py │ └── __init__.py ├── user/ # 用户模块(微信登录、个人信息) ├── common/ # 公共模块(区域、部门、分类、图片上传) ├── problem/ # 核心模块(问题上报/处理记录/评价) ├── notice/ # 公示栏模块 ├── docs/ # 文档 │ ├── API.md # API 接口文档 │ ├── ARCHITECTURE.md # 架构设计 │ ├── DEPLOY.md # 部署指南 │ └── DEVELOP.md # 开发指南 ├── frontend/ # 微信小程序前端(如整合到同一仓库) │ └── pages/ # 页面目录 │ ├── login/ # 微信登录 │ ├── index/ # 首页(公示列表) │ ├── report/ # 问题上报 │ ├── detail/ # 问题详情 │ └── ... # 更多页面 ├── manage.py # Django 管理命令 ├── requirements.txt # Python 依赖 ├── init_data.py # 数据初始化脚本 ├── README.md # 项目说明 └── LICENSE # 开源许可证 ``` > **提示**:前端(微信小程序)代码目前位于独立的 `E:\前端学习\gov_report` 目录。发布到 GitHub 时有两种选择: > 1. **单仓库**:将前端代码复制到本项目的 `frontend/` 子目录 > 2. **双仓库**:前后端分别建立独立仓库(推荐) ## 功能特性 | 模块 | 功能 | 说明 | |------|------|------| | 👤 用户系统 | 微信一键登录 | 基于微信 OpenID 自动注册/登录,支持 Token 认证 | | | 个人信息管理 | 昵称、头像、手机号、匿名默认设置 | | 📋 问题上报 | 多级分类 | 支持二级分类,自动匹配处理部门 | | | 地图定位 | 获取当前位置经纬度,选择详细地址 | | | 图片上传 | 多图上传(最多 9 张) | | | 匿名上报 | 支持匿名/实名切换 | | 🔄 处理流程 | 状态流转 | 待受理 → 已受理 → 处理中 → 已办结/驳回 | | | 处理记录 | 每一步操作自动生成记录,形成时间轴 | | ⭐ 评价系统 | 五星评分 | 已办结问题可进行满意度评价 | | | 复验图片 | 评价时可上传复验图片 | | 📢 公示栏 | 已办结公示 | 已办结问题自动展示在首页 | | 🔧 管理后台 | SimpleUI 界面 | 基于 SimpleUI 的现代化管理后台 | ## 技术栈 ### 后端 | 技术 | 用途 | |------|------| | Python 3.10+ | 编程语言 | | Django 5.2+ | Web 框架 | | Django REST Framework | RESTful API | | SimpleUI | 后台管理界面美化 | | SQLite3(开发)/ PostgreSQL(生产) | 数据库 | | django-cors-headers | 跨域支持 | | druid (drf-yasg替代) | API 文档 | ### 前端 | 技术 | 用途 | |------|------| | 微信小程序原生 | 前端框架 | | Vant Weapp | UI 组件库 | | 腾讯地图 SDK | 地图定位 | ## 快速开始 ### 环境要求 - Python 3.10+ - 微信开发者工具 - 微信小程序 AppID ### 1. 克隆项目 ```bash git clone https://github.com/your-username/gov_report.git cd gov_report ``` ### 2. 配置虚拟环境 ```bash # 创建虚拟环境 python -m venv venv # Windows venv\Scripts\activate # macOS / Linux source venv/bin/activate ``` ### 3. 安装依赖 ```bash pip install -r requirements.txt ``` ### 4. 配置微信小程序参数 编辑 `gov_report/settings.py`,替换为你自己的微信小程序配置: ```python WECHAT_MINI_APP_ID = '你的AppID' WECHAT_MINI_APP_SECRET = '你的AppSecret' ``` ### 5. 数据库迁移 ```bash python manage.py makemigrations python manage.py migrate ``` ### 6. 创建超级管理员 ```bash python manage.py createsuperuser ``` ### 7. 初始化基础数据 ```bash python manage.py shell < init_data.py ``` 基础数据包括: - 区域数据(省/市/区/街道) - 责任部门 - 问题分类(一级+二级,绑定部门) ### 8. 启动开发服务器 ```bash python manage.py runserver 0.0.0.0:8000 ``` ### 9. 小程序配置 在微信开发者工具中打开 `gov_report/frontend/` 目录,注意: - 修改 `utils/request.js` 中的 `baseUrl` 为你的后端地址 - 在微信公众平台设置 `request合法域名` - 如需使用地图,配置 `腾讯地图` 相关密钥 ## API 文档 所有 API 接口文档请参考 [docs/API.md](docs/API.md),主要接口概览: | 接口 | 方法 | 说明 | |------|------|------| | `/api/user/login/` | POST | 微信小程序登录 | | `/api/user/info/` | GET/PUT | 用户信息获取与修改 | | `/api/common/area/` | GET | 获取区域列表(四级联动) | | `/api/common/cate/` | GET | 获取问题分类(二级分类) | | `/api/common/dept/` | GET | 获取责任部门 | | `/api/common/upload/image/` | POST | 图片上传 | | `/api/problem/submit/` | POST | 提交问题 | | `/api/problem/list/` | GET | 我的上报列表 | | `/api/problem/detail/:id/` | GET | 问题详情 | | `/api/problem/process/:id/` | GET | 处理记录 | | `/api/problem/evaluate/` | POST | 提交评价 | | `/api/notice/list/` | GET | 公示栏列表 | ## 部署指南 详见 [docs/DEPLOY.md](docs/DEPLOY.md) ### 生产环境建议 - 数据库:切换为 PostgreSQL - Web 服务器:Nginx + uWSGI/Gunicorn - 图片存储:迁移至 阿里云OSS / 腾讯云COS - HTTPS:配置 SSL 证书 - DEBUG=False:关闭调试模式 - SECRET_KEY:更换为生产环境的随机密钥 ## 开发计划 - [x] 用户微信登录 - [x] 问题上报(含图片、定位) - [x] 问题处理流程 - [x] 五星评价系统 - [x] 公示栏 - [ ] 消息推送通知 - [ ] 数据统计仪表盘 - [ ] 网格化管理 - [ ] 多语言支持 ## 贡献 欢迎提交 Issue 和 Pull Request 参与项目贡献。 ## 许可证 [MIT](LICENSE)