Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
590b088f69
32 changed files with 97 additions and 76 deletions
8
.github/CONTRIBUTING.md
vendored
8
.github/CONTRIBUTING.md
vendored
|
@ -58,4 +58,10 @@ Note: In the development environment, the kernel process will not be automatical
|
|||
* `gomobile bind --tags fts5 -ldflags '-s -w' -v -o kernel.aar -target='android/arm64' -androidapi 24 ./mobile/`
|
||||
* https://github.com/siyuan-note/siyuan-android
|
||||
|
||||
For the mobile-end, please refer to the corresponding project repository.
|
||||
### Harmony
|
||||
|
||||
Only support compilation under Linux, need to install Harmony SDK, and need to modify Go source code, please refer to https://github.com/siyuan-note/siyuan/issues/13184
|
||||
|
||||
* `cd kernel/harmony`
|
||||
* `./build.sh` (`./build-win.sh` for Windows Emulator)
|
||||
* https://github.com/siyuan-note/siyuan-harmony
|
||||
|
|
8
.github/CONTRIBUTING_zh_CN.md
vendored
8
.github/CONTRIBUTING_zh_CN.md
vendored
|
@ -60,4 +60,10 @@ NPM 镜像:
|
|||
* `gomobile bind --tags fts5 -ldflags '-s -w' -v -o kernel.aar -target='android/arm64' -androidapi 24 ./mobile/`
|
||||
* https://github.com/siyuan-note/siyuan-android
|
||||
|
||||
移动端请参考对应项目仓库。
|
||||
### Harmony
|
||||
|
||||
仅支持在 Linux 下编译,需要安装鸿蒙 SDK,并且需要修改 Go 源码,详情请参考 https://github.com/siyuan-note/siyuan/issues/13184
|
||||
|
||||
* `cd kernel/harmony`
|
||||
* `./build.sh` (Windows 模拟器使用 `./build-win.sh`)
|
||||
* https://github.com/siyuan-note/siyuan-harmony
|
||||
|
|
|
@ -100,7 +100,7 @@ Most features are free, even for commercial use.
|
|||
* Multi-tab, drag and drop to split screen
|
||||
* Template snippet
|
||||
* JavaScript/CSS snippet
|
||||
* Android/iOS App
|
||||
* Android/iOS/HarmonyOS App
|
||||
* Docker deployment
|
||||
* [API](https://github.com/siyuan-note/siyuan/blob/master/API.md)
|
||||
* Community marketplace
|
||||
|
@ -120,6 +120,7 @@ Some features are only available to paid members, for more details please refer
|
|||
| [petal](https://github.com/siyuan-note/petal) | Plugin API |  |  |
|
||||
| [android](https://github.com/siyuan-note/siyuan-android) | Android App |  |  |
|
||||
| [ios](https://github.com/siyuan-note/siyuan-ios) | iOS App |  |  |
|
||||
| [harmony](https://github.com/siyuan-note/siyuan-harmony) | HarmonyOS App |  |  |
|
||||
| [riff](https://github.com/siyuan-note/riff) | Spaced repetition |  |  |
|
||||
|
||||
## 🌟 Star History
|
||||
|
@ -346,6 +347,7 @@ SiYuan is completely open source, and contributions are welcome:
|
|||
* [User Interface and Kernel](https://github.com/siyuan-note/siyuan)
|
||||
* [Android](https://github.com/siyuan-note/siyuan-android)
|
||||
* [iOS](https://github.com/siyuan-note/siyuan-ios)
|
||||
* [HarmonyOS](https://github.com/siyuan-note/siyuan-harmony)
|
||||
* [Chrome Clipping Extension](https://github.com/siyuan-note/siyuan-chrome)
|
||||
|
||||
For more details, please refer to [Development Guide](https://github.com/siyuan-note/siyuan/blob/master/.github/CONTRIBUTING.md).
|
||||
|
|
|
@ -99,7 +99,7 @@ SiYuanは、プライバシーを最優先とする個人の知識管理シス
|
|||
* マルチタブ、ドラッグアンドドロップで分割画面
|
||||
* テンプレートスニペット
|
||||
* JavaScript/CSSスニペット
|
||||
* Android/iOSアプリ
|
||||
* Android/iOS/HarmonyOSアプリ
|
||||
* Dockerデプロイメント
|
||||
* [API](https://github.com/siyuan-note/siyuan/blob/master/API.md)
|
||||
* コミュニティマーケットプレイス
|
||||
|
@ -110,16 +110,17 @@ SiYuanは、プライバシーを最優先とする個人の知識管理シス
|
|||
|
||||

|
||||
|
||||
| プロジェクト | 説明 | フォーク | スター |
|
||||
|----------------------------------------------------------|-----------------------|---------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|
|
||||
| [lute](https://github.com/88250/lute) | エディタエンジン |  |  |
|
||||
| [chrome](https://github.com/siyuan-note/siyuan-chrome) | Chrome/Edge拡張 |  |  |
|
||||
| プロジェクト | 説明 | フォーク | スター |
|
||||
|----------------------------------------------------------|-----------------|---------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|
|
||||
| [lute](https://github.com/88250/lute) | エディタエンジン |  |  |
|
||||
| [chrome](https://github.com/siyuan-note/siyuan-chrome) | Chrome/Edge拡張 |  |  |
|
||||
| [bazaar](https://github.com/siyuan-note/bazaar) | コミュニティマーケットプレイス |  |  |
|
||||
| [dejavu](https://github.com/siyuan-note/dejavu) | データリポジトリ |  |  |
|
||||
| [petal](https://github.com/siyuan-note/petal) | プラグインAPI |  |  |
|
||||
| [android](https://github.com/siyuan-note/siyuan-android) | Androidアプリ |  |  |
|
||||
| [ios](https://github.com/siyuan-note/siyuan-ios) | iOSアプリ |  |  |
|
||||
| [riff](https://github.com/siyuan-note/riff) | 間隔反復 |  |  |
|
||||
| [dejavu](https://github.com/siyuan-note/dejavu) | データリポジトリ |  |  |
|
||||
| [petal](https://github.com/siyuan-note/petal) | プラグインAPI |  |  |
|
||||
| [android](https://github.com/siyuan-note/siyuan-android) | Androidアプリ |  |  |
|
||||
| [ios](https://github.com/siyuan-note/siyuan-ios) | iOSアプリ |  |  |
|
||||
| [harmony](https://github.com/siyuan-note/siyuan-harmony) | HarmonyOSアプリ |  |  |
|
||||
| [riff](https://github.com/siyuan-note/riff) | 間隔反復 |  |  |
|
||||
|
||||
## 🌟 スター履歴
|
||||
|
||||
|
@ -345,6 +346,7 @@ SiYuanは完全にオープンソースであり、貢献を歓迎します:
|
|||
* [ユーザーインターフェースとカーネル](https://github.com/siyuan-note/siyuan)
|
||||
* [Android](https://github.com/siyuan-note/siyuan-android)
|
||||
* [iOS](https://github.com/siyuan-note/siyuan-ios)
|
||||
* [harmony](https://github.com/siyuan-note/siyuan-harmony)
|
||||
* [Chromeクリッピング拡張](https://github.com/siyuan-note/siyuan-chrome)
|
||||
|
||||
詳細については[開発ガイド](https://github.com/siyuan-note/siyuan/blob/master/.github/CONTRIBUTING.md)をご覧ください。
|
||||
|
|
|
@ -101,7 +101,7 @@
|
|||
* Tesseract OCR
|
||||
* 模板片段
|
||||
* JavaScript/CSS 代码片段
|
||||
* Android/iOS App
|
||||
* Android/iOS/鸿蒙 App
|
||||
* Docker 部署
|
||||
* [API](API_zh_CN.md)
|
||||
* 社区集市
|
||||
|
@ -112,16 +112,17 @@
|
|||
|
||||

|
||||
|
||||
| Project | Description | Forks | Stars |
|
||||
|----------------------------------------------------------|----------------|---------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|
|
||||
| [lute](https://github.com/88250/lute) | 编辑器引擎 |  |  |
|
||||
| Project | Description | Forks | Stars |
|
||||
|----------------------------------------------------------|--------------|---------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|
|
||||
| [lute](https://github.com/88250/lute) | 编辑器引擎 |  |  |
|
||||
| [chrome](https://github.com/siyuan-note/siyuan-chrome) | Chrome/Edge 扩展 |  |  |
|
||||
| [bazaar](https://github.com/siyuan-note/bazaar) | 社区集市 |  |  |
|
||||
| [dejavu](https://github.com/siyuan-note/dejavu) | 数据仓库 |  |  |
|
||||
| [petal](https://github.com/siyuan-note/petal) | 插件 API |  |  |
|
||||
| [android](https://github.com/siyuan-note/siyuan-android) | Android App |  |  |
|
||||
| [ios](https://github.com/siyuan-note/siyuan-ios) | iOS App |  |  |
|
||||
| [riff](https://github.com/siyuan-note/riff) | 间隔重复 |  |  |
|
||||
| [bazaar](https://github.com/siyuan-note/bazaar) | 社区集市 |  |  |
|
||||
| [dejavu](https://github.com/siyuan-note/dejavu) | 数据仓库 |  |  |
|
||||
| [petal](https://github.com/siyuan-note/petal) | 插件 API |  |  |
|
||||
| [android](https://github.com/siyuan-note/siyuan-android) | Android App |  |  |
|
||||
| [ios](https://github.com/siyuan-note/siyuan-ios) | iOS App |  |  |
|
||||
| [harmony](https://github.com/siyuan-note/siyuan-harmony) | 鸿蒙 App |  |  |
|
||||
| [riff](https://github.com/siyuan-note/riff) | 间隔重复 |  |  |
|
||||
|
||||
## 🌟 星标历史
|
||||
|
||||
|
@ -381,6 +382,7 @@ Publish parameters: --accessAuthCode=******(访问授权码)
|
|||
* [界面和内核](https://github.com/siyuan-note/siyuan)
|
||||
* [Android 端](https://github.com/siyuan-note/siyuan-android)
|
||||
* [iOS 端](https://github.com/siyuan-note/siyuan-ios)
|
||||
* [鸿蒙端](https://github.com/siyuan-note/siyuan-harmony)
|
||||
* [Chrome 剪藏扩展](https://github.com/siyuan-note/siyuan-chrome)
|
||||
|
||||
更多细节请参考[开发指南](https://github.com/siyuan-note/siyuan/blob/master/.github/CONTRIBUTING_zh_CN.md)。
|
||||
|
|
|
@ -504,7 +504,7 @@
|
|||
"editReadonly": "Schreibgeschützter Modus",
|
||||
"editReadonlyTip": "Nach der Aktivierung wird das Dokument im schreibgeschützten Modus geladen.",
|
||||
"generateConflictDoc": "Konfliktdokument generieren, wenn Synchronisationskonflikte auftreten.",
|
||||
"generateConflictDocTip": "Nach der Aktivierung wird ein Konfliktdokument generiert, wenn ein Synchronisationskonflikt auftritt, sodass es direkt geöffnet und angezeigt werden kann. Egal ob aktiviert oder nicht, die Datenhistorie wird das Konfliktdokument aufzeichnen.",
|
||||
"generateConflictDocTip": "Nach der Aktivierung wird ein Konfliktdokument generiert, wenn ein Synchronisationskonflikt auftritt, sodass es direkt geöffnet und angezeigt werden kann. Egal ob aktiviert oder nicht, die [Datenhistorie] wird das Konfliktdokument aufzeichnen.",
|
||||
"deleteOpConfirm": "⚠️ Bestätigung der Löschoperation",
|
||||
"filterKeywordEnter": "Keyword-Filter eingeben",
|
||||
"defBlock": "Def Block",
|
||||
|
@ -576,7 +576,7 @@
|
|||
"key": "Schlüssel",
|
||||
"genKey": "Automatisch generieren",
|
||||
"genKeyByPW": "Schlüssel nach Passphrase generieren",
|
||||
"dataRepoKeyTip1": "Das Daten-Repo wird verwendet, um Datenschnappschüsse zu verschlüsseln und zu speichern. Schnappschüsse können in der Datenhistorie erstellt und zurückgerollt werden.",
|
||||
"dataRepoKeyTip1": "Das Daten-Repo wird verwendet, um Datenschnappschüsse zu verschlüsseln und zu speichern. Schnappschüsse können in der [Datenhistorie] erstellt und zurückgerollt werden.",
|
||||
"dataRepoKeyTip2": "Alle Geräte müssen denselben Schlüssel verwenden, wenn die Schlüssel übereinstimmen, können die Daten nicht in die Cloud synchronisiert werden.",
|
||||
"dataRepoKey": "Daten-Repo-Schlüssel",
|
||||
"dataRepoPurge": "Daten-Repo bereinigen",
|
||||
|
@ -948,7 +948,7 @@
|
|||
"copyID": "ID kopieren",
|
||||
"newBookmark": "Lesezeichenlabel erstellen",
|
||||
"generateHistory": "Intervall der Historienerzeugung (Minuten, auf 0 setzen, um zu deaktivieren)",
|
||||
"generateHistoryInterval": "Historien werden automatisch bei der Bearbeitung oder Löschung erstellt und können in der Datenhistorie eingesehen und zurückgerollt werden.",
|
||||
"generateHistoryInterval": "Historien werden automatisch bei der Bearbeitung oder Löschung erstellt und können in der [Datenhistorie] eingesehen und zurückgerollt werden.",
|
||||
"historyRetentionDays": "Aufbewahrungstage der Historien",
|
||||
"historyRetentionDaysTip": "Historische Daten, die die Aufbewahrungstage überschreiten, werden automatisch und vollständig gelöscht.",
|
||||
"clearHistory": "Alle Historien löschen",
|
||||
|
|
|
@ -504,7 +504,7 @@
|
|||
"editReadonly": "Read-only mode",
|
||||
"editReadonlyTip": "After enabling, the editor will load the document in read-only mode",
|
||||
"generateConflictDoc": "Generate conflict documentation when syncing conflicts",
|
||||
"generateConflictDocTip": "After enabling, a conflict document will be generated when a synchronization conflict occurs, so that it can be opened and viewed directly. Whether enabled or not, the data history will record the conflict document",
|
||||
"generateConflictDocTip": "After enabling, a conflict document will be generated when a synchronization conflict occurs, so that it can be opened and viewed directly. Whether enabled or not, the [Data History] will record the conflict document",
|
||||
"deleteOpConfirm": "⚠️ Delete operation confirmation",
|
||||
"filterKeywordEnter": "Keyword filtering Enter",
|
||||
"defBlock": "Def block",
|
||||
|
@ -576,7 +576,7 @@
|
|||
"key": "Key",
|
||||
"genKey": "Auto-generate key",
|
||||
"genKeyByPW": "Gen key by passphrase",
|
||||
"dataRepoKeyTip1": "The data repo is used to encrypt and save data snapshots. Snapshots can be created and rolled back in the data history",
|
||||
"dataRepoKeyTip1": "The data repo is used to encrypt and save data snapshots. Snapshots can be created and rolled back in the [Data History]",
|
||||
"dataRepoKeyTip2": "All devices must use the same key, if the keys are inconsistent, the data cannot be synced to the cloud",
|
||||
"dataRepoKey": "Data repo key",
|
||||
"dataRepoPurge": "Data repo purge",
|
||||
|
@ -948,7 +948,7 @@
|
|||
"copyID": "Copy ID",
|
||||
"newBookmark": "Create a bookmark label",
|
||||
"generateHistory": "History Generation Interval (minutes, set to 0 to disable)",
|
||||
"generateHistoryInterval": "History is automatically generated when editing or deleting, which can be viewed and rolled back in the data history",
|
||||
"generateHistoryInterval": "History is automatically generated when editing or deleting, which can be viewed and rolled back in the [Data History]",
|
||||
"historyRetentionDays": "History Retention Days",
|
||||
"historyRetentionDaysTip": "Historical data exceeding the retention days will be automatically and completely deleted",
|
||||
"clearHistory": "Clear all history",
|
||||
|
|
|
@ -504,7 +504,7 @@
|
|||
"editReadonly": "Modo de solo lectura",
|
||||
"editReadonlyTip": "Después de habilitarlo, el editor cargará el documento en modo de solo lectura",
|
||||
"generateConflictDoc": "Generar documentación de conflicto al sincronizar conflictos",
|
||||
"generateConflictDocTip": "Después de habilitarlo, se generará un documento de conflicto cuando ocurra un conflicto de sincronización, para que pueda abrirse y verse directamente. Ya sea que esté habilitado o no, el historial de datos registrará el documento de conflicto",
|
||||
"generateConflictDocTip": "Después de habilitarlo, se generará un documento de conflicto cuando ocurra un conflicto de sincronización, para que pueda abrirse y verse directamente. Ya sea que esté habilitado o no, el [Historial de datos] registrará el documento de conflicto",
|
||||
"deleteOpConfirm": "⚠️ Confirmación de operación de eliminación",
|
||||
"filterKeywordEnter": "Filtrado de palabras clave Entrar",
|
||||
"defBlock": "Definir bloque",
|
||||
|
@ -576,7 +576,7 @@
|
|||
"key": "Clave",
|
||||
"genKey": "Gen clave auto",
|
||||
"genKeyByPW": "Clave gen por contraseña",
|
||||
"dataRepoKeyTip1": "El repositorio de datos se utiliza para cifrar y guardar instantáneas de datos. Las instantáneas pueden crearse y revertirse en el historial de datos",
|
||||
"dataRepoKeyTip1": "El repositorio de datos se utiliza para cifrar y guardar instantáneas de datos. Las instantáneas pueden crearse y revertirse en el [Historial de datos]",
|
||||
"dataRepoKeyTip2": "Todos los dispositivos deben usar la misma clave, si las claves son inconsistentes, los datos no se pueden sincronizar con la nube",
|
||||
"dataRepoKey": "Clave del repositorio de datos",
|
||||
"dataRepoPurge": "Purga del repositorio de datos",
|
||||
|
@ -948,7 +948,7 @@
|
|||
"copyID": "ID de copia",
|
||||
"newBookmark": "Crear una etiqueta de marcador",
|
||||
"generateHistory": "Intervalo de Generación de Historial (minutos, poner a 0 para desactivar)",
|
||||
"generateHistoryInterval": "El historial se genera automáticamente cuando se edita o se borra, y se puede ver y retroceder en el historial de datos",
|
||||
"generateHistoryInterval": "El historial se genera automáticamente cuando se edita o se borra, y se puede ver y retroceder en el [Historial de datos]",
|
||||
"historyRetentionDays": "Días de retención del historial",
|
||||
"historyRetentionDaysTip": "Los datos históricos que superen los días de retención se eliminarán automática y completamente",
|
||||
"clearHistory": "Borrar todo el historial",
|
||||
|
|
|
@ -504,7 +504,7 @@
|
|||
"editReadonly": "Modalità di sola lettura",
|
||||
"editReadonlyTip": "Dopo l'abilitazione, l'editor caricherà il documento in modalità di sola lettura",
|
||||
"generateConflictDoc": "Genera documento di conflitto quando si verificano conflitti di sincronizzazione",
|
||||
"generateConflictDocTip": "Dopo l'abilitazione, verrà generato un documento di conflitto quando si verifica un conflitto di sincronizzazione, in modo che possa essere aperto e visualizzato direttamente. Sia che sia abilitato o meno, la cronologia dei dati registrerà il documento di conflitto",
|
||||
"generateConflictDocTip": "Dopo l'abilitazione, verrà generato un documento di conflitto quando si verifica un conflitto di sincronizzazione, in modo che possa essere aperto e visualizzato direttamente. Sia che sia abilitato o meno, la [Cronologia dati] registrerà il documento di conflitto",
|
||||
"deleteOpConfirm": "⚠️ Conferma operazione di eliminazione",
|
||||
"filterKeywordEnter": "Parola chiave di filtraggio Invio",
|
||||
"defBlock": "Blocco definito",
|
||||
|
@ -576,7 +576,7 @@
|
|||
"key": "Chiave",
|
||||
"genKey": "Genera chiave automaticamente",
|
||||
"genKeyByPW": "Genera chiave tramite passphrase",
|
||||
"dataRepoKeyTip1": "Il repository dei dati è utilizzato per crittografare e salvare gli snapshot dei dati. Gli snapshot possono essere creati e ripristinati nella cronologia dei dati",
|
||||
"dataRepoKeyTip1": "Il repository dei dati è utilizzato per crittografare e salvare gli snapshot dei dati. Gli snapshot possono essere creati e ripristinati nella [Cronologia dati]",
|
||||
"dataRepoKeyTip2": "Tutti i dispositivi devono utilizzare la stessa chiave, se le chiavi non corrispondono i dati non possono essere sincronizzati nel cloud",
|
||||
"dataRepoKey": "Chiave del repository dati",
|
||||
"dataRepoPurge": "Pulizia repository dati",
|
||||
|
@ -948,7 +948,7 @@
|
|||
"copyID": "Copia ID",
|
||||
"newBookmark": "Crea un'etichetta segnalibro",
|
||||
"generateHistory": "Intervallo di generazione della cronologia (minuti, impostare a 0 per disabilitare)",
|
||||
"generateHistoryInterval": "La cronologia viene generata automaticamente durante la modifica o l'eliminazione, può essere visualizzata e ripristinata nella cronologia dei dati",
|
||||
"generateHistoryInterval": "La cronologia viene generata automaticamente durante la modifica o l'eliminazione, può essere visualizzata e ripristinata nella [Cronologia dati]",
|
||||
"historyRetentionDays": "Giorni di conservazione della cronologia",
|
||||
"historyRetentionDaysTip": "I dati storici che superano i giorni di conservazione verranno eliminati automaticamente e completamente",
|
||||
"clearHistory": "Cancella tutta la cronologia",
|
||||
|
@ -999,7 +999,7 @@
|
|||
"account11": "Fino alla fine dello sconto per gli early bird",
|
||||
"account12": "Compagno di vita",
|
||||
"clickMeToRenew": "Vai al rinnovo",
|
||||
"dataHistory": "Cronologia dei dati",
|
||||
"dataHistory": "Cronologia dati",
|
||||
"quitApp": "Esci?",
|
||||
"reset": "Reimposta",
|
||||
"siyuanNote": "SiYuan",
|
||||
|
|
|
@ -504,7 +504,7 @@
|
|||
"editReadonly": "読み取り専用モード",
|
||||
"editReadonlyTip": "エディタが読み取り専用モードでドキュメントを読み込みます",
|
||||
"generateConflictDoc": "同期の競合時に競合ドキュメントを生成する",
|
||||
"generateConflictDocTip": "同期の競合が発生した場合は競合ドキュメントが生成され、直接開いて表示できます。この設定に関わらずデータ履歴には競合ドキュメントが記録されます",
|
||||
"generateConflictDocTip": "同期の競合が発生した場合は競合ドキュメントが生成され、直接開いて表示できます。この設定に関わらず [データ履歴] には競合ドキュメントが記録されます",
|
||||
"deleteOpConfirm": "⚠️ 削除操作の確認",
|
||||
"filterKeywordEnter": "フィルタキーワードを入力",
|
||||
"defBlock": "定義ブロック",
|
||||
|
@ -576,7 +576,7 @@
|
|||
"key": "キー",
|
||||
"genKey": "キーの自動生成",
|
||||
"genKeyByPW": "パスワードからキーを生成",
|
||||
"dataRepoKeyTip1": "データリポジトリはデータスナップショットの暗号化と保存に使用されます。スナップショットはデータ履歴で作成およびロールバックできます",
|
||||
"dataRepoKeyTip1": "データリポジトリはデータスナップショットの暗号化と保存に使用されます。スナップショットは [データ履歴] で作成およびロールバックできます",
|
||||
"dataRepoKeyTip2": "すべてのデバイスで同じキーを使用する必要があります。キーが一致しなければデータはクラウドに同期されません",
|
||||
"dataRepoKey": "データリポジトリキー",
|
||||
"dataRepoPurge": "データリポジトリのクリーンアップ",
|
||||
|
@ -948,7 +948,7 @@
|
|||
"copyID": "ID をコピー",
|
||||
"newBookmark": "ブックマークラベルを作成",
|
||||
"generateHistory": "履歴生成間隔 (分単位、無効にするには <code class='fn__code'>0</code> に設定)",
|
||||
"generateHistoryInterval": "履歴は編集や削除時に自動的に生成され、データ履歴から閲覧およびロールバックが可能です",
|
||||
"generateHistoryInterval": "履歴は編集や削除時に自動的に生成され、[データ履歴] から閲覧およびロールバックが可能です",
|
||||
"historyRetentionDays": "履歴の保存日数",
|
||||
"historyRetentionDaysTip": "保存日数を超える履歴データは自動的に削除されます",
|
||||
"clearHistory": "すべての履歴を消去",
|
||||
|
|
|
@ -504,7 +504,7 @@
|
|||
"editReadonly": "Tryb tylko do odczytu",
|
||||
"editReadonlyTip": "Po włączeniu edytor załaduje dokument w trybie tylko do odczytu",
|
||||
"generateConflictDoc": "Generuj dokument konfliktowy podczas synchronizacji konfliktów",
|
||||
"generateConflictDocTip": "Po włączeniu, dokument konfliktowy zostanie wygenerowany, gdy wystąpi konflikt synchronizacji, aby można go było otworzyć i przeglądać bezpośrednio. Niezależnie od tego, czy włączone, historia danych zarejestruje dokument konfliktowy",
|
||||
"generateConflictDocTip": "Po włączeniu, dokument konfliktowy zostanie wygenerowany, gdy wystąpi konflikt synchronizacji, aby można go było otworzyć i przeglądać bezpośrednio. Niezależnie od tego, czy włączone, [Historia danych] zarejestruje dokument konfliktowy",
|
||||
"deleteOpConfirm": "⚠️ Potwierdzenie operacji usunięcia",
|
||||
"filterKeywordEnter": "Filtrowanie słów kluczowych Wprowadź",
|
||||
"defBlock": "Definicja bloku",
|
||||
|
@ -576,7 +576,7 @@
|
|||
"key": "Klucz",
|
||||
"genKey": "Automatycznie wygeneruj klucz",
|
||||
"genKeyByPW": "Gen klucz według hasła",
|
||||
"dataRepoKeyTip1": "Repozytorium danych jest używane do szyfrowania i zapisywania zrzutów danych. Zrzuty mogą być tworzone i cofanięte w historii danych",
|
||||
"dataRepoKeyTip1": "Repozytorium danych jest używane do szyfrowania i zapisywania zrzutów danych. Zrzuty mogą być tworzone i cofanięte w [Historia danych]",
|
||||
"dataRepoKeyTip2": "Wszystkie urządzenia muszą używać tego samego klucza, jeśli klucze się różnią, dane nie mogą być synchronizowane do chmury",
|
||||
"dataRepoKey": "Klucz repozytorium danych",
|
||||
"dataRepoPurge": "Oczyszczanie repozytorium danych",
|
||||
|
@ -948,7 +948,7 @@
|
|||
"copyID": "Skopiuj ID",
|
||||
"newBookmark": "Utwórz etykietę zakładki",
|
||||
"generateHistory": "Interwał generacji historii (minuty, ustaw na 0, aby wyłączyć)",
|
||||
"generateHistoryInterval": "Historia jest automatycznie generowana podczas edytowania lub usuwania, która może być wyświetlana i wycofywana w historii danych",
|
||||
"generateHistoryInterval": "Historia jest automatycznie generowana podczas edytowania lub usuwania, która może być wyświetlana i wycofywana w [Historia danych]",
|
||||
"historyRetentionDays": "Dni przechowywania historii",
|
||||
"historyRetentionDaysTip": "Dane historyczne, które przekraczają dni przechowywania, będą automatycznie i całkowicie usuwane",
|
||||
"clearHistory": "Wyczyść całą historię",
|
||||
|
|
|
@ -504,7 +504,7 @@
|
|||
"editReadonly": "Режим только для чтения",
|
||||
"editReadonlyTip": "После включения редактор загрузит документ в режиме только для чтения",
|
||||
"generateConflictDoc": "Создавать документацию конфликтов при возникновении конфликтов синхронизации",
|
||||
"generateConflictDocTip": "После включения при возникновении конфликта синхронизации будет генерироваться документ конфликта, чтобы его можно было открывать и просматривать напрямую. Независимо от включения или нет, история данных зарегистрирует документ конфликта",
|
||||
"generateConflictDocTip": "После включения при возникновении конфликта синхронизации будет генерироваться документ конфликта, чтобы его можно было открывать и просматривать напрямую. Независимо от включения или нет, [История данных] зарегистрирует документ конфликта",
|
||||
"deleteOpConfirm": "⚠️ Подтверждение операции удаления",
|
||||
"filterKeywordEnter": "Ключевое слово фильтрации Ввод",
|
||||
"defBlock": "Определить блок",
|
||||
|
@ -576,7 +576,7 @@
|
|||
"key": "Ключ",
|
||||
"genKey": "Авто-сгенерировать ключ",
|
||||
"genKeyByPW": "Создать ключ по паролю",
|
||||
"dataRepoKeyTip1": "Репозиторий данных используется для шифрования и сохранения снимков данных. Снимки могут быть созданы и восстановлены в истории данных",
|
||||
"dataRepoKeyTip1": "Репозиторий данных используется для шифрования и сохранения снимков данных. Снимки могут быть созданы и восстановлены в [Истории данных]",
|
||||
"dataRepoKeyTip2": "Все устройства должны использовать один и тот же ключ, если ключи несовпадают, данные не могут синхронизироваться в облако",
|
||||
"dataRepoKey": "Ключ репозитория данных",
|
||||
"dataRepoPurge": "Очистка репозитория данных",
|
||||
|
@ -948,7 +948,7 @@
|
|||
"copyID": "Скопировать ID",
|
||||
"newBookmark": "Создать метку закладки",
|
||||
"generateHistory": "Интервал генерации истории (минуты, установите 0 для отключения)",
|
||||
"generateHistoryInterval": "История автоматически генерируется при редактировании или удалении, которую можно просмотреть и откатить в истории данных",
|
||||
"generateHistoryInterval": "История автоматически генерируется при редактировании или удалении, которую можно просмотреть и откатить в [Истории данных]",
|
||||
"historyRetentionDays": "Дни хранения истории",
|
||||
"historyRetentionDaysTip": "Исторические данные, превышающие дни хранения, будут автоматически и полностью удалены",
|
||||
"clearHistory": "Очистить всю историю",
|
||||
|
|
|
@ -504,7 +504,7 @@
|
|||
"editReadonly": "只讀模式",
|
||||
"editReadonlyTip": "啟用後編輯器將以只讀模式載入文檔",
|
||||
"generateConflictDoc": "同步衝突時生成衝突文檔",
|
||||
"generateConflictDocTip": "啟用後當同步發生衝突時會生成衝突文檔,以便直接打開查看。無論是否啟用,資料歷史都會記錄衝突文檔",
|
||||
"generateConflictDocTip": "啟用後當同步發生衝突時會生成衝突文檔,以便直接打開查看。無論是否啟用,[資料歷史] 都會記錄衝突文檔",
|
||||
"deleteOpConfirm": "⚠️ Delete operation confirmation",
|
||||
"filterKeywordEnter": "關鍵字過濾 Enter",
|
||||
"defBlock": "定義塊",
|
||||
|
@ -576,7 +576,7 @@
|
|||
"key": "密鑰",
|
||||
"genKey": "自動生成密鑰",
|
||||
"genKeyByPW": "通過密碼生成密鑰",
|
||||
"dataRepoKeyTip1": "資料倉庫用於加密保存資料快照,可在資料歷史中可建立快照和回復快照",
|
||||
"dataRepoKeyTip1": "資料倉庫用於加密保存資料快照,可在 [資料歷史] 中建立快照和回復快照",
|
||||
"dataRepoKeyTip2": "所有設備必須使用相同的密鑰,如果密鑰不一致則無法雲端同步資料",
|
||||
"dataRepoKey": "資料倉庫密鑰",
|
||||
"dataRepoPurge": "資料倉庫清理",
|
||||
|
@ -948,7 +948,7 @@
|
|||
"copyID": "複製 ID",
|
||||
"newBookmark": "新建書籤標識",
|
||||
"generateHistory": "歷史生成間隔(分鐘,設置為 0 則禁用)",
|
||||
"generateHistoryInterval": "編輯或刪除時會自動生成歷史,可在資料歷史中可查看和回復",
|
||||
"generateHistoryInterval": "編輯或刪除時會自動生成歷史,可在 [資料歷史] 中查看和回復",
|
||||
"historyRetentionDays": "歷史保留天數",
|
||||
"historyRetentionDaysTip": "超過保留天數的歷史資料會被自動徹底刪除",
|
||||
"clearHistory": "清空所有歷史",
|
||||
|
|
|
@ -504,7 +504,7 @@
|
|||
"editReadonly": "只读模式",
|
||||
"editReadonlyTip": "启用后编辑器将以只读模式载入文档",
|
||||
"generateConflictDoc": "同步冲突时生成冲突文档",
|
||||
"generateConflictDocTip": "启用后当同步发生冲突时会生成冲突文档,以便直接打开查看。无论是否启用,数据历史都会记录冲突文档",
|
||||
"generateConflictDocTip": "启用后当同步发生冲突时会生成冲突文档,以便直接打开查看。无论是否启用,[数据历史] 都会记录冲突文档",
|
||||
"deleteOpConfirm": "⚠️ 删除操作确认",
|
||||
"filterKeywordEnter": "关键字过滤 Enter",
|
||||
"defBlock": "定义块",
|
||||
|
@ -576,7 +576,7 @@
|
|||
"key": "密钥",
|
||||
"genKey": "自动生成密钥",
|
||||
"genKeyByPW": "通过密码生成密钥",
|
||||
"dataRepoKeyTip1": "数据仓库用于加密保存数据快照,可在数据历史中可创建快照和回滚快照",
|
||||
"dataRepoKeyTip1": "数据仓库用于加密保存数据快照,可在 [数据历史] 中创建快照和回滚快照",
|
||||
"dataRepoKeyTip2": "所有设备必须使用相同的密钥,如果密钥不一致则无法云端同步数据",
|
||||
"dataRepoKey": "数据仓库密钥",
|
||||
"dataRepoPurge": "数据仓库清理",
|
||||
|
@ -948,7 +948,7 @@
|
|||
"copyID": "复制 ID",
|
||||
"newBookmark": "新建书签标识",
|
||||
"generateHistory": "历史生成间隔(分钟,设置为 0 则禁用)",
|
||||
"generateHistoryInterval": "编辑或删除时会自动生成历史,可在数据历史中可查看和回滚",
|
||||
"generateHistoryInterval": "编辑或删除时会自动生成历史,可在 [数据历史] 中查看和回滚",
|
||||
"historyRetentionDays": "历史保留天数",
|
||||
"historyRetentionDaysTip": "超过保留天数的历史数据会被自动彻底删除",
|
||||
"clearHistory": "清空所有历史",
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,8 +1,8 @@
|
|||
Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
|
||||
This license is copied below, and is also available with a FAQ at: https://scripts.sil.org/OFL
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
https://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
|
@ -18,7 +18,7 @@ with others.
|
|||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
|
@ -1,9 +1,9 @@
|
|||
Copyright 2021-2023 LXGW (https://github.com/lxgw/LxgwWenKai)
|
||||
Copyright 2021-2024 LXGW (https://github.com/lxgw/LxgwWenKai)
|
||||
Copyright 2020 The Klee Project Authors (https://github.com/fontworks-fonts/Klee)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
https://openfontlicense.org
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
Binary file not shown.
|
@ -1,6 +1,6 @@
|
|||
@font-face {
|
||||
font-family: 'JetBrainsMono-Regular';
|
||||
src: url(../fonts/JetBrainsMono-1.0.3/JetBrainsMono-Regular.woff) format('woff');
|
||||
src: url(../fonts/JetBrainsMono-2.304/JetBrainsMono-Regular.woff2) format('woff2');
|
||||
}
|
||||
|
||||
.b3-typography,
|
||||
|
|
|
@ -69,10 +69,10 @@ export const appearanceMenu = (protyle: IProtyle, nodeElements?: Element[]) => {
|
|||
const lastFontStatus = item.split(Constants.ZWSP);
|
||||
switch (lastFontStatus[0]) {
|
||||
case "color":
|
||||
lastColorHTML += `<button class="color__square ariaLabel" data-position="3bottom" aria-label="${window.siyuan.languages.colorFont} ${lastFontStatus[1] ? "" : window.siyuan.languages.default}" ${lastFontStatus[1] ? `style="color:${lastFontStatus[1]}"` : ""} data-type="${lastFontStatus[0]}">A</button>`;
|
||||
lastColorHTML += `<button class="color__square ariaLabel" data-position="3bottom" aria-label="${window.siyuan.languages.colorFont}${lastFontStatus[1] ? "" : " " + window.siyuan.languages.default}" ${lastFontStatus[1] ? `style="color:${lastFontStatus[1]}"` : ""} data-type="${lastFontStatus[0]}">A</button>`;
|
||||
break;
|
||||
case "backgroundColor":
|
||||
lastColorHTML += `<button class="color__square ariaLabel" data-position="3bottom" aria-label="${window.siyuan.languages.colorPrimary} ${lastFontStatus[1] ? "" : window.siyuan.languages.default}" ${lastFontStatus[1] ? `style="background-color:${lastFontStatus[1]}"` : ""} data-type="${lastFontStatus[0]}"></button>`;
|
||||
lastColorHTML += `<button class="color__square ariaLabel" data-position="3bottom" aria-label="${window.siyuan.languages.colorPrimary}${lastFontStatus[1] ? "" : " " + window.siyuan.languages.default}" ${lastFontStatus[1] ? `style="background-color:${lastFontStatus[1]}"` : ""} data-type="${lastFontStatus[0]}"></button>`;
|
||||
break;
|
||||
case "style2":
|
||||
lastColorHTML += `<button data-type="${lastFontStatus[0]}" class="protyle-font__style" style="-webkit-text-stroke: 0.2px var(--b3-theme-on-background);-webkit-text-fill-color : transparent;">${window.siyuan.languages.hollow}</button>`;
|
||||
|
@ -86,7 +86,7 @@ export const appearanceMenu = (protyle: IProtyle, nodeElements?: Element[]) => {
|
|||
}
|
||||
break;
|
||||
case "style1":
|
||||
lastColorHTML += `<button class="color__square ariaLabel" data-position="3bottom" aria-label="${window.siyuan.languages.color} ${lastFontStatus[1] ? "" : window.siyuan.languages.default}" ${lastFontStatus[1] ? `style="background-color:${lastFontStatus[1]};color:${lastFontStatus[2]}"` : ""} data-type="${lastFontStatus[0]}">A</button>`;
|
||||
lastColorHTML += `<button class="color__square ariaLabel" data-position="3bottom" aria-label="${window.siyuan.languages.color}${lastFontStatus[1] ? "" : " " + window.siyuan.languages.default}" ${lastFontStatus[1] ? `style="background-color:${lastFontStatus[1]};color:${lastFontStatus[2]}"` : ""} data-type="${lastFontStatus[0]}">A</button>`;
|
||||
break;
|
||||
case "clear":
|
||||
lastColorHTML += `<button style="height: 26px;display: flex;align-items: center;padding: 0 5px;" data-type="${lastFontStatus[0]}" class="protyle-font__style ariaLabel" aria-label="${window.siyuan.languages.clearFontStyle}"><svg class="svg--mid"><use xlink:href="#iconTrashcan"></use></svg></button>`;
|
||||
|
|
|
@ -195,7 +195,7 @@ func getMobileWorkspaces(c *gin.Context) {
|
|||
ret := gulu.Ret.NewResult()
|
||||
defer c.JSON(http.StatusOK, ret)
|
||||
|
||||
if util.ContainerIOS != util.Container && util.ContainerAndroid != util.Container {
|
||||
if util.ContainerIOS != util.Container && util.ContainerAndroid != util.Container && util.ContainerHarmony != util.Container {
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -315,7 +315,7 @@ func setWorkspaceDir(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container {
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container || util.ContainerHarmony == util.Container {
|
||||
util.PushMsg(model.Conf.Language(42), 1000*15)
|
||||
time.Sleep(time.Second * 1)
|
||||
model.Close(false, false, 1)
|
||||
|
|
|
@ -269,6 +269,8 @@ func getCurrentBackend() string {
|
|||
return "ios"
|
||||
case util.ContainerAndroid:
|
||||
return "android"
|
||||
case util.ContainerHarmony:
|
||||
return "harmony"
|
||||
default:
|
||||
return runtime.GOOS
|
||||
}
|
||||
|
|
|
@ -765,7 +765,7 @@ func (parser *PdfAssetParser) getTextPageWorker(id int, instance pdfium.Pdfium,
|
|||
|
||||
// Parse will parse a PDF document using PDFium webassembly module using a worker pool
|
||||
func (parser *PdfAssetParser) Parse(absPath string) (ret *AssetParseResult) {
|
||||
if util.ContainerIOS == util.Container || util.ContainerAndroid == util.Container {
|
||||
if util.ContainerIOS == util.Container || util.ContainerAndroid == util.Container || util.ContainerHarmony == util.Container {
|
||||
// PDF asset content searching is not supported on mobile platforms
|
||||
return
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ import (
|
|||
var assetsWatcher *fsnotify.Watcher
|
||||
|
||||
func WatchAssets() {
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container {
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container || util.ContainerHarmony == util.Container {
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -284,7 +284,7 @@ func RecentUpdatedBlocks() (ret []*Block) {
|
|||
ret = []*Block{}
|
||||
|
||||
sqlStmt := "SELECT * FROM blocks WHERE type = 'p' AND length > 1"
|
||||
if util.ContainerIOS == util.Container || util.ContainerAndroid == util.Container {
|
||||
if util.ContainerIOS == util.Container || util.ContainerAndroid == util.Container || util.ContainerHarmony == util.Container {
|
||||
sqlStmt = "SELECT * FROM blocks WHERE type = 'd'"
|
||||
}
|
||||
|
||||
|
|
|
@ -134,7 +134,7 @@ func InitConf() {
|
|||
|
||||
if "" != util.Lang {
|
||||
initialized := false
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container {
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container || util.ContainerHarmony == util.Container {
|
||||
// 移动端以上次设置的外观语言为准
|
||||
if "" != Conf.Lang && util.Lang != Conf.Lang {
|
||||
util.Lang = Conf.Lang
|
||||
|
@ -485,7 +485,7 @@ func InitConf() {
|
|||
// 上次未正常完成数据索引
|
||||
go func() {
|
||||
util.WaitForUILoaded()
|
||||
if util.ContainerIOS == util.Container || util.ContainerAndroid == util.Container {
|
||||
if util.ContainerIOS == util.Container || util.ContainerAndroid == util.Container || util.ContainerHarmony == util.Container {
|
||||
task.AppendAsyncTaskWithDelay(task.PushMsg, 2*time.Second, util.PushMsg, Conf.language(245), 15000)
|
||||
} else {
|
||||
task.AppendAsyncTaskWithDelay(task.PushMsg, 2*time.Second, util.PushMsg, Conf.language(244), 15000)
|
||||
|
|
|
@ -32,7 +32,7 @@ import (
|
|||
var emojisWatcher *fsnotify.Watcher
|
||||
|
||||
func WatchEmojis() {
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container {
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container || util.ContainerHarmony == util.Container {
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -1076,7 +1076,7 @@ func processPDFWatermark(pdfCtx *pdfcpu.Context, watermark bool) {
|
|||
desc = descBuilder.String()
|
||||
desc = desc[:len(desc)-1]
|
||||
|
||||
fontPath := filepath.Join(util.AppearancePath, "fonts", "LxgwWenKai-Lite-1.311", "LXGWWenKaiLite-Regular.ttf")
|
||||
fontPath := filepath.Join(util.AppearancePath, "fonts", "LxgwWenKai-Lite-1.501", "LXGWWenKaiLite-Regular.ttf")
|
||||
err := api.InstallFonts([]string{fontPath})
|
||||
if err != nil {
|
||||
logging.LogErrorf("install font [%s] failed: %s", fontPath, err)
|
||||
|
|
|
@ -372,7 +372,7 @@ func subscribeSQLEvents() {
|
|||
// util.ContextPushMsg(context, msg)
|
||||
//})
|
||||
eventbus.Subscribe(eventbus.EvtSQLInsertBlocksFTS, func(context map[string]interface{}, blockCount int, hash string) {
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container {
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container || util.ContainerHarmony == util.Container {
|
||||
// Android/iOS 端不显示数据索引和搜索索引状态提示 https://github.com/siyuan-note/siyuan/issues/6392
|
||||
return
|
||||
}
|
||||
|
@ -384,7 +384,7 @@ func subscribeSQLEvents() {
|
|||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
eventbus.Subscribe(eventbus.EvtSQLDeleteBlocks, func(context map[string]interface{}, rootID string) {
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container {
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container || util.ContainerHarmony == util.Container {
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -395,7 +395,7 @@ func subscribeSQLEvents() {
|
|||
util.ContextPushMsg(context, msg)
|
||||
})
|
||||
eventbus.Subscribe(eventbus.EvtSQLUpdateBlocksHPaths, func(context map[string]interface{}, blockCount int, hash string) {
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container {
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container || util.ContainerHarmony == util.Container {
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -407,7 +407,7 @@ func subscribeSQLEvents() {
|
|||
})
|
||||
|
||||
eventbus.Subscribe(eventbus.EvtSQLInsertHistory, func(context map[string]interface{}) {
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container {
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container || util.ContainerHarmony == util.Container {
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -419,7 +419,7 @@ func subscribeSQLEvents() {
|
|||
})
|
||||
|
||||
eventbus.Subscribe(eventbus.EvtSQLInsertAssetContent, func(context map[string]interface{}) {
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container {
|
||||
if util.ContainerAndroid == util.Container || util.ContainerIOS == util.Container || util.ContainerHarmony == util.Container {
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -238,7 +238,7 @@ func CheckAuth(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
if strings.HasPrefix(c.Request.RequestURI, "/api/sync/performSync") {
|
||||
if util.ContainerIOS == util.Container || util.ContainerAndroid == util.Container {
|
||||
if util.ContainerIOS == util.Container || util.ContainerAndroid == util.Container || util.ContainerHarmony == util.Container {
|
||||
c.Set(RoleContextKey, RoleAdministrator)
|
||||
c.Next()
|
||||
return
|
||||
|
|
|
@ -351,7 +351,7 @@ var (
|
|||
AccessAuthCode string
|
||||
Lang = ""
|
||||
|
||||
Container string // docker, android, ios, std
|
||||
Container string // docker, android, ios, harmony, std
|
||||
ISMicrosoftStore bool // 桌面端是否是微软商店版
|
||||
)
|
||||
|
||||
|
@ -360,6 +360,7 @@ const (
|
|||
ContainerDocker = "docker" // Docker 容器端
|
||||
ContainerAndroid = "android" // Android 端
|
||||
ContainerIOS = "ios" // iOS 端
|
||||
ContainerHarmony = "harmony" // 鸿蒙端
|
||||
|
||||
LocalHost = "127.0.0.1" // 伺服地址
|
||||
FixedPort = "6806" // 固定端口
|
||||
|
|
Loading…
Add table
Reference in a new issue