移動端 App
移動端 App
概述
思源筆記提供了 Android 端、iOS 端和鴻蒙端 App,已經上架部分手機應用商店,請在應用商店中搜索 思源筆記 或者 SiYuan。
安裝和更新
目前已經上架應用商店:
- 小米
- 華為
- 榮耀
- OPPO
- vivo
- 蘋果
- 酷安
- Google Play
APK 下載: https://b3log.org/siyuan/download.html
使用集市
因為應用商店審核原因,目前無法直接在 App 上提供集市。
如需使用集市,請啟用 關于 - 網絡伺服,然后在桌面端瀏覽器上訪問配置。
#注意#?
- 卸載 App 會導致本地數據被完全刪除且無法恢復
- 退出應用請使用右側面板中的 退出應用 進行正常退出,直接劃走會強制結束應用,導致數據同步未被執行
- iOS 端切換應用后會導致連接中斷,請點擊提示框中的按鈕手動重連
- 數據同步過程中請勿切換應用并保持亮屏,否則會導致數據同步失敗
Android 端自定義通知
為了盡量保活后臺運行,思源會定時發送通知,默認的通知內容是一些開發團隊喜歡的歌詞。
如果需要自定義它,請按如下步驟操作:
- 在桌面端
工作空間/data/assets/文件夾下創建一個名為android-notification-texts.txt的文本文件,其中每一行會作為通知的文本 - 通過數據同步[1]將其同步到 Android 端
完成這兩個步驟以后通知就會使用自定義的文本。
數據同步
概述
數據同步指的是在多個設備上保持
工作空間/data/文件夾數據一致,包括資源文件、自定義圖標、插件、代碼片段、模板、掛件和文檔數據。使用方式
初始化數據倉庫密鑰[2]后如果一切正常就已經配置好同步了。如果你不太熟悉同步配置,建議通過點擊同步按鈕打開同步配置向導,通過向導進行配置會更簡便一些。
- 如果需要暫停同步,可關閉選項 設置 - 云端 - 啟用云端同步
- 忽略文件[3]
?#注意#?:
- 啟用同步前,請確保參與同步的所有設備系統時間一致
- 如果數據量較大,建議通過設置中的 導出 Data 導出數據包,然后將該數據包通過手動拷貝或者其他方式發送到新設備上,并在新設備上 導入 Data,最后再配置同步
同步模式
在 設置 - 云端 - 云端同步模式 中支持三種同步模式:
-
自動同步
- 啟動和退出時會進行一次同步,使用中數據不再變動后 30 秒進行一次同步
- 由同步算法決定數據合并和覆蓋,請參考下述工作原理介紹
-
手動同步
- 僅啟動和退出時進行一次同步,使用中需要手動觸發同步
- 由同步算法決定數據合并和覆蓋,請參考下述工作原理介紹
-
完全手動同步:啟動和退出時均不同步,完全手動控制同步時機和同步方向
自動/手動同步模式工作原理
思源通過對比云端數據快照和本地數據快照進行相應操作:
-
如果快照相同則忽略本次同步
-
如果快照不同,則將本地距離上次同步的變更上傳到云端,將云端最新的變更合并到本地
- 如果兩端的變更沒有沖突則直接合并
- 如果存在文件沖突,則以本地為準覆蓋云端,同時拉取到的云端沖突文件會歸入到數據歷史中
自動同步時間間隔算法描述如下:
- 數據變動后 30 秒如果不再發生變動則進行一次對比,如果繼續發生變動則順延 30 秒
- 沒有數據變動則按 5 分鐘、8 分鐘、16 分鐘、32 分鐘……遞增間隔
自動同步模式場景例舉
從上述工作原理我們可以得知,思源僅支持在多設備上交替同步數據:設備 A 上同步完成以后設備 B 上再進行同步。無法支持多設備同時同步,這樣會發生無法預期的數據覆蓋。
正常場景
- 在設備 A 上編輯后執行同步(通過自動或者手動觸發同步),此時云端數據會被設備 A 數據覆蓋,既云端和設備 A 保持數據一致
- 在設備 B 上執行同步,此時設備 B 數據會被云端數據覆蓋,即云端和設備 A、B 保持數據一致
- 設備 B 上編輯后再次執行同步,此時云端數據會被設備 B 數據覆蓋,既云端和設備 B 保持數據一致
- 在設備 A 上執行同步,此時設備 A 數據會被云端數據覆蓋,即云端和設備 A、B 保持數據一致
該場景下,使用同步的過程是在設備 A、B 上交替進行的,這樣能夠保證數據同步符合預期正常完成。
沖突場景
- 在設備 A 上編輯 a 文件后同步
- 在設備 B 上編輯 a 文件后同步
- 此時云端 a 文件會被 B 設備上的 a 覆蓋,同時在 B 設備上生成之前 A 設備 a 的歷史
#注意#
-
睡眠或關機等突然斷網的情況下不會觸發同步,請手動點擊同步按鈕進行同步
-
請勿同時使用第三方同步盤和思源同步,可能會導致數據損壞
-
符號鏈接和隱藏文件不會被同步
-
自動同步模式下,如需退出,請使用正常的退出應用(比如移動端 APP 不要使用滑動移除,桌面端不要使用結束進程強制關閉)方式以保證數據同步執行
-
數據同步前進行數據快照如果耗時超過 12 秒會提示清理數據倉庫,如果需要改動默認耗時,可通過如下兩種方式
- 環境變量
SIYUAN_SYNC_INDEX_TIMING,例如SIYUAN_SYNC_INDEX_TIMING=30000,單位是毫秒 - 直接修改 工作空間/conf/conf.json 中的
repo.syncIndexTiming?
最小值只能配置為
12000(12 秒),最大值不限制;啟動時會優先讀取環境變量覆蓋 conf 文件中的值。 - 環境變量
初始化密鑰
第一次使用數據快照前需要在 設置 - 關于 中初始化 數據倉庫密鑰。
初始化密鑰有三種方式:
- 導入密鑰:將其他設備上的密鑰字符串復制到此粘貼導入
- 自動生成密鑰:使用隨機數生成密鑰,該方式只需在一臺設備上執行一次,其他設備使用 導入密鑰
- 通過密碼生成密鑰:使用自定義的密碼短語生成密鑰,該方式需要在所有設備上都使用相同的密碼短語
總而言之,請務必保證所有設備都使用相同的密鑰,否則數據快照將無法跨設備使用,比如無法通過云端同步數據快照。 ??
忽略文件
如果需要在創建快照時忽略一些文件,請在文件系統上創建或編輯文本文件
工作空間/data/.siyuan/syncignore, 其中每一行使用 data 文件夾的相對路徑進行配置,表示忽略文件或文件夾的路徑,支持通配符。例如:20210808180117-6v0mkxr/**/*: 忽略 data/20210808180117-6v0mkxr 筆記本assets/*.pdf:忽略 data/assets/ 下的 PDF 文件

浙公網安備 33010602011771號