mirror of
https://github.com/Kuingsmile/PicList.git
synced 2025-03-13 00:18:13 -04:00
✨ Feature(custom): support gitea for setting file sync
This commit is contained in:
parent
2dc96f60c6
commit
95f1035608
@ -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_GALLERY: Gallery files only
|
||||
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_GITEA_USERNAME: username
|
||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME: username
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO: repository (private)
|
||||
SETTINGS_SYNC_CONFIG_GITEA_REPO: repository
|
||||
SETTINGS_SYNC_CONFIG_GITEE_REPO: repository path
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH: branch
|
||||
SETTINGS_SYNC_CONFIG_GITEA_BRANCH: branch
|
||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH: branch
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN: Token
|
||||
SETTINGS_SYNC_CONFIG_GITEA_TOKEN: Token
|
||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN: Token
|
||||
SETTINGS_SYNC_CONFIG_PROXY: Proxy
|
||||
SETTINGS_SYNC_CONFIG_INTERVAL: Interval(min)
|
||||
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_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_GITHUB_BRANCH_PLACEHOLDER: Please enter GitHub 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_GITEA_TOKEN_PLACEHOLDER: Please enter Gitea Token
|
||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER: Please enter Gitee Token
|
||||
SETTINGS_SYNC_CONFIG_PROXY_PLACEHOLDER: Please enter proxy
|
||||
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_GALLERY: 仅相册文件
|
||||
SETTINGS_SYNC_CONFIG_SELECT_BOTH: 配置文件和相册文件
|
||||
SETTINGS_SYNC_CONFIG_GITEA_HOST: Gitea 网址
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME: GitHub用户名
|
||||
SETTINGS_SYNC_CONFIG_GITEA_USERNAME: Gitea用户名
|
||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME: Gitee用户名
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO: 仓库(私有)
|
||||
SETTINGS_SYNC_CONFIG_GITEA_REPO: 仓库
|
||||
SETTINGS_SYNC_CONFIG_GITEE_REPO: 仓库路径名
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH: GitHub分支
|
||||
SETTINGS_SYNC_CONFIG_GITEA_BRANCH: Gitea分支
|
||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH: Gitee分支
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN: GitHub Token
|
||||
SETTINGS_SYNC_CONFIG_GITEA_TOKEN: Gitea Token
|
||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN: Gitee Token
|
||||
SETTINGS_SYNC_CONFIG_PROXY: 代理
|
||||
SETTINGS_SYNC_CONFIG_INTERVAL: 间隔(分钟)
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER: 请输入GitHub用户名
|
||||
SETTINGS_SYNC_CONFIG_GITEA_USERNAME_PLACEHOLDER: 请输入Gitea用户名
|
||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER: 请输入Gitee用户名
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER: 请输入GitHub仓库名
|
||||
SETTINGS_SYNC_CONFIG_GITEA_REPO_PLACEHOLDER: 请输入Gitea仓库名
|
||||
SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER: 请输入Gitee仓库名
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER: 请输入GitHub分支名
|
||||
SETTINGS_SYNC_CONFIG_GITEA_BRANCH_PLACEHOLDER: 请输入Gitea分支名
|
||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER: 请输入Gitee分支名
|
||||
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_PROXY_PLACEHOLDER: 请输入代理地址
|
||||
SETTINGS_UP_DOWN_DESC: 上传下载配置文件
|
||||
|
@ -250,23 +250,32 @@ SETTINGS_SYNC_CONFIG_SELECT_FILE: 選擇同步檔案
|
||||
SETTINGS_SYNC_CONFIG_SELECT_CONFIG: 僅配置檔案
|
||||
SETTINGS_SYNC_CONFIG_SELECT_GALLERY: 僅相簿檔案
|
||||
SETTINGS_SYNC_CONFIG_SELECT_BOTH: 配置檔案和相簿檔案
|
||||
SETTINGS_SYNC_CONFIG_GITEA_HOST: Gitea Host
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME: 用戶名
|
||||
SETTINGS_SYNC_CONFIG_GITEA_USERNAME: 用戶名
|
||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME: 用戶名
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO: 儲存庫(私有)
|
||||
SETTINGS_SYNC_CONFIG_GITEA_REPO: 儲存庫
|
||||
SETTINGS_SYNC_CONFIG_GITEE_REPO: 儲存庫路径
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH: GitHub 分支
|
||||
SETTINGS_SYNC_CONFIG_GITEA_BRANCH: Gitea 分支
|
||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH: Gitee 分支
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN: GitHub Token
|
||||
SETTINGS_SYNC_CONFIG_GITEA_TOKEN: Gitea Token
|
||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN: Gitee Token
|
||||
SETTINGS_SYNC_CONFIG_PROXY: 代理
|
||||
SETTINGS_SYNC_CONFIG_INTERVAL: 間隔(分鐘)
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER: 請輸入 GitHub 用戶名
|
||||
SETTINGS_SYNC_CONFIG_GITEA_USERNAME_PLACEHOLDER: 請輸入 Gitea 用戶名
|
||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER: 請輸入 Gitee 用戶名
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER: 請輸入 GitHub 儲存庫名稱
|
||||
SETTINGS_SYNC_CONFIG_GITEA_REPO_PLACEHOLDER: 請輸入 Gitea 儲存庫名稱
|
||||
SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER: 請輸入 Gitee 儲存庫名稱
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER: 請輸入 GitHub 分支名稱
|
||||
SETTINGS_SYNC_CONFIG_GITEA_BRANCH_PLACEHOLDER: 請輸入 Gitea 分支名稱
|
||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER: 請輸入 Gitee 分支名稱
|
||||
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_PROXY_PLACEHOLDER: 請輸入代理地址
|
||||
SETTINGS_UP_DOWN_DESC: 上傳和下載配置檔案
|
||||
|
@ -14,7 +14,8 @@ interface SyncConfig {
|
||||
repo: string
|
||||
branch: string
|
||||
token: string
|
||||
proxy?: string,
|
||||
endpoint?: string
|
||||
proxy?: string
|
||||
interval?: number
|
||||
}
|
||||
|
||||
@ -81,7 +82,7 @@ async function uploadLocalToRemote (syncConfig: SyncConfig, fileName: string) {
|
||||
logger.error(error)
|
||||
return false
|
||||
}
|
||||
} else {
|
||||
} else if (type === 'github') {
|
||||
const octokit = getOctokit(syncConfig)
|
||||
try {
|
||||
const res = await octokit.rest.repos.createOrUpdateFileContents({
|
||||
@ -97,6 +98,25 @@ async function uploadLocalToRemote (syncConfig: SyncConfig, fileName: string) {
|
||||
logger.error(error)
|
||||
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 false
|
||||
} else {
|
||||
} else if (type === 'github') {
|
||||
const octokit = getOctokit(syncConfig)
|
||||
|
||||
const shaRes = await octokit.rest.repos.getContent({
|
||||
owner: username,
|
||||
repo,
|
||||
@ -156,6 +175,29 @@ async function updateLocalToRemote (syncConfig: SyncConfig, fileName: string) {
|
||||
sha
|
||||
})
|
||||
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 { username, repo, branch, token, proxy, type } = syncConfig
|
||||
if (type === 'gitee') {
|
||||
const url = `https://gitee.com/api/v5/repos/${username}/${repo}/contents/${fileName}`
|
||||
const res = await axios.get(url, {
|
||||
params: {
|
||||
access_token: token,
|
||||
ref: branch
|
||||
try {
|
||||
const url = `https://gitee.com/api/v5/repos/${username}/${repo}/contents/${fileName}`
|
||||
const res = await axios.get(url, {
|
||||
params: {
|
||||
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
|
||||
}
|
||||
})
|
||||
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
|
||||
}
|
||||
return false
|
||||
} else {
|
||||
} else if (type === 'github') {
|
||||
const octokit = getOctokit(syncConfig)
|
||||
try {
|
||||
const res = await octokit.rest.repos.getContent({
|
||||
@ -209,6 +256,29 @@ async function downloadRemoteToLocal (syncConfig: SyncConfig, fileName: string)
|
||||
logger.error(error)
|
||||
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-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
|
||||
v-model.trim="sync.username"
|
||||
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
|
||||
: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
|
||||
v-model.trim="sync.repo"
|
||||
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
|
||||
: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
|
||||
v-model.trim="sync.branch"
|
||||
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
|
||||
: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
|
||||
v-model.trim="sync.token"
|
||||
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
|
||||
@ -1785,6 +1795,7 @@ const sync = ref({
|
||||
repo: '',
|
||||
branch: '',
|
||||
token: '',
|
||||
endpoint: '',
|
||||
proxy: '',
|
||||
interval: 60
|
||||
})
|
||||
@ -1797,6 +1808,10 @@ const syncType = [
|
||||
{
|
||||
label: 'Gitee',
|
||||
value: 'gitee'
|
||||
},
|
||||
{
|
||||
label: 'Gitea',
|
||||
value: 'gitea'
|
||||
}
|
||||
]
|
||||
|
||||
@ -1808,6 +1823,7 @@ async function cancelSyncSetting () {
|
||||
repo: '',
|
||||
branch: '',
|
||||
token: '',
|
||||
endpoint: '',
|
||||
proxy: '',
|
||||
interval: 60
|
||||
}
|
||||
@ -1904,6 +1920,7 @@ async function initData () {
|
||||
repo: '',
|
||||
branch: '',
|
||||
token: '',
|
||||
endpoint: '',
|
||||
proxy: '',
|
||||
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_GALLERY: string
|
||||
SETTINGS_SYNC_CONFIG_SELECT_BOTH: string
|
||||
SETTINGS_SYNC_CONFIG_GITEA_HOST: string
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME: string
|
||||
SETTINGS_SYNC_CONFIG_GITEA_USERNAME: string
|
||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME: string
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO: string
|
||||
SETTINGS_SYNC_CONFIG_GITEA_REPO: string
|
||||
SETTINGS_SYNC_CONFIG_GITEE_REPO: string
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH: string
|
||||
SETTINGS_SYNC_CONFIG_GITEA_BRANCH: string
|
||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH: string
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN: string
|
||||
SETTINGS_SYNC_CONFIG_GITEA_TOKEN: string
|
||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN: string
|
||||
SETTINGS_SYNC_CONFIG_PROXY: string
|
||||
SETTINGS_SYNC_CONFIG_INTERVAL: 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_GITHUB_REPO_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_GITEA_REPO_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_GITEE_REPO_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_GITHUB_TOKEN_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_GITEA_TOKEN_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_PROXY_PLACEHOLDER: string
|
||||
SETTINGS_UP_DOWN_DESC: string
|
||||
|
Loading…
Reference in New Issue
Block a user