实现一个 todo 管理功能,方便记录和跟踪待办事项。 同时能够集成日历功能,方便通过日历视图查看和管理待办事项。
代码规范
- 使用 Golang gin 实现
- model 结构体放在 models 目录下, todo.go 文件中
- 建表语句,或改表语句,生成 MYSQL SQL 脚本,放到 models/todo.go 底部注释中
- todo 管理,不需要 ant design 的后台管理功能
- 前端使用 vue2 实现,在 templates 目录下新建 todos.html 作为 todo 管理页面。使用单个页面实现增删改查功能
- todo 页面路由为 /tools5/todos
- todo 页面需要添加 Basic Auth 认证
- 不要使用 css 框架,使用最简单的样式 + emoji 图标即可
- js 代码放到 html 页面底部 script 标签中
- todo 页面需要分页展示,每页 10 条
- 界面需要手机自适应。
- 日历视图只需要周视图即可,默认只展示最近三天的日历视图。方便手机上查看
- 可以设置任务的时间段,例如 2024-06-01 14:00 到 15:00, 默认为今天日期的下个小时开始,到下下个小时结束
- 页面侧边栏默认展示今天的时间线视图,按照时间顺序展示今天的任务,没有任务的时间段也需要展示出来。默认展示从 8:00 到 22:00 的时间段。
- 未完成任务,默认展示在顶部,已完成任务展示在底部
- 增加一键删除所有已完成任务按钮
- 点击任务名称,可以编辑任务名称和时间段,及日期
- 手机自适应问题:手机端,新建任务的时间段区域超出屏幕宽度;编辑区域整个宽度超出屏幕。需要优化
- 开始时间和结束时间,手机自适应界面下,可以放在一行。
- 修改了开始时间,需要自动调整结束时间,保持默认的持续时间不变
- 新建 todo 报错:parsing time "2025-12-31 08:00:00" as "2006-01-02T15:04:05Z07:00": cannot parse " 08:00:00" as "T"
- 需要修正一下时区问题,前端显示以中国时区为准。目前的点击日期选择,对应的时区是错误的。
- 顶部的日期选择功能区域,需要展示当前日期先后各一周的日期,方便快速选择日期。默认定位到今天日期
- 待办事项的排序,需要按照时间排序。排序规则:未完成的任务在前,已完成的任务在后;未完成的任务,按照开始时间排序,开始时间相同,按照创建时间排序;已完成的任务,按照完成时间排序,完成时间相同,按照创建时间排序
关于作者 🌱
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式