mirror of
https://github.com/Kuingsmile/PicList.git
synced 2025-02-02 11:08:13 -05:00
Merge branch 'dev' into release
This commit is contained in:
commit
3a3103fdb1
21
CHANGELOG.md
21
CHANGELOG.md
@ -1,3 +1,24 @@
|
|||||||
|
## :tada: 2.6.6 (2023-10-31)
|
||||||
|
|
||||||
|
|
||||||
|
### :sparkles: Features
|
||||||
|
|
||||||
|
* **custom:** image format convert will be skipped according to raw format ([9ad13d4](https://github.com/Kuingsmile/piclist/commit/9ad13d4)), closes [#109](https://github.com/Kuingsmile/piclist/issues/109)
|
||||||
|
* **custom:** optimize detele function for aws s3 ([b7b86b2](https://github.com/Kuingsmile/piclist/commit/b7b86b2))
|
||||||
|
* **custom:** support gitea for setting file sync ([95f1035](https://github.com/Kuingsmile/piclist/commit/95f1035))
|
||||||
|
|
||||||
|
|
||||||
|
### :bug: Bug Fixes
|
||||||
|
|
||||||
|
* **custom:** fix sandbox error under dev mode ([2dc96f6](https://github.com/Kuingsmile/piclist/commit/2dc96f6))
|
||||||
|
|
||||||
|
|
||||||
|
### :pencil: Documentation
|
||||||
|
|
||||||
|
* **custom:** update docs ([f0f696a](https://github.com/Kuingsmile/piclist/commit/f0f696a))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## :tada: 2.6.5 (2023-10-18)
|
## :tada: 2.6.5 (2023-10-18)
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
✨ Features
|
✨ Features
|
||||||
|
|
||||||
- 现在上传接口不再明文返回`config`字段,而是经过加密的字符串,密钥可自行设置
|
- 现在配置同步支持使用Gitea
|
||||||
|
- 现在当图片转换后格式与原格式相同时,不会进行转换
|
||||||
|
- 优化了使用Cloudflare R2作为图床时的删除处理
|
||||||
|
|
||||||
🐛 Bug Fixes
|
🐛 Bug Fixes
|
||||||
|
|
||||||
- 修复了文件名中含有二级目录时,webdav、local和sftp图床会上传失败的问题
|
- 修复了使用gitee同步配置时,下载文件错误日志没有正确记录的问题
|
||||||
- 修复了使用watt toolkit加速时,github图床上传失败的问题
|
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
✨ Features
|
✨ Features
|
||||||
|
|
||||||
- Now the upload interface no longer returns the `config` field in plain text, but an encrypted string, and the key can be set by yourself
|
- Now the configuration synchronization supports the use of Gitea
|
||||||
|
- Now when the converted image format is the same as the original format, it will not be converted
|
||||||
|
- Optimized the deletion processing when using Cloudflare R2 as the image bed
|
||||||
|
|
||||||
🐛 Bug Fixes
|
🐛 Bug Fixes
|
||||||
|
|
||||||
- Fix the problem that the webdav, local and sftp image beds will fail to upload when the file name contains a secondary directory
|
- Fixed the issue where the error log was not correctly recorded when synchronizing configurations using Gitee and downloading files
|
||||||
- Fix the problem that the github image bed will fail to upload when using the watt toolkit acceleration
|
|
||||||
|
46
package.json
46
package.json
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "piclist",
|
"name": "piclist",
|
||||||
"version": "2.6.5",
|
"version": "2.6.6",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Kuingsmile",
|
"name": "Kuingsmile",
|
||||||
"email": "pkukuing@gmail.com"
|
"email": "pkukuing@gmail.com"
|
||||||
@ -46,10 +46,10 @@
|
|||||||
"@smithy/node-http-handler": "^2.1.6",
|
"@smithy/node-http-handler": "^2.1.6",
|
||||||
"@videojs-player/vue": "^1.0.0",
|
"@videojs-player/vue": "^1.0.0",
|
||||||
"ali-oss": "^6.18.1",
|
"ali-oss": "^6.18.1",
|
||||||
"axios": "^1.5.1",
|
"axios": "^1.6.0",
|
||||||
"compare-versions": "^4.1.3",
|
"compare-versions": "^4.1.3",
|
||||||
"core-js": "^3.33.0",
|
"core-js": "^3.33.1",
|
||||||
"cos-nodejs-sdk-v5": "^2.12.4",
|
"cos-nodejs-sdk-v5": "^2.12.5",
|
||||||
"dexie": "^3.2.4",
|
"dexie": "^3.2.4",
|
||||||
"electron-updater": "^6.1.4",
|
"electron-updater": "^6.1.4",
|
||||||
"element-plus": "2.4.1",
|
"element-plus": "2.4.1",
|
||||||
@ -62,16 +62,17 @@
|
|||||||
"hpagent": "^1.2.0",
|
"hpagent": "^1.2.0",
|
||||||
"keycode": "^2.2.0",
|
"keycode": "^2.2.0",
|
||||||
"lowdb": "^1.0.0",
|
"lowdb": "^1.0.0",
|
||||||
"marked": "^9.1.2",
|
"marked": "^9.1.4",
|
||||||
"mime-types": "^2.1.35",
|
"mime-types": "^2.1.35",
|
||||||
"mitt": "^3.0.1",
|
"mitt": "^3.0.1",
|
||||||
"multer": "^1.4.5-lts.1",
|
"multer": "^1.4.5-lts.1",
|
||||||
"node-ssh-no-cpu-features": "^1.0.1",
|
"node-ssh-no-cpu-features": "^1.0.1",
|
||||||
"nodejs-file-downloader": "^4.12.1",
|
"nodejs-file-downloader": "^4.12.1",
|
||||||
"piclist": "^1.6.2",
|
"piclist": "^1.6.5",
|
||||||
"pinia": "^2.1.7",
|
"pinia": "^2.1.7",
|
||||||
"pinia-plugin-persistedstate": "^3.2.0",
|
"pinia-plugin-persistedstate": "^3.2.0",
|
||||||
"qiniu": "^7.10.0",
|
"proxy-agent": "^5.0.0",
|
||||||
|
"qiniu": "7.9.0",
|
||||||
"qrcode.vue": "^3.4.1",
|
"qrcode.vue": "^3.4.1",
|
||||||
"querystring": "^0.2.1",
|
"querystring": "^0.2.1",
|
||||||
"shell-path": "2.1.0",
|
"shell-path": "2.1.0",
|
||||||
@ -79,7 +80,7 @@
|
|||||||
"upyun": "^3.4.6",
|
"upyun": "^3.4.6",
|
||||||
"uuid": "^9.0.1",
|
"uuid": "^9.0.1",
|
||||||
"video.js": "^8.5.2",
|
"video.js": "^8.5.2",
|
||||||
"vue": "^3.3.4",
|
"vue": "^3.3.7",
|
||||||
"vue-router": "^4.2.5",
|
"vue-router": "^4.2.5",
|
||||||
"vue3-lazyload": "^0.3.8",
|
"vue3-lazyload": "^0.3.8",
|
||||||
"vue3-photo-preview": "^0.3.0",
|
"vue3-photo-preview": "^0.3.0",
|
||||||
@ -91,21 +92,21 @@
|
|||||||
"@electron/notarize": "^2.1.0",
|
"@electron/notarize": "^2.1.0",
|
||||||
"@types/ali-oss": "^6.16.10",
|
"@types/ali-oss": "^6.16.10",
|
||||||
"@types/electron-devtools-installer": "^2.2.4",
|
"@types/electron-devtools-installer": "^2.2.4",
|
||||||
"@types/fs-extra": "^11.0.2",
|
"@types/fs-extra": "^11.0.3",
|
||||||
"@types/inquirer": "^6.5.0",
|
"@types/inquirer": "^6.5.0",
|
||||||
"@types/js-yaml": "^4.0.8",
|
"@types/js-yaml": "^4.0.8",
|
||||||
"@types/lowdb": "^1.0.13",
|
"@types/lowdb": "^1.0.14",
|
||||||
"@types/mime-types": "^2.1.3",
|
"@types/mime-types": "^2.1.3",
|
||||||
"@types/multer": "^1.4.9",
|
"@types/multer": "^1.4.9",
|
||||||
"@types/node": "^16.10.2",
|
"@types/node": "^16.10.2",
|
||||||
"@types/request-promise-native": "^1.0.19",
|
"@types/request-promise-native": "^1.0.20",
|
||||||
"@types/semver": "^7.5.3",
|
"@types/semver": "^7.5.4",
|
||||||
"@types/tunnel": "^0.0.4",
|
"@types/tunnel": "^0.0.5",
|
||||||
"@types/upyun": "^3.4.1",
|
"@types/upyun": "^3.4.2",
|
||||||
"@types/uuid": "^9.0.5",
|
"@types/uuid": "^9.0.6",
|
||||||
"@types/write-file-atomic": "^4.0.1",
|
"@types/write-file-atomic": "^4.0.2",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.8.0",
|
"@typescript-eslint/eslint-plugin": "^6.9.1",
|
||||||
"@typescript-eslint/parser": "^6.8.0",
|
"@typescript-eslint/parser": "^6.9.1",
|
||||||
"@vue/cli-plugin-babel": "^5.0.8",
|
"@vue/cli-plugin-babel": "^5.0.8",
|
||||||
"@vue/cli-plugin-eslint": "^5.0.8",
|
"@vue/cli-plugin-eslint": "^5.0.8",
|
||||||
"@vue/cli-plugin-router": "^5.0.8",
|
"@vue/cli-plugin-router": "^5.0.8",
|
||||||
@ -113,19 +114,18 @@
|
|||||||
"@vue/cli-service": "^5.0.8",
|
"@vue/cli-service": "^5.0.8",
|
||||||
"@vue/eslint-config-standard": "^8.0.1",
|
"@vue/eslint-config-standard": "^8.0.1",
|
||||||
"@vue/eslint-config-typescript": "^12.0.0",
|
"@vue/eslint-config-typescript": "^12.0.0",
|
||||||
"@vue/runtime-dom": "^3.3.4",
|
"@vue/runtime-dom": "^3.3.7",
|
||||||
"conventional-changelog": "^5.1.0",
|
"conventional-changelog": "^5.1.0",
|
||||||
"cz-customizable": "^7.0.0",
|
"cz-customizable": "^7.0.0",
|
||||||
"dotenv": "^16.3.1",
|
"dotenv": "^16.3.1",
|
||||||
"dpdm": "^3.14.0",
|
"dpdm": "^3.14.0",
|
||||||
"electron": "^22.0.2",
|
"electron": "^22.0.2",
|
||||||
"electron-devtools-installer": "^3.2.0",
|
"eslint": "^8.52.0",
|
||||||
"eslint": "^8.51.0",
|
|
||||||
"eslint-config-standard": ">=16.0.0",
|
"eslint-config-standard": ">=16.0.0",
|
||||||
"eslint-plugin-import": "^2.28.1",
|
"eslint-plugin-import": "^2.29.0",
|
||||||
"eslint-plugin-node": "^11.1.0",
|
"eslint-plugin-node": "^11.1.0",
|
||||||
"eslint-plugin-promise": "^6.1.1",
|
"eslint-plugin-promise": "^6.1.1",
|
||||||
"eslint-plugin-vue": "^9.17.0",
|
"eslint-plugin-vue": "^9.18.1",
|
||||||
"husky": "^3.1.0",
|
"husky": "^3.1.0",
|
||||||
"node-bump-version": "^1.0.2",
|
"node-bump-version": "^1.0.2",
|
||||||
"node-loader": "^2.0.0",
|
"node-loader": "^2.0.0",
|
||||||
|
@ -249,23 +249,32 @@ SETTINGS_SYNC_CONFIG_SELECT_FILE: Select files to sync
|
|||||||
SETTINGS_SYNC_CONFIG_SELECT_CONFIG: Configuration files only
|
SETTINGS_SYNC_CONFIG_SELECT_CONFIG: Configuration files only
|
||||||
SETTINGS_SYNC_CONFIG_SELECT_GALLERY: Gallery files only
|
SETTINGS_SYNC_CONFIG_SELECT_GALLERY: Gallery files only
|
||||||
SETTINGS_SYNC_CONFIG_SELECT_BOTH: Both configuration and gallery files
|
SETTINGS_SYNC_CONFIG_SELECT_BOTH: Both configuration and gallery files
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_HOST: Gitea Host
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME: username
|
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME: username
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_USERNAME: username
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME: username
|
SETTINGS_SYNC_CONFIG_GITEE_USERNAME: username
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO: repository (private)
|
SETTINGS_SYNC_CONFIG_GITHUB_REPO: repository (private)
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_REPO: repository
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_REPO: repository path
|
SETTINGS_SYNC_CONFIG_GITEE_REPO: repository path
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH: branch
|
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH: branch
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_BRANCH: branch
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH: branch
|
SETTINGS_SYNC_CONFIG_GITEE_BRANCH: branch
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN: Token
|
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN: Token
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_TOKEN: Token
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN: Token
|
SETTINGS_SYNC_CONFIG_GITEE_TOKEN: Token
|
||||||
SETTINGS_SYNC_CONFIG_PROXY: Proxy
|
SETTINGS_SYNC_CONFIG_PROXY: Proxy
|
||||||
SETTINGS_SYNC_CONFIG_INTERVAL: Interval(min)
|
SETTINGS_SYNC_CONFIG_INTERVAL: Interval(min)
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER: Please enter GitHub username
|
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER: Please enter GitHub username
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_USERNAME_PLACEHOLDER: Please enter Gitea username
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER: Please enter Gitee username
|
SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER: Please enter Gitee username
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER: Please enter GitHub repository name
|
SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER: Please enter GitHub repository name
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_REPO_PLACEHOLDER: Please enter Gitea repository name
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER: Please enter Gitee repository name
|
SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER: Please enter Gitee repository name
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER: Please enter GitHub branch name
|
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER: Please enter GitHub branch name
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER: Please enter Gitee branch name
|
SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER: Please enter Gitee branch name
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_BRANCH_PLACEHOLDER: Please enter Gitea branch name
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN_PLACEHOLDER: Please enter GitHub Token
|
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN_PLACEHOLDER: Please enter GitHub Token
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_TOKEN_PLACEHOLDER: Please enter Gitea Token
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER: Please enter Gitee Token
|
SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER: Please enter Gitee Token
|
||||||
SETTINGS_SYNC_CONFIG_PROXY_PLACEHOLDER: Please enter proxy
|
SETTINGS_SYNC_CONFIG_PROXY_PLACEHOLDER: Please enter proxy
|
||||||
SETTINGS_UP_DOWN_DESC: Upload and download configuration files
|
SETTINGS_UP_DOWN_DESC: Upload and download configuration files
|
||||||
|
@ -252,23 +252,32 @@ SETTINGS_SYNC_CONFIG_SELECT_FILE: 选择同步文件
|
|||||||
SETTINGS_SYNC_CONFIG_SELECT_CONFIG: 仅配置文件
|
SETTINGS_SYNC_CONFIG_SELECT_CONFIG: 仅配置文件
|
||||||
SETTINGS_SYNC_CONFIG_SELECT_GALLERY: 仅相册文件
|
SETTINGS_SYNC_CONFIG_SELECT_GALLERY: 仅相册文件
|
||||||
SETTINGS_SYNC_CONFIG_SELECT_BOTH: 配置文件和相册文件
|
SETTINGS_SYNC_CONFIG_SELECT_BOTH: 配置文件和相册文件
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_HOST: Gitea 网址
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME: GitHub用户名
|
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME: GitHub用户名
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_USERNAME: Gitea用户名
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME: Gitee用户名
|
SETTINGS_SYNC_CONFIG_GITEE_USERNAME: Gitee用户名
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO: 仓库(私有)
|
SETTINGS_SYNC_CONFIG_GITHUB_REPO: 仓库(私有)
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_REPO: 仓库
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_REPO: 仓库路径名
|
SETTINGS_SYNC_CONFIG_GITEE_REPO: 仓库路径名
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH: GitHub分支
|
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH: GitHub分支
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_BRANCH: Gitea分支
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH: Gitee分支
|
SETTINGS_SYNC_CONFIG_GITEE_BRANCH: Gitee分支
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN: GitHub Token
|
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN: GitHub Token
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_TOKEN: Gitea Token
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN: Gitee Token
|
SETTINGS_SYNC_CONFIG_GITEE_TOKEN: Gitee Token
|
||||||
SETTINGS_SYNC_CONFIG_PROXY: 代理
|
SETTINGS_SYNC_CONFIG_PROXY: 代理
|
||||||
SETTINGS_SYNC_CONFIG_INTERVAL: 间隔(分钟)
|
SETTINGS_SYNC_CONFIG_INTERVAL: 间隔(分钟)
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER: 请输入GitHub用户名
|
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER: 请输入GitHub用户名
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_USERNAME_PLACEHOLDER: 请输入Gitea用户名
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER: 请输入Gitee用户名
|
SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER: 请输入Gitee用户名
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER: 请输入GitHub仓库名
|
SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER: 请输入GitHub仓库名
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_REPO_PLACEHOLDER: 请输入Gitea仓库名
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER: 请输入Gitee仓库名
|
SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER: 请输入Gitee仓库名
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER: 请输入GitHub分支名
|
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER: 请输入GitHub分支名
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_BRANCH_PLACEHOLDER: 请输入Gitea分支名
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER: 请输入Gitee分支名
|
SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER: 请输入Gitee分支名
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN_PLACEHOLDER: 请输入GitHub Token
|
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN_PLACEHOLDER: 请输入GitHub Token
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_TOKEN_PLACEHOLDER: 请输入Gitea Token
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER: 请输入Gitee Token
|
SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER: 请输入Gitee Token
|
||||||
SETTINGS_SYNC_CONFIG_PROXY_PLACEHOLDER: 请输入代理地址
|
SETTINGS_SYNC_CONFIG_PROXY_PLACEHOLDER: 请输入代理地址
|
||||||
SETTINGS_UP_DOWN_DESC: 上传下载配置文件
|
SETTINGS_UP_DOWN_DESC: 上传下载配置文件
|
||||||
|
@ -250,23 +250,32 @@ SETTINGS_SYNC_CONFIG_SELECT_FILE: 選擇同步檔案
|
|||||||
SETTINGS_SYNC_CONFIG_SELECT_CONFIG: 僅配置檔案
|
SETTINGS_SYNC_CONFIG_SELECT_CONFIG: 僅配置檔案
|
||||||
SETTINGS_SYNC_CONFIG_SELECT_GALLERY: 僅相簿檔案
|
SETTINGS_SYNC_CONFIG_SELECT_GALLERY: 僅相簿檔案
|
||||||
SETTINGS_SYNC_CONFIG_SELECT_BOTH: 配置檔案和相簿檔案
|
SETTINGS_SYNC_CONFIG_SELECT_BOTH: 配置檔案和相簿檔案
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_HOST: Gitea Host
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME: 用戶名
|
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME: 用戶名
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_USERNAME: 用戶名
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME: 用戶名
|
SETTINGS_SYNC_CONFIG_GITEE_USERNAME: 用戶名
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO: 儲存庫(私有)
|
SETTINGS_SYNC_CONFIG_GITHUB_REPO: 儲存庫(私有)
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_REPO: 儲存庫
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_REPO: 儲存庫路径
|
SETTINGS_SYNC_CONFIG_GITEE_REPO: 儲存庫路径
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH: GitHub 分支
|
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH: GitHub 分支
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_BRANCH: Gitea 分支
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH: Gitee 分支
|
SETTINGS_SYNC_CONFIG_GITEE_BRANCH: Gitee 分支
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN: GitHub Token
|
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN: GitHub Token
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_TOKEN: Gitea Token
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN: Gitee Token
|
SETTINGS_SYNC_CONFIG_GITEE_TOKEN: Gitee Token
|
||||||
SETTINGS_SYNC_CONFIG_PROXY: 代理
|
SETTINGS_SYNC_CONFIG_PROXY: 代理
|
||||||
SETTINGS_SYNC_CONFIG_INTERVAL: 間隔(分鐘)
|
SETTINGS_SYNC_CONFIG_INTERVAL: 間隔(分鐘)
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER: 請輸入 GitHub 用戶名
|
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER: 請輸入 GitHub 用戶名
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_USERNAME_PLACEHOLDER: 請輸入 Gitea 用戶名
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER: 請輸入 Gitee 用戶名
|
SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER: 請輸入 Gitee 用戶名
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER: 請輸入 GitHub 儲存庫名稱
|
SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER: 請輸入 GitHub 儲存庫名稱
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_REPO_PLACEHOLDER: 請輸入 Gitea 儲存庫名稱
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER: 請輸入 Gitee 儲存庫名稱
|
SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER: 請輸入 Gitee 儲存庫名稱
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER: 請輸入 GitHub 分支名稱
|
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER: 請輸入 GitHub 分支名稱
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_BRANCH_PLACEHOLDER: 請輸入 Gitea 分支名稱
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER: 請輸入 Gitee 分支名稱
|
SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER: 請輸入 Gitee 分支名稱
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN_PLACEHOLDER: 請輸入 GitHub Token
|
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN_PLACEHOLDER: 請輸入 GitHub Token
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_TOKEN_PLACEHOLDER: 請輸入 Gitea Token
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER: 請輸入 Gitee Token
|
SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER: 請輸入 Gitee Token
|
||||||
SETTINGS_SYNC_CONFIG_PROXY_PLACEHOLDER: 請輸入代理地址
|
SETTINGS_SYNC_CONFIG_PROXY_PLACEHOLDER: 請輸入代理地址
|
||||||
SETTINGS_UP_DOWN_DESC: 上傳和下載配置檔案
|
SETTINGS_UP_DOWN_DESC: 上傳和下載配置檔案
|
||||||
|
@ -10,7 +10,6 @@ import {
|
|||||||
import {
|
import {
|
||||||
createProtocol
|
createProtocol
|
||||||
} from 'vue-cli-plugin-electron-builder/lib'
|
} from 'vue-cli-plugin-electron-builder/lib'
|
||||||
import installExtension, { VUEJS_DEVTOOLS } from 'electron-devtools-installer'
|
|
||||||
import beforeOpen from '~/main/utils/beforeOpen'
|
import beforeOpen from '~/main/utils/beforeOpen'
|
||||||
import ipcList from '~/main/events/ipcList'
|
import ipcList from '~/main/events/ipcList'
|
||||||
import busEventList from '~/main/events/busEventList'
|
import busEventList from '~/main/events/busEventList'
|
||||||
@ -146,15 +145,7 @@ class LifeCycle {
|
|||||||
|
|
||||||
private onReady () {
|
private onReady () {
|
||||||
const readyFunction = async () => {
|
const readyFunction = async () => {
|
||||||
console.log('on ready')
|
|
||||||
createProtocol('picgo')
|
createProtocol('picgo')
|
||||||
if (isDevelopment && !process.env.IS_TEST) {
|
|
||||||
try {
|
|
||||||
await installExtension(VUEJS_DEVTOOLS)
|
|
||||||
} catch (e: any) {
|
|
||||||
console.error('Vue Devtools failed to install:', e.toString())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
windowManager.create(IWindowList.TRAY_WINDOW)
|
windowManager.create(IWindowList.TRAY_WINDOW)
|
||||||
windowManager.create(IWindowList.SETTING_WINDOW)
|
windowManager.create(IWindowList.SETTING_WINDOW)
|
||||||
const isAutoListenClipboard = db.get('settings.isAutoListenClipboard') || false
|
const isAutoListenClipboard = db.get('settings.isAutoListenClipboard') || false
|
||||||
|
@ -73,7 +73,8 @@ async function getDogeToken (accessKey: string, secretKey: string): Promise<{} |
|
|||||||
|
|
||||||
export async function removeFileFromS3InMain (configMap: IStringKeyMap, dogeMode: boolean = false) {
|
export async function removeFileFromS3InMain (configMap: IStringKeyMap, dogeMode: boolean = false) {
|
||||||
try {
|
try {
|
||||||
const { imgUrl, config: { accessKeyID, secretAccessKey, bucketName, region, endpoint, pathStyleAccess, rejectUnauthorized, proxy } } = configMap
|
const { imgUrl, config: { accessKeyID, secretAccessKey, bucketName, endpoint, pathStyleAccess, rejectUnauthorized, proxy } } = configMap
|
||||||
|
let { config: { region } } = configMap
|
||||||
const url = new URL(!/^https?:\/\//.test(imgUrl) ? `http://${imgUrl}` : imgUrl)
|
const url = new URL(!/^https?:\/\//.test(imgUrl) ? `http://${imgUrl}` : imgUrl)
|
||||||
let fileKey = url.pathname.replace(/^\/+/, '')
|
let fileKey = url.pathname.replace(/^\/+/, '')
|
||||||
if (pathStyleAccess) {
|
if (pathStyleAccess) {
|
||||||
@ -84,6 +85,9 @@ export async function removeFileFromS3InMain (configMap: IStringKeyMap, dogeMode
|
|||||||
? endpoint
|
? endpoint
|
||||||
: `http://${endpoint}`
|
: `http://${endpoint}`
|
||||||
: undefined
|
: undefined
|
||||||
|
if (endpointUrl && endpointUrl.includes('cloudflarestorage')) {
|
||||||
|
region = region || 'auto'
|
||||||
|
}
|
||||||
const sslEnabled = endpointUrl ? endpointUrl.startsWith('https') : true
|
const sslEnabled = endpointUrl ? endpointUrl.startsWith('https') : true
|
||||||
const agent = getAgent(proxy, sslEnabled)
|
const agent = getAgent(proxy, sslEnabled)
|
||||||
const commonOptions: AgentOptions = {
|
const commonOptions: AgentOptions = {
|
||||||
|
@ -14,7 +14,8 @@ interface SyncConfig {
|
|||||||
repo: string
|
repo: string
|
||||||
branch: string
|
branch: string
|
||||||
token: string
|
token: string
|
||||||
proxy?: string,
|
endpoint?: string
|
||||||
|
proxy?: string
|
||||||
interval?: number
|
interval?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -81,7 +82,7 @@ async function uploadLocalToRemote (syncConfig: SyncConfig, fileName: string) {
|
|||||||
logger.error(error)
|
logger.error(error)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
} else {
|
} else if (type === 'github') {
|
||||||
const octokit = getOctokit(syncConfig)
|
const octokit = getOctokit(syncConfig)
|
||||||
try {
|
try {
|
||||||
const res = await octokit.rest.repos.createOrUpdateFileContents({
|
const res = await octokit.rest.repos.createOrUpdateFileContents({
|
||||||
@ -97,6 +98,25 @@ async function uploadLocalToRemote (syncConfig: SyncConfig, fileName: string) {
|
|||||||
logger.error(error)
|
logger.error(error)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
const { endpoint = '' } = syncConfig
|
||||||
|
const apiUrl = `${endpoint}/api/v1/repos/${username}/${repo}/contents/${fileName}`
|
||||||
|
try {
|
||||||
|
const headers = {
|
||||||
|
Authorization: `token ${token}`
|
||||||
|
}
|
||||||
|
const res = await axios.post(apiUrl, {
|
||||||
|
message: `upload ${fileName} from PicList`,
|
||||||
|
content: fs.readFileSync(localFilePath, { encoding: 'base64' }),
|
||||||
|
branch
|
||||||
|
}, {
|
||||||
|
headers
|
||||||
|
})
|
||||||
|
return res.status >= 200 && res.status < 300
|
||||||
|
} catch (error: any) {
|
||||||
|
logger.error(error)
|
||||||
|
return false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -132,9 +152,8 @@ async function updateLocalToRemote (syncConfig: SyncConfig, fileName: string) {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
} else {
|
} else if (type === 'github') {
|
||||||
const octokit = getOctokit(syncConfig)
|
const octokit = getOctokit(syncConfig)
|
||||||
|
|
||||||
const shaRes = await octokit.rest.repos.getContent({
|
const shaRes = await octokit.rest.repos.getContent({
|
||||||
owner: username,
|
owner: username,
|
||||||
repo,
|
repo,
|
||||||
@ -156,6 +175,29 @@ async function updateLocalToRemote (syncConfig: SyncConfig, fileName: string) {
|
|||||||
sha
|
sha
|
||||||
})
|
})
|
||||||
return res.status === 200
|
return res.status === 200
|
||||||
|
} else {
|
||||||
|
const { endpoint = '' } = syncConfig
|
||||||
|
const apiUrl = `${endpoint}/api/v1/repos/${username}/${repo}/contents/${fileName}`
|
||||||
|
const headers = {
|
||||||
|
Authorization: `token ${token}`
|
||||||
|
}
|
||||||
|
const shaRes = await axios.get(apiUrl, {
|
||||||
|
headers
|
||||||
|
})
|
||||||
|
if (shaRes.status < 200 || shaRes.status > 300) {
|
||||||
|
throw new Error('get sha failed')
|
||||||
|
}
|
||||||
|
const data = shaRes.data as any
|
||||||
|
const sha = data.sha
|
||||||
|
const res = await axios.put(apiUrl, {
|
||||||
|
message: `update ${fileName} from PicList`,
|
||||||
|
content: fs.readFileSync(localFilePath, { encoding: 'base64' }),
|
||||||
|
branch,
|
||||||
|
sha
|
||||||
|
}, {
|
||||||
|
headers
|
||||||
|
})
|
||||||
|
return res.status >= 200 && res.status < 300
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -163,20 +205,25 @@ async function downloadRemoteToLocal (syncConfig: SyncConfig, fileName: string)
|
|||||||
const localFilePath = path.join(STORE_PATH, fileName)
|
const localFilePath = path.join(STORE_PATH, fileName)
|
||||||
const { username, repo, branch, token, proxy, type } = syncConfig
|
const { username, repo, branch, token, proxy, type } = syncConfig
|
||||||
if (type === 'gitee') {
|
if (type === 'gitee') {
|
||||||
const url = `https://gitee.com/api/v5/repos/${username}/${repo}/contents/${fileName}`
|
try {
|
||||||
const res = await axios.get(url, {
|
const url = `https://gitee.com/api/v5/repos/${username}/${repo}/contents/${fileName}`
|
||||||
params: {
|
const res = await axios.get(url, {
|
||||||
access_token: token,
|
params: {
|
||||||
ref: branch
|
access_token: token,
|
||||||
|
ref: branch
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (res.status >= 200 && res.status < 300) {
|
||||||
|
const content = res.data.content
|
||||||
|
await fs.writeFile(localFilePath, Buffer.from(content, 'base64'))
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
})
|
return false
|
||||||
if (res.status >= 200 && res.status < 300) {
|
} catch (error: any) {
|
||||||
const content = res.data.content
|
logger.error(error)
|
||||||
await fs.writeFile(localFilePath, Buffer.from(content, 'base64'))
|
return false
|
||||||
return true
|
|
||||||
}
|
}
|
||||||
return false
|
} else if (type === 'github') {
|
||||||
} else {
|
|
||||||
const octokit = getOctokit(syncConfig)
|
const octokit = getOctokit(syncConfig)
|
||||||
try {
|
try {
|
||||||
const res = await octokit.rest.repos.getContent({
|
const res = await octokit.rest.repos.getContent({
|
||||||
@ -209,6 +256,29 @@ async function downloadRemoteToLocal (syncConfig: SyncConfig, fileName: string)
|
|||||||
logger.error(error)
|
logger.error(error)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
const { endpoint = '' } = syncConfig
|
||||||
|
const apiUrl = `${endpoint}/api/v1/repos/${username}/${repo}/contents/${fileName}`
|
||||||
|
try {
|
||||||
|
const headers = {
|
||||||
|
Authorization: `token ${token}`
|
||||||
|
}
|
||||||
|
const res = await axios.get(apiUrl, {
|
||||||
|
headers,
|
||||||
|
params: {
|
||||||
|
ref: branch
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (res.status >= 200 && res.status < 300) {
|
||||||
|
const content = res.data.content
|
||||||
|
await fs.writeFile(localFilePath, Buffer.from(content, 'base64'))
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
} catch (error: any) {
|
||||||
|
logger.error(error)
|
||||||
|
return false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1129,39 +1129,49 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="sync.type === 'github' ? $T('SETTINGS_SYNC_CONFIG_GITHUB_USERNAME') : $T('SETTINGS_SYNC_CONFIG_GITEE_USERNAME')"
|
v-if="sync.type === 'gitea'"
|
||||||
|
:label="$T('SETTINGS_SYNC_CONFIG_GITEA_HOST')"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model.trim="sync.endpoint"
|
||||||
|
type="input"
|
||||||
|
:placeholder="$T('SETTINGS_SYNC_CONFIG_GITEA_HOST')"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
:label="$T(`SETTINGS_SYNC_CONFIG_${sync.type.toUpperCase()}_USERNAME` as any)"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-input
|
||||||
v-model.trim="sync.username"
|
v-model.trim="sync.username"
|
||||||
type="input"
|
type="input"
|
||||||
:placeholder="sync.type === 'github' ? $T('SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER') : $T('SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER')"
|
:placeholder="$T(`SETTINGS_SYNC_CONFIG_${sync.type.toUpperCase()}_USERNAME_PLACEHOLDER` as any)"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="sync.type === 'github' ? $T('SETTINGS_SYNC_CONFIG_GITHUB_REPO') : $T('SETTINGS_SYNC_CONFIG_GITEE_REPO')"
|
:label="$T(`SETTINGS_SYNC_CONFIG_${sync.type.toUpperCase()}_REPO` as any)"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-input
|
||||||
v-model.trim="sync.repo"
|
v-model.trim="sync.repo"
|
||||||
type="input"
|
type="input"
|
||||||
:placeholder="sync.type === 'github' ? $T('SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER') : $T('SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER')"
|
:placeholder="$T(`SETTINGS_SYNC_CONFIG_${sync.type.toUpperCase()}_REPO_PLACEHOLDER` as any)"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="sync.type === 'github' ? $T('SETTINGS_SYNC_CONFIG_GITHUB_BRANCH') : $T('SETTINGS_SYNC_CONFIG_GITEE_BRANCH')"
|
:label="$T(`SETTINGS_SYNC_CONFIG_${sync.type.toUpperCase()}_BRANCH` as any)"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-input
|
||||||
v-model.trim="sync.branch"
|
v-model.trim="sync.branch"
|
||||||
type="input"
|
type="input"
|
||||||
:placeholder="sync.type === 'github' ? $T('SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER') : $T('SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER')"
|
:placeholder="$T(`SETTINGS_SYNC_CONFIG_${sync.type.toUpperCase()}_BRANCH_PLACEHOLDER` as any)"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="sync.type === 'github' ? $T('SETTINGS_SYNC_CONFIG_GITHUB_TOKEN') : $T('SETTINGS_SYNC_CONFIG_GITEE_TOKEN')"
|
:label="$T(`SETTINGS_SYNC_CONFIG_${sync.type.toUpperCase()}_TOKEN` as any)"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-input
|
||||||
v-model.trim="sync.token"
|
v-model.trim="sync.token"
|
||||||
type="input"
|
type="input"
|
||||||
:placeholder="sync.type === 'github' ? $T('SETTINGS_SYNC_CONFIG_GITHUB_TOKEN_PLACEHOLDER') : $T('SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER')"
|
:placeholder="$T(`SETTINGS_SYNC_CONFIG_${sync.type.toUpperCase()}_TOKEN_PLACEHOLDER` as any)"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
@ -1785,6 +1795,7 @@ const sync = ref({
|
|||||||
repo: '',
|
repo: '',
|
||||||
branch: '',
|
branch: '',
|
||||||
token: '',
|
token: '',
|
||||||
|
endpoint: '',
|
||||||
proxy: '',
|
proxy: '',
|
||||||
interval: 60
|
interval: 60
|
||||||
})
|
})
|
||||||
@ -1797,6 +1808,10 @@ const syncType = [
|
|||||||
{
|
{
|
||||||
label: 'Gitee',
|
label: 'Gitee',
|
||||||
value: 'gitee'
|
value: 'gitee'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Gitea',
|
||||||
|
value: 'gitea'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1808,6 +1823,7 @@ async function cancelSyncSetting () {
|
|||||||
repo: '',
|
repo: '',
|
||||||
branch: '',
|
branch: '',
|
||||||
token: '',
|
token: '',
|
||||||
|
endpoint: '',
|
||||||
proxy: '',
|
proxy: '',
|
||||||
interval: 60
|
interval: 60
|
||||||
}
|
}
|
||||||
@ -1904,6 +1920,7 @@ async function initData () {
|
|||||||
repo: '',
|
repo: '',
|
||||||
branch: '',
|
branch: '',
|
||||||
token: '',
|
token: '',
|
||||||
|
endpoint: '',
|
||||||
proxy: '',
|
proxy: '',
|
||||||
interval: 60
|
interval: 60
|
||||||
}
|
}
|
||||||
|
9
src/universal/types/i18n.d.ts
vendored
9
src/universal/types/i18n.d.ts
vendored
@ -245,23 +245,32 @@ interface ILocales {
|
|||||||
SETTINGS_SYNC_CONFIG_SELECT_CONFIG: string
|
SETTINGS_SYNC_CONFIG_SELECT_CONFIG: string
|
||||||
SETTINGS_SYNC_CONFIG_SELECT_GALLERY: string
|
SETTINGS_SYNC_CONFIG_SELECT_GALLERY: string
|
||||||
SETTINGS_SYNC_CONFIG_SELECT_BOTH: string
|
SETTINGS_SYNC_CONFIG_SELECT_BOTH: string
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_HOST: string
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME: string
|
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME: string
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_USERNAME: string
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME: string
|
SETTINGS_SYNC_CONFIG_GITEE_USERNAME: string
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO: string
|
SETTINGS_SYNC_CONFIG_GITHUB_REPO: string
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_REPO: string
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_REPO: string
|
SETTINGS_SYNC_CONFIG_GITEE_REPO: string
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH: string
|
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH: string
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_BRANCH: string
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH: string
|
SETTINGS_SYNC_CONFIG_GITEE_BRANCH: string
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN: string
|
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN: string
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_TOKEN: string
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN: string
|
SETTINGS_SYNC_CONFIG_GITEE_TOKEN: string
|
||||||
SETTINGS_SYNC_CONFIG_PROXY: string
|
SETTINGS_SYNC_CONFIG_PROXY: string
|
||||||
SETTINGS_SYNC_CONFIG_INTERVAL: string
|
SETTINGS_SYNC_CONFIG_INTERVAL: string
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER: string
|
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER: string
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_USERNAME_PLACEHOLDER: string
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER: string
|
SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER: string
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER: string
|
SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER: string
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_REPO_PLACEHOLDER: string
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER: string
|
SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER: string
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER: string
|
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER: string
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_BRANCH_PLACEHOLDER: string
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER: string
|
SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER: string
|
||||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN_PLACEHOLDER: string
|
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN_PLACEHOLDER: string
|
||||||
|
SETTINGS_SYNC_CONFIG_GITEA_TOKEN_PLACEHOLDER: string
|
||||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER: string
|
SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER: string
|
||||||
SETTINGS_SYNC_CONFIG_PROXY_PLACEHOLDER: string
|
SETTINGS_SYNC_CONFIG_PROXY_PLACEHOLDER: string
|
||||||
SETTINGS_UP_DOWN_DESC: string
|
SETTINGS_UP_DOWN_DESC: string
|
||||||
|
Loading…
Reference in New Issue
Block a user