- 加载页面:实现数据的加载,数据结构是一个data对象,包含items数组
- list:管理items的增删查
- items:页面多个
- 设计数据结构
- electron实现
- 数据载入功能实现
- item的id使用Date.now()即毫秒数
- list页面实现
- 设置页面功能
- 按照windows sticky的逻辑实现
- list页面的search+高亮功能实现
- 思考model和view的同步问题,和数据相关全部放到主进程管理
- handle考虑全部放到main进程管理处,itemWindow的focus和打开已经放到主进程管理了
- 实现了右键菜单的动态生成,未实现关闭和删除功能
- 思考数据和model的映射问题
- 在main.js做双向绑定功能,实现一个数据分发中心,管理item和list页面的数据同步问题
- 重构程序结构,按照推荐目前结构实现
- 置顶功能
- 新建窗口旋转偏移,避免覆盖
- 自动获取屏幕的最大范围,避免创建的窗口消失
- 开机自启动
- css美化
- 托盘图标及菜单
- 程序图标
- 打包发布
- 如何区分开发和正式环境
- 修复任务栏显示item窗口图标问题
- 修复非单例启动问题
- 考虑是否使用moment.js
- 程序启动时,加载data数据,然后有一个数据载入窗口,一闪而过。
- 只要程序没关闭,数据的增删查改都通过渲染进程间传递数据,进行视图的更新。
- 多页面间共享数据,采取ipc通信方式,main存放一个全局数据,每次更新。
- 加入close状态,开关item时候更新,一个是main窗口list列表需要更新,一个是每个item需要更新,初始化程序时按照状态显示item窗口
- 如果item全没开,就必开main窗口的list,否则按照正常的close状态默认开启窗口
- item是否绑定到窗口上?是的
- css需要动态注入
- 将loadWindow的标题栏和窗口统一颜色
- 关闭itemWindow存在问题,判断空时,删除还未完成
- item的key值在点击时创建,同时发出事件更新主数据和别的视图
- setting全局设置,键值对储存;
- items储存数据;
默认配置好,然后程序只更新
- 打开新itemWindow
- 关闭当前itemWindow。关闭前检查:如有内容,则更新状态。如无内容,则删除item对应的db条目。
- 保存当前itemWindow的内容,并通知listWindow,更新对应条目的内容
- 删除当前itemWindow内容,并关闭itemWindow
- 点击更改颜色
- 更改透明度
- 显示listWindow,如已经显示,则focus
- 点击置顶
- 打开新的itemWindow
- 双击item打开对应的itemWindow,如果已经开了,则focus
- 输入搜索内容,自动搜索,filter列表中的item,并高亮搜索词
- 点击设置按钮,转到设置页面,更改设置项后,保存并更新前端显示
- 右键点击item或者hover到item上面,出现close、open或删除的操作
- 右键菜单打开对应的itemWindow
- 右键菜单删除对应的itemWindow
- 右键菜单关闭对应的itemWindow