generated from dellevin/template
优化
This commit is contained in:
53
README.md
53
README.md
@@ -131,3 +131,56 @@ flutter run
|
||||
|
||||
- [x] 导出功能(JSON)
|
||||
- [ ] 云同步
|
||||
|
||||
## 双向同步规则
|
||||
|
||||
双向同步的规则如下:
|
||||
|
||||
**1. 数据库文件同步规则:**
|
||||
|
||||
| 情况 | 操作 |
|
||||
| :---------------- | :----------------------- |
|
||||
| 远程数据库不存在 | 上传本地数据库 |
|
||||
| 本地较新(>10秒) | 上传本地数据库 |
|
||||
| 远程较新(>10秒) | 下载远程数据库 |
|
||||
| 时间相近(±10秒) | 不传输数据库,仅同步图片 |
|
||||
|
||||
**2. 图片同步规则:**
|
||||
|
||||
| 情况 | 操作 |
|
||||
| :--------------- | :------------------------------------- |
|
||||
| 本地有,远程没有 | 上传到远程 |
|
||||
| 远程有,本地没有 | 下载到本地 |
|
||||
| 两边都有 | 不处理(暂不支持基于时间戳的图片同步) |
|
||||
|
||||
**3. 同步方向选项:**
|
||||
|
||||
- **双向同步** - 按上述规则自动判断上传/下载
|
||||
- **仅上传** - 只上传本地数据库和所有本地图片
|
||||
- **仅下载** - 只下载远程数据库和所有远程图片
|
||||
|
||||
**4. 时间戳比较:**
|
||||
|
||||
```dart
|
||||
// 10秒误差范围内视为相同
|
||||
if (timeDiff > 10) {
|
||||
// 本地较新,上传
|
||||
} else if (timeDiff < -10)
|
||||
{
|
||||
// 远程较新,下载
|
||||
} else
|
||||
{
|
||||
// 时间相近,仅同步图片
|
||||
}
|
||||
```
|
||||
|
||||
**5. 文件路径:**
|
||||
|
||||
- 数据库:`/mooknote/mooknote.db`
|
||||
- 图片:`/mooknote/images/图片文件名`
|
||||
|
||||
**注意:**
|
||||
|
||||
- 目前图片同步是基于文件存在性判断,不是基于修改时间
|
||||
- 下载新数据库后,应用会自动重新加载数据(调用 Provider 的 load 方法)
|
||||
- 首次同步会创建远程目录结构
|
||||
|
||||
Reference in New Issue
Block a user