# 图片收集小程序需求文档 ## 1. 产品概述 ### 1.1 产品名称 图片收集小程序 ### 1.2 产品定位 专为企业内部设计的图片收集与管理工具,用于上级公司统一收集、整理和管理各下级部门提交的图片资料。 ### 1.3 产品目标 - 提供便捷的图片上传功能,支持多部门、多用户操作 - 建立统一的图片管理体系,便于分类、查询和统计 - 简化图片审核流程,提高工作效率 - 确保图片资料的安全存储和访问权限控制 ## 2. 用户分析 ### 2.1 用户角色 - **管理员**:系统最高权限,负责用户管理、系统配置、部门管理 - **信息员**:负责发表收集任务,指定要收集的部门,同时审核图片是否符合要求,查询任务进度 - **部门负责人**:可同时管理多个部门,对所有管理部门的图片上传、审核和查询拥有权限 - **普通用户**:仅能上传本部门图片并查看自己上传的图片状态 ### 2.2 用户痛点 - 传统邮件或聊天软件传输图片效率低下,易丢失 - 图片资料分散,难以统一管理和查找 - 缺乏有效的审核机制,无法确保图片质量 - 难以追踪图片提交进度和完成情况 ## 3. 功能需求 ### 3.1 用户管理模块 - **用户注册/登录**:支持手机号注册,验证码登录 - **角色分配**:管理员可设置用户角色(管理员、信息员、部门负责人、普通用户) - **部门管理**:管理员可创建、编辑、删除部门信息 - **用户绑定部门**:管理员可将用户分配到一个或多个部门,支持一个用户管理多个部门的场景 ### 3.2 图片上传模块 - **单张/批量上传**:支持选择本地图片单张上传或多张批量上传 - **图片预览**:上传前可预览图片 - **图片信息填写**:上传时需填写图片标题、描述、分类标签等信息 - **上传状态显示**:显示上传进度和结果 - **失败重试机制**:上传失败时支持重试 ### 3.3 图片审核模块 - **待审核列表**:显示所有待审核的图片,信息员和管理员可查看所有待审核图片,部门负责人可查看其负责的所有部门的待审核图片 - **审核操作**:支持通过或拒绝,拒绝时需填写原因(信息员、部门负责人和管理员均有审核权限) - **审核历史记录**:记录每张图片的审核状态和审核人 - **批量审核**:支持多张图片批量审核 ### 3.4 图片管理模块 - **图片列表**:显示所有图片,支持分页(管理员和信息员可查看所有图片,部门负责人可查看其负责的所有部门的图片,普通用户仅可查看自己上传的图片) - **图片分类**:按部门、分类标签等进行分类展示 - **搜索功能**:支持按图片标题、描述、上传人、日期等条件搜索,部门负责人可按负责部门筛选 - **图片查看**:点击图片可放大查看详细信息 - **图片删除**:管理员和部门负责人可删除各自权限范围内的图片 - **图片统计**:显示各部门图片上传数量、审核通过率等统计信息(管理员和信息员可见全部,部门负责人可见其负责部门的统计) - **收集任务管理**:信息员可创建、编辑、删除图片收集任务,指定任务名称、描述、截止时间、目标部门等信息 ### 3.5 消息通知模块 - **审核通知**:图片审核结果通过小程序消息通知用户 - **任务提醒**:提醒用户完成图片上传任务 - **系统通知**:发布系统公告和重要信息 ## 4. 非功能需求 ### 4.1 性能需求 - **响应时间**:页面加载时间不超过3秒 - **并发处理**:支持至少500名用户同时在线使用 - **上传速度**:5MB图片上传时间不超过10秒 - **图片格式与大小**:支持JPG、PNG、WEBP格式,单张图片大小不超过10MB,建议使用压缩后的图片以提高加载速度 ### 4.2 安全需求 - **数据加密**:用户密码加密存储,图片传输加密 - **访问控制**:基于角色的访问控制,确保数据安全 - **数据备份**:定期对图片数据进行备份 ### 4.3 兼容性需求 - **设备兼容**:支持主流手机型号(iOS 13+,Android 8+) - **网络环境**:支持WiFi和4G/5G网络环境 ### 4.4 可用性需求 - **界面简洁**:操作流程简单明了,易于上手 - **错误提示**:提供清晰的错误提示和操作引导 - **离线功能**: - 支持在无网络环境下缓存已上传的图片信息 - 支持在离线状态下编写图片描述和标签,待网络恢复后自动提交 - 提供离线任务提醒功能 ## 5. 数据需求 ### 5.1 用户数据 - 用户ID、手机号、密码(加密)、姓名、角色、所属部门列表(支持多部门关联)、注册时间、最后登录时间 ### 5.2 部门数据 - 部门ID、部门名称、负责人ID列表(支持多负责人)、创建时间、描述 ### 5.3 图片数据 - 图片ID、图片URL、标题、描述、上传者ID、所属部门ID、上传时间、审核状态、审核人ID、审核时间、分类标签 ### 5.4 任务数据 - 任务ID、任务名称、任务描述、创建人ID(信息员)、创建时间、截止时间、目标部门ID列表、任务状态、完成情况统计 ### 5.5 操作日志数据 - 日志ID、操作人ID、操作类型、操作时间、操作对象、操作结果 ## 6. 界面设计 ### 6.1 整体风格 - 简洁、专业,符合企业形象 - 主色调:蓝色系(代表专业、信任) - 辅助色:灰色系(用于中性背景和次要元素) ### 6.2 主要页面 - **登录页**:简洁的登录界面,包含手机号输入框、验证码输入框和登录按钮 - **首页**: - 管理员/信息员:显示待处理任务、统计图表、最新上传图片 - 部门负责人:可切换查看所有管理部门的待处理任务、待审核图片、部门图片统计 - 普通用户:显示个人待完成任务、我的上传图片列表 - **上传页**:简洁的图片选择区域、信息填写表单,可选择关联任务 - **图片列表页**:图片卡片式展示,支持筛选和搜索 - **图片详情页**:大图展示、详细信息、审核状态、关联任务 - **审核页**:待审核图片列表、快速审核按钮 - **任务管理页**(信息员专属):任务列表、创建任务、任务详情、任务进度统计 - **任务详情页**:显示任务信息、参与部门、提交状态统计、相关图片列表 - **个人中心**:用户信息、我的上传、消息通知等 - **管理中心**:用户管理、部门管理、系统设置等 ## 7. 技术实现建议 ### 7.1 前端技术 - **开发工具**:HBuilderX - **开发框架**:uni-app - **后台管理框架**:uni-admin - **UI框架**:uView - **技术要点**: - 采用组件化开发提高代码复用性 - 使用Vue.js语法规范 - 遵循uni-app项目结构规范 - 利用uView组件库构建统一的UI界面 - 利用uni-app跨平台能力适配不同端 - 前端权限控制与后端权限管理保持一致 - 后台管理页面遵循uni-admin的界面设计规范 ### 7.2 后端技术 - **云开发平台**:uni-cloud - **数据库**:uniCloud数据库 - **文件存储**:uniCloud云存储 - **后端逻辑**:云函数(JavaScript/TypeScript) - **数据安全**: - 利用uniCloud数据库权限规则控制数据访问 - 敏感数据加密存储 - 实现基于角色的权限控制 - 关键操作记录审计日志 ### 7.3 API设计 - 基于uniCloud云函数的API设计 - 统一的错误处理机制 - 定义统一的错误码体系 - 提供友好的错误提示信息 - 记录详细的错误日志用于调试 - 完善的接口文档 - 利用uniCloud权限控制实现用户鉴权 - 支持请求缓存和限流机制 ## 8. 项目实施计划 ### 8.1 开发阶段 - 需求分析与设计:2周 - 详细功能设计 - 数据库设计 - 接口设计 - UI原型设计 - 前端开发:4周 - 基础框架搭建 - 小程序端开发 - 后台管理端(uni-admin)开发 - UI组件封装与优化 - 后端开发:4周 - uni-cloud环境配置 - 数据库表结构设计 - 云函数开发 - 权限体系实现 - 联调测试:2周 - 功能测试 - 性能测试 - 兼容性测试 - 安全测试 ### 8.2 上线计划 - 内部测试:1周 - 修复bug - 性能优化 - 试点部门使用:1周 - 收集反馈 - 迭代优化 - 全公司推广使用:持续进行 - 用户培训 - 系统维护与升级 ## 9. 风险评估与应对策略 ### 9.1 潜在风险 - 用户操作不熟悉导致使用困难 - 图片存储容量和成本控制 - 网络环境不佳影响上传体验 ### 9.2 应对策略 - 提供详细的使用指南和在线帮助 - 制定合理的存储策略,定期清理无效图片 - 优化上传机制,支持断点续传 ## 10. 附录 ### 10.1 术语定义 - 图片分类:为便于管理,根据图片内容或用途设定的标签 - 审核状态:包括待审核、已通过、已拒绝 - 部门负责人:可同时负责管理多个部门的用户和图片审核的人员,系统支持一个用户关联多个部门 - 信息员:负责创建收集任务并审核图片的人员 - 收集任务:由信息员创建的特定图片收集活动,包含任务要求、截止时间和目标部门 ### 10.2 参考资料 - 微信小程序开发文档 - 企业信息管理系统最佳实践 --- 本文档为初步需求分析,实际开发过程中可能根据具体情况进行调整和完善。