人工智能编程之复杂功能描述样本(待办任务)
需求点0:任务管理
功能点0.1:创建与管理任务
执行点0.1.1:创建任务
用户操作
- 在主应用界面(如首页或"任务"标签页)点击"+"或"添加任务"按钮。
- 进入任务创建表单,填写以下信息:
- 基础信息:输入任务标题(必填)、任务描述(可选)。
- 核心属性 :
优先级:从【低 | 中 | 高 | 紧急】中选择,或通过拖动设定具体优先级数值。截止时间:点击日期时间选择器,设置任务截止的年月日时分。可选择"不设置"。预计耗时:输入完成任务预计需要的时间(如"2小时")。
- 组织信息:从已有列表中选择任务所属的"项目"或"清单",添加一个或多个"标签"。
- 附属信息:上传相关附件(如图片、文档),添加子任务检查清单。
- 填写完毕,点击"保存"或"创建"提交。
系统逻辑
- 前端验证:在提交前对表单进行严格校验。包括:任务标题非空校验;截止时间不早于当前时间的逻辑校验;优先级值在预设枚举范围内的格式校验;预计耗时符合"数字+单位"等预期格式校验;标签名称长度和单个任务标签总数不超过配置上限的校验;附件格式与大小校验。
- 创建记录 :验证通过后,将任务数据提交至后端,创建一条新任务记录,默认状态为"未开始"。
- 生成提醒:根据设定的截止时间和用户设置的相对规则(如"截止前1小时"),自动计算并生成一个日历提醒事件(如果用户开启了相关设置)。
- 结果反馈:创建成功后,前端刷新任务列表,或跳转至新创建的任务详情页。
关键配置参数
默认优先级:创建新任务时默认选中的优先级。是否自动为有截止时间的任务创建提醒:全局开关。单个任务最大标签数量:如10个。标签名称最大长度:如20个字符。支持上传的附件格式与大小限制:如 图片:jpg, png ≤5MB;文档:pdf, docx ≤10MB。
执行点0.1.2:查看与编辑任务清单
用户操作
- 在"任务"或"收件箱"主视图,上下滑动浏览任务列表。列表项通常显示任务标题、优先级标签、截止日期、所属项目等概要信息。
- 点击任一任务列表项,进入该任务的详情页,查看完整信息。
- 在任务详情页,点击"编辑"按钮。
- 进入编辑模式,表单已预填原有信息。用户可修改任何字段。
- 修改完成后,点击"保存"。
系统逻辑
- 列表加载:进入列表页时,系统根据默认视图(如"今天"、"所有"或所选项目)加载任务列表,按优先级和截止时间等规则排序。
- 详情获取:进入任务详情页时,从后端获取该任务的所有关联数据(详情、附件、子任务、评论等),确保信息最新。
- 数据同步 :用户保存编辑后,系统更新该任务记录,并记录编辑历史。关键点:系统需通过WebSocket或类似技术,向所有打开了相关视图(如该任务所属的项目视图、筛选视图)的客户端前端广播数据变更事件,或在前端返回列表页时触发自动刷新,以确保列表、日历、看板等所有关联视图中的任务信息同步更新。
- 时间修改联动:如果用户修改了任务的"截止时间",系统需自动、重新计算所有基于旧截止时间设置的"相对提醒"(如"截止前1小时"),并用新时间点替换原有提醒安排,同时取消旧的提醒计划。
状态规则
- 任何状态的任务均可查看和编辑。
- 编辑"已完成"或"已取消"状态的任务时,系统可给出提示,但通常允许修改。
执行点0.1.3:完成任务与状态流转
用户操作
- 快速完成 :在任务列表页,找到目标任务,点击其左侧的"复选框"或右侧的"完成"按钮。
- 详情页完成 :在任务详情页,找到并点击"标记为完成"按钮。
- 操作成功后,任务项通常会显示删除线或移至"已完成"列表。
系统逻辑
- 状态更新 :接收任务完成请求,校验任务当前状态。将任务状态更新为"已完成",并记录完成时间。
- 触发衍生操作 :
a. 周期性任务 :如果该任务关联了周期性规则,则根据规则自动创建下一个周期的任务实例。
b. 清理提醒 :解除所有与该任务关联的未触发提醒。
c. 数据重组:在"已完成"视图中增加此任务记录。若配置了"自动归档",则将其移入归档区。 - 顺序控制:操作顺序建议为:先进行核心状态更新,然后触发衍生操作(生成新周期任务、清理提醒),最后进行数据重组与通知。
- 结果通知:向任务创建者、参与者发送任务完成通知(根据用户设置)。
状态与权限规则
- 前置状态:任务状态通常为"未开始"或"进行中"。
- 后置状态:操作成功后,任务状态变为"已完成"。
- 逆向操作:用户可再次点击复选框或将任务从"已完成"列表拖出,以将状态改回"进行中"或"未开始"。
关键配置参数
任务完成后是否自动归档:可配置任务完成后是否自动移入归档区。
功能点0.2:组织与筛选任务
执行点0.2.1:为任务分类与打标签
用户操作
- 在创建或编辑任务时,找到"标签 "或"分类"字段。
- 点击输入框,从下拉列表中选择已有标签,或直接输入新标签名称后按回车创建。
- (可选)在专门的"标签管理"页面,创建、编辑或删除全局标签。
系统逻辑
- 智能提示 :当用户输入标签时,系统基于缓存(如用户个人标签集)进行前缀匹配,实时提示已有的相似标签,并按使用频率或最近使用时间排序。
- 标签创建与关联:当用户输入新标签并确认时,系统在后台创建此标签(若尚未存在),并将其与当前任务关联。
- 全局管理:在标签管理页面,用户对标签的增删改操作会同步到所有使用了该标签的任务。
关键配置参数
单个任务最大标签数量:如10个。标签名称最大长度:如20个字符。
执行点0.2.2:应用高级筛选与搜索
用户操作
- 在任务列表页顶部,点击"筛选"或"漏斗"图标。
- 在展开的面板中,设置筛选条件:
- 状态:选择"未开始"、"进行中"、"已完成"等(可多选)。
- 优先级:选择一个或多个优先级。
- 项目/清单:从列表中选择(可多选)。
- 标签:从标签云或列表中选择(可多选)。
- 日期范围:设置开始日期和截止日期范围。
- 点击"应用 "使筛选生效,或点击"重置"清空条件。
- 搜索:在顶部的搜索框输入关键词,系统将实时筛选标题、描述中包含该关键词的任务。
系统逻辑
- 查询转换 :用户应用筛选条件后,系统将条件转化为查询参数。核心逻辑 :不同维度(状态、优先级等)之间为"与"(AND)关系,同一维度内多选为"或"(OR)关系。例如,筛选"状态为'未开始'或'进行中'"且"优先级为'高'"的任务,对应的后端查询条件为:
(status = '未开始' OR status = '进行中') AND priority = '高'。 - 组合查询:搜索关键词与筛选条件可组合使用,在任务标题、描述、备注等字段进行模糊匹配。
- 列表刷新:向后端发送新的查询请求,获取并刷新任务列表。
关键配置参数
可保存的筛选器模板数量上限:如用户可保存5个自定义筛选视图。
需求点1:任务协同
功能点1.1:共享任务与指派
执行点1.1.1:共享任务或项目
用户操作
- 在任务或项目详情页,点击"共享"或"协作"按钮。
- 在共享设置面板,选择共享方式:【通过链接分享 】或【指定协作者】。
- 若选择链接分享:设置链接权限(如"可编辑"、"仅查看")、有效期,然后复制链接或通过其他应用分享。
- 若指定协作者:输入协作者的邮箱、用户名或从联系人中选择,为其设置权限(如"编辑者"、"评论者"、"查看者"),点击"发送邀请"。
系统逻辑
- 链接分享:生成一个唯一的、不可猜测的(如使用UUID)、含权限和有效期信息的分享链接。访问时验证链接有效性及权限。
- 指定协作者:向被邀请者发送通知。对方接受后,将其加入协作者列表。
- 安全与控制 :
a. 分享者可随时"撤销"任何已生成的分享链接,使其立即失效。
b. 系统记录通过分享链接的访问日志。
c. 链接应有过期时间,超时后自动失效。
关键配置参数
可设置的协作者权限等级:如"所有者"、"编辑者"、"评论者"、"查看者"。公开链接默认有效期:如7天。是否允许公开链接分享:全局开关。
执行点1.1.2:指派任务给他人
用户操作
- 在任务详情页的"负责人"字段,点击"未指派"或当前负责人头像。
- 从弹出的成员列表(通常为项目成员或团队联系人)中选择一位用户。
- (可选)在指派同时,添加一条评论或说明。
- 点击"确认"完成指派。
系统逻辑
- 确定可指派列表 :列表数据来源于该任务所在的项目或团队的成员列表。系统会进行筛选,通常排除当前用户自己,并只包含与当前用户在该任务或项目上有协作关系的有效成员。
- 更新与通知 :更新任务的
负责人字段。关键点:向被指派者发送任务指派通知,通知中应包含任务标题、指派人、截止时间等关键信息。同时,该任务应出现在被指派者的"指派给我"列表中。
状态规则
- 通常只有任务的创建者、项目管理员或拥有"编辑者"以上权限的协作者才能进行指派。
- 一个任务在同一时间只能有一个负责人。
需求点2:提醒与集成
功能点2.1:管理任务提醒
执行点2.1.1:设置个性化任务提醒
用户操作
- 在创建或编辑任务时,找到"提醒"设置区域。
- 点击"添加提醒",选择提醒时间方式:
- 绝对时间:选择具体的日期和时间。
- 相对时间:基于截止时间设置,如"截止前1小时"、"截止当天早上9点"。
- (可选)为同一任务添加多个提醒。
- (可选)在"设置-通知"中,统一配置所有提醒的默认提前量、是否允许推送、是否允许邮件通知等。
系统逻辑
- 时间计算:将用户设置的相对时间规则,基于任务的截止时间,转换为具体的、未来的绝对时间点。
- 提醒触发:在达到提醒时间点时,根据用户的全局通知设置,触发应用内推送、系统通知或邮件提醒。
- 状态联动:如果任务在提醒触发前被标记为完成或取消,则自动取消所有该任务的待触发提醒。
- 时间修改联动:当任务截止时间被修改时,自动重新计算所有基于旧截止时间的"相对提醒",并用新时间点替换原有安排。
关键配置参数
默认提醒时间:如"截止前1小时"。单个任务最大提醒数量:如3个。支持的通知渠道:可配置开启或关闭应用推送、邮件、短信等。
功能点2.2:集成日历视图
执行点2.2.1:在日历视图中查看任务
用户操作
- 在应用内点击"日历"标签或视图切换按钮,进入日历视图。
- 日历默认显示月视图,有截止日期的任务会在对应日期上以小圆点或数量角标显示。
- 点击切换为周视图 或日视图,以查看更详细的时间安排。任务会以事件块的形式显示在其截止日期的时间轴上。
- 点击日历上的任一任务事件块,可弹出浮层显示任务概要,并可点击进入任务详情页。
系统逻辑
- 数据查询:进入日历时,系统查询当前用户所有状态为"未开始"和"进行中"且设有截止日期的任务。
- 事件渲染 :
- 月视图:在对应日期上做标记。
- 周/日视图 :
a. 对于同时设置了"预计开始时间"和"截止时间"的任务,在时间轴上绘制从开始到结束的时间块。
b. 对于只有"截止时间"的任务,采用预设策略渲染。常见策略有:1) 视为"全天事件"显示在日期顶部;2) 以截止时间为锚点,向前延伸一个默认时长(如2小时)绘制时间块。具体策略应由系统设计确定。
- 可视化区分:事件块的颜色或图标可区分任务优先级、所属项目或状态。
- 交互支持:支持从日历视图直接拖拽任务事件块以快速修改任务的截止日期。
关键配置参数
日历默认视图:可配置为"月"、"周"或"日"。日历事件同步范围:可配置同步哪些状态的任务。仅含截止时间的任务渲染策略:可配置为"全天事件"或"截止前N小时浮动块"。