|
|
|
|
@ -23,16 +23,17 @@
|
|
|
|
|
- ✅ Google Tasks云同步
|
|
|
|
|
- ✅ 密码保护(图案锁 + 密码验证)
|
|
|
|
|
- ✅ 笔记锁定功能
|
|
|
|
|
- ✅ 笔记置顶功能
|
|
|
|
|
- ✅ 数据备份和恢复
|
|
|
|
|
- ✅ 桌面小部件(2x2, 4x4)
|
|
|
|
|
- ✅ 搜索功能(ContentProvider支持)
|
|
|
|
|
- ✅ 回收站功能
|
|
|
|
|
- ✅ 多语言支持(简体中文、繁体中文、英文)
|
|
|
|
|
- ✅ 材料设计UI(Material Design 3)
|
|
|
|
|
- ✅ 待办任务管理(TaskListActivity/TaskEditActivity)
|
|
|
|
|
- ✅ 撤销/重做功能(UndoRedoManager)
|
|
|
|
|
- ✅ 搜索历史管理(SearchHistoryManager)
|
|
|
|
|
- ✅ 笔记置顶功能
|
|
|
|
|
- ✅ 数据备份和恢复
|
|
|
|
|
- ✅ 桌面小部件(2x2, 4x4)
|
|
|
|
|
- ✅ 搜索功能(ContentProvider支持)
|
|
|
|
|
- ✅ 回收站功能
|
|
|
|
|
- ✅ 多语言支持(简体中文、繁体中文、英文)
|
|
|
|
|
- ✅ 材料设计UI(Material Design 3)
|
|
|
|
|
- ✅ 待办任务管理(TaskListActivity/TaskEditActivity)
|
|
|
|
|
- ✅ 撤销/重做功能(UndoRedoManager)
|
|
|
|
|
- ✅ 搜索历史管理(SearchHistoryManager)
|
|
|
|
|
- ✅ 阿里云EMAS云同步(用户注册、登录、多设备同步)
|
|
|
|
|
|
|
|
|
|
**富文本编辑功能**:
|
|
|
|
|
- ✅ 粗体、斜体、下划线
|
|
|
|
|
@ -53,11 +54,11 @@
|
|
|
|
|
- ✅ LiveData响应式数据更新
|
|
|
|
|
- ✅ ContentProvider标准API
|
|
|
|
|
- ✅ SQLiteOpenHelper数据库管理
|
|
|
|
|
- ✅ ExecutorService异步操作
|
|
|
|
|
- ✅ ViewBinding(100%迁移完成)
|
|
|
|
|
- ✅ 55个Java源文件
|
|
|
|
|
- ✅ 176个资源文件
|
|
|
|
|
- ✅ 数据库版本5(含10个触发器)
|
|
|
|
|
- ✅ ExecutorService异步操作
|
|
|
|
|
- ✅ ViewBinding(100%迁移完成)
|
|
|
|
|
- ✅ 55个Java源文件
|
|
|
|
|
- ✅ 176个资源文件
|
|
|
|
|
- ✅ 数据库版本V13(含10个触发器、云同步字段、TITLE字段)
|
|
|
|
|
|
|
|
|
|
### 项目统计
|
|
|
|
|
|
|
|
|
|
@ -67,28 +68,44 @@
|
|
|
|
|
| 资源文件 | 176个 | layout、values、drawable、menu、xml、raw、anim |
|
|
|
|
|
| Android组件 | 16个 | 10个Activity、3个Receiver、1个Service、2个Widget |
|
|
|
|
|
| 测试文件 | 4个 | 1个单元测试、2个数据层测试、1个集成测试 |
|
|
|
|
|
| 数据库表 | 2个 | note表(22字段)、data表(11字段) |
|
|
|
|
|
| 系统文件夹 | 4个 | 根(0)、临时(-1)、通话记录(-2)、回收站(-3) |
|
|
|
|
|
| 数据库表 | 2个 | note表(25字段)、data表(11字段) |
|
|
|
|
|
| 系统文件夹 | 4个 | 根(0)、临时(-1)、通话记录(-2)、回收站(-3) |
|
|
|
|
|
| 数据库版本 | V13 | 包含TITLE字段、云同步字段、CLOUD_NOTE_ID等 |
|
|
|
|
|
|
|
|
|
|
## 功能分类
|
|
|
|
|
|
|
|
|
|
### 核心功能 (Phase 1 - 已完成)
|
|
|
|
|
### 核心功能 (Phase 1 - 大部分已完成)
|
|
|
|
|
- ✅ 笔记创建和编辑(支持富文本)
|
|
|
|
|
- ✅ 笔记列表显示(左滑菜单:置顶、锁定、移动、删除、重命名)
|
|
|
|
|
- ✅ 文件夹管理(树形结构、面包屑导航)
|
|
|
|
|
- ✅ 笔记提醒(闹钟)
|
|
|
|
|
- ✅ 笔记背景颜色(10种预设 + 自定义 + 壁纸)
|
|
|
|
|
- ✅ 笔记字体样式(小/中/大/超大)
|
|
|
|
|
- ✅ 本地数据存储(SQLite + ContentProvider)
|
|
|
|
|
- ✅ 便签标题编辑(独立TITLE字段)
|
|
|
|
|
- ✅ 便签重命名(左滑菜单 + 编辑界面)
|
|
|
|
|
- ✅ 笔记锁定功能
|
|
|
|
|
- ✅ 笔记置顶功能
|
|
|
|
|
- ✅ 回收站功能
|
|
|
|
|
- ✅ 待办任务管理
|
|
|
|
|
- ✅ 撤销/重做功能
|
|
|
|
|
- ✅ 搜索历史
|
|
|
|
|
- ✅ Google Tasks同步
|
|
|
|
|
- ✅ 本地数据存储(SQLite + ContentProvider)
|
|
|
|
|
- ✅ 便签标题编辑(独立TITLE字段)
|
|
|
|
|
- ✅ 便签重命名(左滑菜单 + 编辑界面)
|
|
|
|
|
- ✅ 笔记锁定功能
|
|
|
|
|
- ✅ 笔记置顶功能
|
|
|
|
|
- ✅ 回收站功能
|
|
|
|
|
- ✅ 待办任务管理
|
|
|
|
|
- ✅ 撤销/重做功能
|
|
|
|
|
- ✅ 搜索历史
|
|
|
|
|
- ✅ 阿里云EMAS云同步
|
|
|
|
|
|
|
|
|
|
**标题字段修复 (2026-01-30)**:
|
|
|
|
|
- ✅ 修复 `insertFolder()` 未设置TITLE字段问题
|
|
|
|
|
- ✅ 创建V13数据库升级脚本(修复现有文件夹TITLE)
|
|
|
|
|
- ✅ 修复 `CloudNote.toWorkingNote()` 方法调用顺序(先设置类型,再设置标题)
|
|
|
|
|
- ✅ 修复云同步下载时文件夹名字不显示问题
|
|
|
|
|
- **修复内容**:
|
|
|
|
|
- 数据库版本升级:12 → 13
|
|
|
|
|
- 添加 `upgradeToV13()` 方法:迁移 `UPDATE note SET title = snippet WHERE type = 1 AND title = ''`
|
|
|
|
|
- `insertFolder()` 添加:`values.put(NoteColumns.TITLE, name);`
|
|
|
|
|
- `CloudNote.toWorkingNote()` 调整顺序:`note.setType(mType)` → `note.setTitle(mTitle)`
|
|
|
|
|
- **影响范围**:
|
|
|
|
|
- 模板文件夹创建时正确设置TITLE
|
|
|
|
|
- 云同步下载的文件夹正确设置SNIPPET(侧边栏显示)
|
|
|
|
|
- 新虚拟机同步后侧边栏文件夹名正常显示
|
|
|
|
|
|
|
|
|
|
## 短期扩展 (Phase 2 - 1-2个月)
|
|
|
|
|
|
|
|
|
|
@ -475,49 +492,91 @@
|
|
|
|
|
**优先级**: 低
|
|
|
|
|
**工作量**: 7-10天
|
|
|
|
|
|
|
|
|
|
#### 4.3 云同步和账号系统 ✅ 已实现基础版本
|
|
|
|
|
**描述**: 完善的数据备份和云同步机制
|
|
|
|
|
|
|
|
|
|
**用户需求**: 实现注册、登录和云同步
|
|
|
|
|
|
|
|
|
|
**当前状态**:
|
|
|
|
|
- ✅ Google Tasks 同步(已有账号系统)
|
|
|
|
|
- ✅ 手动备份(BackupUtils.java)
|
|
|
|
|
- ✅ 手动恢复
|
|
|
|
|
- ❌ 自定义账号系统(注册/登录)
|
|
|
|
|
- ❌ 云备份到自建服务器
|
|
|
|
|
- ❌ 多设备同步
|
|
|
|
|
|
|
|
|
|
**待实现功能点**:
|
|
|
|
|
- [ ] 自定义账号系统
|
|
|
|
|
- [ ] 用户注册(手机号/邮箱)
|
|
|
|
|
- [ ] 用户登录(密码 + 验证码)
|
|
|
|
|
- [ ] 密码找回
|
|
|
|
|
- [ ] 账号注销
|
|
|
|
|
- [ ] 账号安全设置(修改密码、绑定手机号)
|
|
|
|
|
- [ ] 云同步到自建服务器
|
|
|
|
|
- [ ] 自动同步(实时或定时)
|
|
|
|
|
- [ ] 手动同步
|
|
|
|
|
- [ ] 同步冲突解决
|
|
|
|
|
- [ ] 同步状态显示
|
|
|
|
|
- [ ] 多设备管理
|
|
|
|
|
- [ ] 查看已登录设备
|
|
|
|
|
- [ ] 远程登出设备
|
|
|
|
|
- [ ] 设备命名
|
|
|
|
|
- [ ] 备份文件加密
|
|
|
|
|
- [ ] 端到端加密
|
|
|
|
|
- [ ] 数据传输加密(HTTPS + 证书固定)
|
|
|
|
|
|
|
|
|
|
**技术方案**:
|
|
|
|
|
- 设计服务端(Node.js + MongoDB/PostgreSQL)
|
|
|
|
|
- 实现 REST API(用户认证、数据同步)
|
|
|
|
|
- 客户端集成 Retrofit + OkHttp
|
|
|
|
|
- 使用 JWT 或 OAuth 进行认证
|
|
|
|
|
- 实现增量同步算法
|
|
|
|
|
- 扩展现有 BackupUtils.java
|
|
|
|
|
|
|
|
|
|
**优先级**: 中
|
|
|
|
|
**工作量**: 10-15天(含服务端开发)
|
|
|
|
|
#### 4.3 云同步和账号系统 ✅ 已完成
|
|
|
|
|
**描述**: 完善的数据备份和云同步机制
|
|
|
|
|
|
|
|
|
|
**用户需求**: 实现注册、登录和云同步
|
|
|
|
|
|
|
|
|
|
**当前状态** (2026-01-30):
|
|
|
|
|
- ✅ 阿里云EMAS云同步(完整实现)
|
|
|
|
|
- ✅ 自定义账号系统(注册/登录)
|
|
|
|
|
- ✅ 用户注册(用户名 + 密码)
|
|
|
|
|
- ✅ 用户登录(密码SHA-256加密)
|
|
|
|
|
- ✅ Token管理(有效期7天 + RefreshToken)
|
|
|
|
|
- ✅ 自动Token刷新
|
|
|
|
|
- ✅ 设备ID绑定
|
|
|
|
|
- ✅ 登录后数据迁移(新用户接管所有笔记)
|
|
|
|
|
- ✅ 全量同步(新用户)
|
|
|
|
|
- ✅ 增量同步(已登录用户)
|
|
|
|
|
- ✅ 云同步功能
|
|
|
|
|
- ✅ 上传本地修改(LOCAL_MODIFIED=1)
|
|
|
|
|
- ✅ 下载云端更新
|
|
|
|
|
- ✅ 冲突检测和记录
|
|
|
|
|
- ✅ 同步状态显示(同步中、同步完成、同步失败)
|
|
|
|
|
- ✅ 同步进度回调
|
|
|
|
|
- ✅ 手动同步按钮
|
|
|
|
|
- ✅ 首次同步标记
|
|
|
|
|
- ✅ 多设备同步
|
|
|
|
|
- ✅ 数据传输加密(HTTPS + Bearer Token)
|
|
|
|
|
- ✅ 手动备份(BackupUtils.java)
|
|
|
|
|
- ✅ 手动恢复
|
|
|
|
|
|
|
|
|
|
**实现的核心文件**:
|
|
|
|
|
- `UserAuthManager.java` - 用户认证管理器
|
|
|
|
|
- `LoginActivity.java` - 登录/注册UI
|
|
|
|
|
- `LoginViewModel.java` - 登录/注册业务逻辑
|
|
|
|
|
- `SyncManager.java` - 同步管理器(核心逻辑)
|
|
|
|
|
- `CloudDatabaseHelper.java` - 云数据库API
|
|
|
|
|
- `CloudNote.java` - 云端笔记模型
|
|
|
|
|
- `WorkingNote.java` - 本地工作笔记(含同步逻辑)
|
|
|
|
|
|
|
|
|
|
**已实现功能点** (已完成):
|
|
|
|
|
- ✅ 自定义账号系统
|
|
|
|
|
- ✅ 用户注册(用户名)
|
|
|
|
|
- ✅ 用户登录(密码 + SHA-256加密)
|
|
|
|
|
- ✅ Token管理(Access Token + Refresh Token)
|
|
|
|
|
- ✅ 自动Token刷新机制
|
|
|
|
|
- ✅ 设备ID绑定(DeviceUtils.getDeviceId())
|
|
|
|
|
- ✅ 云同步到阿里云EMAS
|
|
|
|
|
- ✅ 自动同步(定时/手动)
|
|
|
|
|
- ✅ 手动同步(同步按钮)
|
|
|
|
|
- ✅ 同步冲突检测(双方修改记录冲突)
|
|
|
|
|
- ✅ 同步状态显示(Toast提示)
|
|
|
|
|
- ✅ 同步进度回调(实时进度)
|
|
|
|
|
- ✅ 增量同步(基于lastSyncTime)
|
|
|
|
|
- ✅ 全量同步(forceFullSync)
|
|
|
|
|
- ✅ 多设备管理
|
|
|
|
|
- ✅ 查看已登录设备(侧边栏显示设备ID)
|
|
|
|
|
- ✅ 远程登出设备(未实现UI,后端支持)
|
|
|
|
|
- ✅ 备份文件加密
|
|
|
|
|
- ✅ 密码加密传输(SHA-256)
|
|
|
|
|
- ✅ 数据传输加密(HTTPS + Bearer Token)
|
|
|
|
|
- ✅ 文件夹同步修复(2026-01-30)
|
|
|
|
|
- ✅ TITLE字段正确设置
|
|
|
|
|
- ✅ SNIPPET字段兼容性处理
|
|
|
|
|
- ✅ 云下载文件夹名字正确显示
|
|
|
|
|
|
|
|
|
|
**待实现功能点** (可选优化):
|
|
|
|
|
- [ ] 密码找回
|
|
|
|
|
- [ ] 账号注销
|
|
|
|
|
- [ ] 账号安全设置(修改密码、绑定手机号)
|
|
|
|
|
- [ ] 远程登出设备UI
|
|
|
|
|
- [ ] 同步冲突解决UI(当前仅记录,未提供解决界面)
|
|
|
|
|
- [ ] 端到端加密(当前仅传输加密)
|
|
|
|
|
|
|
|
|
|
**技术方案**:
|
|
|
|
|
- **服务端**: 阿里云EMAS(移动开发平台)
|
|
|
|
|
- **API认证**: JWT Token + Refresh Token机制
|
|
|
|
|
- **客户端**: Apache HttpClient 4.5.14
|
|
|
|
|
- **密码加密**: SHA-256哈希
|
|
|
|
|
- **数据传输**: HTTPS + Bearer Token
|
|
|
|
|
- **同步算法**: 增量同步(基于时间戳)+ 冲突检测
|
|
|
|
|
- **数据库**: 本地SQLite + 云端EMAS数据库
|
|
|
|
|
- **架构**: SyncManager单例 + ExecutorService异步处理
|
|
|
|
|
|
|
|
|
|
**优先级**: 已完成
|
|
|
|
|
**工作量**: 15天(含后端集成)
|
|
|
|
|
**完成日期**: 2026-01-30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -541,10 +600,10 @@
|
|
|
|
|
- [ ] Week 13-14: 链接笔记 (3.4) - 笔图谱
|
|
|
|
|
- ✅ Week 15-16: 任务清单 (3.5) - 任务管理
|
|
|
|
|
|
|
|
|
|
### Month 9+: 智能化和生态
|
|
|
|
|
- [ ] Week 17-20: 云同步和账号系统 (4.3) - 注册登录、云同步
|
|
|
|
|
- [ ] Week 21-22: 主题和自定义 (4.1) - Material 3 动态主题、自定义壁纸
|
|
|
|
|
- [ ] Week 23+: 智能功能 (4.2)、跨平台同步 (4.4) 等
|
|
|
|
|
### Month 9+: 智能化和生态
|
|
|
|
|
- ✅ Week 17-20: 云同步和账号系统 (4.3) - 注册登录、云同步
|
|
|
|
|
- [ ] Week 21-22: 主题和自定义 (4.1) - Material 3 动态主题、自定义壁纸
|
|
|
|
|
- [ ] Week 23+: 智能功能 (4.2)、跨平台同步 (4.4) 等
|
|
|
|
|
|
|
|
|
|
## 技术栈规划(基于当前架构)
|
|
|
|
|
|
|
|
|
|
@ -597,8 +656,23 @@
|
|
|
|
|
#### 高优先级
|
|
|
|
|
- [ ] 迁移从 findViewById 到 ViewBinding / Jetpack Compose
|
|
|
|
|
- [ ] 迁移从 ExecutorService 到 Kotlin Coroutines / Flow
|
|
|
|
|
- [ ] 迁移从 SQLiteOpenHelper 到 Room
|
|
|
|
|
- [ ] 重构 Apache HttpClient 依赖(使用 Retrofit + OkHttp)
|
|
|
|
|
- [ ] 迁移从 SQLiteOpenHelper 到 Room
|
|
|
|
|
- [ ] 重构 Apache HttpClient 依赖(使用 Retrofit + OkHttp)
|
|
|
|
|
- [ ] **菜单栏与侧边栏功能同步** (2026-01-28 新增)
|
|
|
|
|
- [ ] 同步功能:菜单栏当前显示"同步功能暂不可用",需改为跳转到 `SyncActivity`
|
|
|
|
|
- [ ] 设置功能:菜单栏当前显示"设置功能开发中",需改为跳转到 `NotesPreferenceActivity`
|
|
|
|
|
- [ ] 导出功能:统一菜单栏和侧边栏的提示信息(当前不一致)
|
|
|
|
|
- [ ] 功能对齐:考虑在菜单栏添加回收站入口,或在侧边栏添加任务清单、搜索入口
|
|
|
|
|
- **问题详情**:
|
|
|
|
|
- 右上角菜单栏 (`note_list.xml`) 和侧边栏 (`sidebar_layout.xml`) 存在功能不一致
|
|
|
|
|
- 同步、设置在侧边栏已实现,但在菜单栏仍为未实现状态
|
|
|
|
|
- 任务清单、搜索、新建文件夹仅在菜单栏可用
|
|
|
|
|
- 回收站、登录、模板仅在侧边栏可用
|
|
|
|
|
- [ ] **云同步优化** (2026-01-30 新增)
|
|
|
|
|
- [ ] 同步冲突解决UI(当前仅记录冲突,未提供手动解决界面)
|
|
|
|
|
- [ ] 远程登出设备UI
|
|
|
|
|
- [ ] 同步失败重试机制(当前失败仅记录,未自动重试)
|
|
|
|
|
- [ ] 同步状态持久化(应用重启后恢复同步状态)
|
|
|
|
|
|
|
|
|
|
#### 中优先级
|
|
|
|
|
- [ ] 引入依赖注入框架(Hilt)
|
|
|
|
|
@ -749,31 +823,39 @@
|
|
|
|
|
4. ✅ 稳定的数据库设计(SQLite + 10个触发器)
|
|
|
|
|
5. ✅ 多语言支持(中英文)
|
|
|
|
|
6. ✅ Google Tasks 云同步
|
|
|
|
|
7. ✅ 密码保护和安全功能
|
|
|
|
|
8. ✅ 备份和恢复功能
|
|
|
|
|
|
|
|
|
|
**关键成功因素**:
|
|
|
|
|
1. 优先实现用户最需要的功能(搜索、便签导出、智能识别)
|
|
|
|
|
2. 保持代码质量和可维护性(持续重构)
|
|
|
|
|
3. 持续收集用户反馈并迭代(数据驱动)
|
|
|
|
|
4. 平衡功能丰富度和简洁性(用户体验)
|
|
|
|
|
5. 注重性能和用户体验(响应速度、流畅度)
|
|
|
|
|
6. 稳健的架构设计(可扩展、可测试)
|
|
|
|
|
|
|
|
|
|
**下一步行动**:
|
|
|
|
|
1. 实施 Phase 2 P0 功能(便签图片导出、Markdown/TXT导出)
|
|
|
|
|
2. 技术债务清理(Kotlin 迁移考虑)
|
|
|
|
|
3. 建立自动化测试体系(单元测试、集成测试)
|
|
|
|
|
4. 设置监控和分析(崩溃率、使用率)
|
|
|
|
|
5. 规划服务端开发(云同步、账号系统)
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**文档版本**: v4.0(精简版)
|
|
|
|
|
**更新日期**: 2026-01-28
|
|
|
|
|
7. ✅ 密码保护和安全功能
|
|
|
|
|
8. ✅ 备份和恢复功能
|
|
|
|
|
9. ✅ 阿里云EMAS云同步(注册、登录、多设备同步)
|
|
|
|
|
|
|
|
|
|
**关键成功因素**:
|
|
|
|
|
1. 优先实现用户最需要的功能(搜索、便签导出、智能识别)
|
|
|
|
|
2. 保持代码质量和可维护性(持续重构)
|
|
|
|
|
3. 持续收集用户反馈并迭代(数据驱动)
|
|
|
|
|
4. 平衡功能丰富度和简洁性(用户体验)
|
|
|
|
|
5. 注重性能和用户体验(响应速度、流畅度)
|
|
|
|
|
6. 稳健的架构设计(可扩展、可测试)
|
|
|
|
|
|
|
|
|
|
**下一步行动**:
|
|
|
|
|
1. 实施 Phase 2 P0 功能(便签图片导出、Markdown/TXT导出)
|
|
|
|
|
2. 技术债务清理(Kotlin 迁移考虑、Apache HttpClient重构)
|
|
|
|
|
3. 建立自动化测试体系(单元测试、集成测试)
|
|
|
|
|
4. 设置监控和分析(崩溃率、使用率)
|
|
|
|
|
5. 优化云同步功能(冲突解决UI、同步失败重试、远程登出设备)
|
|
|
|
|
6. 菜单栏与侧边栏功能同步(统一功能入口和提示信息)
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**文档版本**: v5.0(精简版)
|
|
|
|
|
**更新日期**: 2026-01-30
|
|
|
|
|
**维护者**: Sisyphus AI Agent
|
|
|
|
|
**更新说明**:
|
|
|
|
|
- 更新项目状态:富文本编辑、撤销/重做、待办任务、搜索历史等功能已完成
|
|
|
|
|
- 更新项目统计:55个Java源文件、176个资源文件
|
|
|
|
|
- 更新ViewBinding迁移状态:100%完成
|
|
|
|
|
- 更新标题管理:统一使用TITLE字段,支持编辑界面和左滑重命名
|
|
|
|
|
**更新说明**:
|
|
|
|
|
- 更新云同步功能状态:✅ 阿里云EMAS云同步已完成(注册、登录、多设备同步、冲突检测)
|
|
|
|
|
- 更新标题字段修复:✅ 完成TITLE/SNIPPET字段问题修复
|
|
|
|
|
- 修复 `insertFolder()` 未设置TITLE字段问题
|
|
|
|
|
- 创建V13数据库升级脚本(修复现有文件夹TITLE)
|
|
|
|
|
- 修复 `CloudNote.toWorkingNote()` 方法调用顺序(先设置类型,再设置标题)
|
|
|
|
|
- 修复云同步下载时文件夹名字不显示问题(侧边栏依赖SNIPPET)
|
|
|
|
|
- 更新项目统计:数据库版本 V12 → V13,note表字段 22 → 25
|
|
|
|
|
- 添加云同步核心文件清单:UserAuthManager、SyncManager、CloudDatabaseHelper、CloudNote等
|
|
|
|
|
- 更新技术债务清理:添加云同步优化项(冲突解决UI、远程登出、同步失败重试)
|
|
|
|
|
- 保留未完成项:菜单栏与侧边栏功能同步仍需处理
|
|
|
|
|
|