🚧 WIP: add sftp into manage page

This commit is contained in:
萌萌哒赫萝 2023-08-19 03:02:50 -07:00
parent 3e32cbba33
commit 1629dcaef0
9 changed files with 333 additions and 21 deletions

View File

@ -629,6 +629,43 @@ MANAGE_CONSTANT_LOCAL_BUCKET_DESC: Special Configuration
MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER: 'bucket1'
MANAGE_CONSTANT_LOCAL_BUCKET_TOOLTIP: This cannot be modified, only for software compatibility consideration
MANAGE_CONSTANT_SFTP_NAME: SFTP
MANAGE_CONSTANT_SFTP_ALIAS_DESC: Alias - Required
MANAGE_CONSTANT_SFTP_ALIAS_PLACEHOLDER: Unique identifier for this configuration
MANAGE_CONSTANT_SFTP_HOST_DESC: SSH Host - Required
MANAGE_CONSTANT_SFTP_HOST_PLACEHOLDER: 'e.g. 233.233.233.233'
MANAGE_CONSTANT_SFTP_PORT_DESC: SSH Port - Required
MANAGE_CONSTANT_SFTP_PORT_PLACEHOLDER: 'e.g. 22'
MANAGE_CONSTANT_SFTP_USERNAME_DESC: Username
MANAGE_CONSTANT_SFTP_USERNAME_PLACEHOLDER: Please enter your username
MANAGE_CONSTANT_SFTP_PASSWORD_DESC: Password
MANAGE_CONSTANT_SFTP_PASSWORD_PLACEHOLDER: Please enter your password
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_DESC: Private Key
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_PLACEHOLDER: Please enter your private key
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_TOOLTIP: 'e.g. /home/user/.ssh/id_rsa'
MANAGE_CONSTANT_SFTP_PASSPHRASE_DESC: Private Key Password
MANAGE_CONSTANT_SFTP_PASSPHRASE_PLACEHOLDER: Please enter your private key password
MANAGE_CONSTANT_SFTP_BASE_DIR_DESC: Base Directory
MANAGE_CONSTANT_SFTP_BASE_DIR_PLACEHOLDER: 'e.g. /dir1'
MANAGE_CONSTANT_SFTP_CUSTOM_URL_DESC: Custom Domain
MANAGE_CONSTANT_SFTP_CUSTOM_URL_PLACEHOLDER: 'e.g. https://example.com'
MANAGE_CONSTANT_SFTP_CUSTOM_URL_TOOLTIP: If your SFTP server supports custom domains, please fill in
MANAGE_CONSTANT_SFTP_WEB_PATH: Web Path
MANAGE_CONSTANT_SFTP_WEB_PATH_PLACEHOLDER: 'e.g. test/ttc'
MANAGE_CONSTANT_SFTP_WEB_PATH_TOOLTIP: 'Used to generate URL'
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_DESC: File mode
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_PLACEHOLDER: 'e.g. 0644'
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_TOOLTIP: 'Used to set the permissions of uploaded files'
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_DESC: Directory mode
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_PLACEHOLDER: 'e.g. 0755'
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_TOOLTIP: 'Used to set the permissions of uploaded directories'
MANAGE_CONSTANT_SFTP_EXPLAIN: 'SFTP Configuration'
MANAGE_CONSTANT_SFTP_REFER_TEXT: 'Refer to:'
MANAGE_CONSTANT_SFTP_BASE_DIR_RULE_MESSAGE: baseDir cannot be empty
MANAGE_CONSTANT_SFTP_BUCKET_DESC: Special Configuration
MANAGE_CONSTANT_SFTP_BUCKET_PLACEHOLDER: 'e.g. bucket1'
MANAGE_CONSTANT_SFTP_BUCKET_TOOLTIP: This cannot be modified, only for software compatibility consideration
MANAGE_LOGIN_PAGE_PANE_NAME: Saved Config
MANAGE_LOGIN_PAGE_PANE_DESC: Click on the icon or alias to view details, Enter to view the file page, Delete to remove the configuration
MANAGE_LOGIN_PAGE_PANE_LOADING: Importing...

View File

@ -632,6 +632,44 @@ MANAGE_CONSTANT_LOCAL_BUCKET_DESC: 特殊配置
MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER: '例如bucket1'
MANAGE_CONSTANT_LOCAL_BUCKET_TOOLTIP: 此处不可修改,仅为软件兼容性考虑
MANAGE_CONSTANT_SFTP_NAME: SFTP
MANAGE_CONSTANT_SFTP_ALIAS_DESC: 配置别名-必需
MANAGE_CONSTANT_SFTP_ALIAS_PLACEHOLDER: 该配置的唯一标识
MANAGE_CONSTANT_SFTP_HOST_DESC: SSH地址-必需
MANAGE_CONSTANT_SFTP_HOST_PLACEHOLDER: '例如233.233.233.233'
MANAGE_CONSTANT_SFTP_PORT_DESC: SSH端口-必需
MANAGE_CONSTANT_SFTP_PORT_PLACEHOLDER: '例如22'
MANAGE_CONSTANT_SFTP_USERNAME_DESC: 用户名
MANAGE_CONSTANT_SFTP_USERNAME_PLACEHOLDER: 请填写用户名
MANAGE_CONSTANT_SFTP_PASSWORD_DESC: 密码
MANAGE_CONSTANT_SFTP_PASSWORD_PLACEHOLDER: 请填写密码
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_DESC: 私钥地址
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_PLACEHOLDER: 请填写私钥地址
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_TOOLTIP: '例如:/home/user/.ssh/id_rsa'
MANAGE_CONSTANT_SFTP_PASSPHRASE_DESC: 私钥密码
MANAGE_CONSTANT_SFTP_PASSPHRASE_PLACEHOLDER: 请填写私钥密码
MANAGE_CONSTANT_SFTP_BASE_DIR_DESC: 起始目录-可选
MANAGE_CONSTANT_SFTP_BASE_DIR_PLACEHOLDER: '例如:/dir1'
MANAGE_CONSTANT_SFTP_CUSTOM_URL_DESC: 自定义域名-可选
MANAGE_CONSTANT_SFTP_CUSTOM_URL_PLACEHOLDER: '例如https://example.com'
MANAGE_CONSTANT_SFTP_CUSTOM_URL_TOOLTIP: 如果您的对应路径支持域名访问,请填写
MANAGE_CONSTANT_SFTP_WEB_PATH: 网址拼接用起始路径
MANAGE_CONSTANT_SFTP_WEB_PATH_PLACEHOLDER: '例如test/ttc'
MANAGE_CONSTANT_SFTP_WEB_PATH_TOOLTIP: '用于拼接网址'
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_DESC: 文件权限
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_PLACEHOLDER: '例如0644'
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_TOOLTIP: '用于设置上传文件的权限'
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_DESC: 目录权限
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_PLACEHOLDER: '例如0755'
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_TOOLTIP: '用于设置上传目录的权限'
MANAGE_CONSTANT_SFTP_EXPLAIN: 'SFTP配置'
MANAGE_CONSTANT_SFTP_REFER_TEXT: '配置教程请参考: '
MANAGE_CONSTANT_SFTP_BASE_DIR_RULE_MESSAGE: 起始目录不能为空
MANAGE_CONSTANT_SFTP_BUCKET_DESC: 特殊配置
MANAGE_CONSTANT_SFTP_BUCKET_PLACEHOLDER: '例如bucket1'
MANAGE_CONSTANT_SFTP_BUCKET_TOOLTIP: 此处不可修改,仅为软件兼容性考虑
MANAGE_LOGIN_PAGE_PANE_NAME: 已保存配置
MANAGE_LOGIN_PAGE_PANE_DESC: 点击图标和别名可查看详情,点击进入可查看文件页面,点击删除可删除配置
MANAGE_LOGIN_PAGE_PANE_LOADING: 导入配置...

View File

@ -629,6 +629,43 @@ MANAGE_CONSTANT_LOCAL_BUCKET_DESC: 特殊配置
MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER: '例如bucket1'
MANAGE_CONSTANT_LOCAL_BUCKET_TOOLTIP: 此處不可修改,僅為軟體相容性考量
MANAGE_CONSTANT_SFTP_NAME: SFTP
MANAGE_CONSTANT_SFTP_ALIAS_DESC: 配置別名-必需
MANAGE_CONSTANT_SFTP_ALIAS_PLACEHOLDER: 該配置的唯一標識
MANAGE_CONSTANT_SFTP_HOST_DESC: 地址-必需
MANAGE_CONSTANT_SFTP_HOST_PLACEHOLDER: '例如233.233.233.233'
MANAGE_CONSTANT_SFTP_PORT_DESC: 端口-必需
MANAGE_CONSTANT_SFTP_PORT_PLACEHOLDER: '例如22'
MANAGE_CONSTANT_SFTP_USERNAME_DESC: 用戶名
MANAGE_CONSTANT_SFTP_USERNAME_PLACEHOLDER: 請填寫用戶名
MANAGE_CONSTANT_SFTP_PASSWORD_DESC: 密碼
MANAGE_CONSTANT_SFTP_PASSWORD_PLACEHOLDER: 請填寫密碼
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_DESC: 私鑰地址
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_PLACEHOLDER: 請填寫私鑰地址
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_TOOLTIP: '例如:/home/user/.ssh/id_rsa'
MANAGE_CONSTANT_SFTP_PASSPHRASE_DESC: 私鑰密碼
MANAGE_CONSTANT_SFTP_PASSPHRASE_PLACEHOLDER: 請填寫私鑰密碼
MANAGE_CONSTANT_SFTP_BASE_DIR_DESC: 起始目錄-可選
MANAGE_CONSTANT_SFTP_BASE_DIR_PLACEHOLDER: '例如:/dir1'
MANAGE_CONSTANT_SFTP_CUSTOM_URL_DESC: 自定義網域-可選
MANAGE_CONSTANT_SFTP_CUSTOM_URL_PLACEHOLDER: '例如https://example.com'
MANAGE_CONSTANT_SFTP_CUSTOM_URL_TOOLTIP: 如果您的目錄支援自定義網域,請填寫
MANAGE_CONSTANT_SFTP_WEB_PATH: 網路路徑-可選
MANAGE_CONSTANT_SFTP_WEB_PATH_PLACEHOLDER: '例如test/ttc'
MANAGE_CONSTANT_SFTP_WEB_PATH_TOOLTIP: '用於拼接網址'
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_DESC: 文件權限
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_PLACEHOLDER: '例如0644'
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_TOOLTIP: '用於設置上傳文件的權限'
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_DESC: 目錄權限
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_PLACEHOLDER: '例如0755'
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_TOOLTIP: '用於設置上傳目錄的權限'
MANAGE_CONSTANT_SFTP_EXPLAIN: 'SFTP配置'
MANAGE_CONSTANT_SFTP_REFER_TEXT: '配置教程請參考: '
MANAGE_CONSTANT_SFTP_BASE_DIR_RULE_MESSAGE: 起始目錄不能為空
MANAGE_CONSTANT_SFTP_BUCKET_DESC: 特殊配置
MANAGE_CONSTANT_SFTP_BUCKET_PLACEHOLDER: '例如bucket1'
MANAGE_CONSTANT_SFTP_BUCKET_TOOLTIP: 此處不可修改,僅為軟體相容性考量
MANAGE_LOGIN_PAGE_PANE_NAME: 已保存配置
MANAGE_LOGIN_PAGE_PANE_DESC: 點擊圖標和別名可查看詳情,點擊進入可查看檔案頁面,點擊刪除可刪除配置
MANAGE_LOGIN_PAGE_PANE_LOADING: 導入配置...

View File

View File

@ -562,7 +562,7 @@ function handleConfigImport (alias: string) {
async function getCurrentConfigList () {
const configList = await getPicBedsConfig<any>('uploader') ?? {}
const pbList = ['aliyun', 'aws-s3', 'github', 'imgur', 'local', 'qiniu', 'smms', 'tcyun', 'upyun', 'webdavplist']
const pbList = ['aliyun', 'aws-s3', 'github', 'imgur', 'local', 'qiniu', 'sftpplist', 'smms', 'tcyun', 'upyun', 'webdavplist']
const filteredConfigList = pbList.flatMap((pb) => {
const config = configList[pb]
@ -593,7 +593,13 @@ function initArray (arrayT: string | string[], defaultValue: string[]) {
}
async function transUpToManage (config: IUploaderConfigListItem, picBedName: string, autoImportPicBed: string[]) {
const alias = `${picBedName === 'webdavplist' ? 'webdav' : picBedName}-${config._configName ?? 'Default'}-imp`
const alias = `${picBedName === 'webdavplist'
? 'webdav'
: picBedName === 'sftpplist'
? 'sftp'
: picBedName === 'aws-s3'
? 's3plist'
: picBedName}-${config._configName ?? 'Default'}-imp`
if (!autoImportPicBed.includes(picBedName) || isImported(alias)) return
const commonConfig = {
alias,
@ -728,10 +734,30 @@ async function transUpToManage (config: IUploaderConfigListItem, picBedName: str
})
delete resultMap.paging
break
case 'sftpplist':
if (!config.host) return
Object.assign(resultMap, {
...commonConfig,
picBedName: 'sftp',
host: config.host,
port: config.port || 22,
username: config.username,
password: config.password,
privateKey: config.privateKey,
passphrase: config.passphrase,
baseDir: config.uploadPath || '/',
webPath: config.webPath || '',
customUrl: config.customUrl || '',
fileMode: config.fileMode || '0664',
dirMode: config.dirMode || '0775'
})
delete resultMap.paging
break
case 'aws-s3':
if (!config.accessKeyID || !config.secretAccessKey) return
Object.assign(resultMap, {
...commonConfig,
picBedName: 's3plist',
accessKeyId: config.accessKeyID,
secretAccessKey: config.secretAccessKey,
endpoint: config.endpoint || '',

View File

@ -336,16 +336,17 @@ watch(route, async (newRoute) => {
const getCurrentActiveBucket = computed(() => bucketNameList.value.length === 0 ? '' : bucketNameList.value[0])
const urlMap : IStringKeyMap = {
smms: 'https://smms.app',
aliyun: 'https://oss.console.aliyun.com',
github: 'https://github.com',
imgur: 'https://imgur.com',
aliyun: 'https://oss.console.aliyun.com',
local: 'https://piclist.cn',
qiniu: 'https://portal.qiniu.com',
s3plist: 'https://aws.amazon.com/cn/s3/',
sftp: 'https://github.com/imba97/picgo-plugin-sftp-uploader',
smms: 'https://smms.app',
tcyun: 'https://console.cloud.tencent.com/cos',
upyun: 'https://console.upyun.com',
s3plist: 'https://aws.amazon.com/cn/s3/',
webdavplist: 'https://baike.baidu.com/item/WebDAV/4610909',
local: 'https://piclist.cn'
webdavplist: 'https://baike.baidu.com/item/WebDAV/4610909'
}
const showNewIconList = ['aliyun', 'qiniu', 'tcyun']
@ -360,6 +361,7 @@ const menuTitleMap:IStringKeyMap = {
tcyun: bucketT,
upyun: bucketT,
s3plist: bucketT,
sftp: '',
smms: galleryT,
imgur: galleryT,
github: repositoryT,

View File

@ -52,15 +52,17 @@ export function renameFileNameWithCustomString (oldName: string, customFormat: s
}, customFormat) + ext
}
export function renameFile (typeMap : IStringKeyMap, oldName: string): string {
if (typeMap.timestampRename) {
export function renameFile ({ timestampRename, randomStringRename, customRename, customRenameFormat }: IStringKeyMap, oldName = ''): string {
switch (true) {
case timestampRename:
return renameFileNameWithTimestamp(oldName)
} else if (typeMap.randomStringRename) {
case randomStringRename:
return renameFileNameWithRandomString(oldName, 20)
} else if (typeMap.customRename) {
return renameFileNameWithCustomString(oldName, typeMap.customRenameFormat)
}
case customRename:
return renameFileNameWithCustomString(oldName, customRenameFormat)
default:
return oldName
}
}
export async function formatLink (url: string, fileName: string, type: string, format?: string) : Promise<string> {

View File

@ -22,7 +22,7 @@ const itemsPerPageRule = [
trigger: 'change'
},
{
validator: (rule: any, value: any, callback: any) => {
validator: (_rule: any, value: any, callback: any) => {
if (value < 20 || value > 1000) {
callback(new Error($T('MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_C')))
} else {
@ -40,7 +40,7 @@ const aliasRule = [
trigger: 'blur'
},
{
validator: (rule: any, value: any, callback: any) => {
validator: (_rule: any, value: any, callback: any) => {
const reg = /^[\u4e00-\u9fff_a-zA-Z0-9-]+$/
if (!reg.test(value)) {
callback(new Error($T('MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_B')))
@ -469,7 +469,7 @@ export const supportedPicBedList: IStringKeyMap = {
trigger: 'change'
},
{
validator: (rule: any, value: any, callback: any) => {
validator: (_rule: any, value: any, callback: any) => {
if (value) {
const customUrlList = value.split(',')
const customUrlValid = customUrlList.every((customUrl: string) => {
@ -722,7 +722,7 @@ export const supportedPicBedList: IStringKeyMap = {
tooltip: $T('MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_TOOLTIP'),
rule: [
{
validator: (rule: any, value: any, callback: any) => {
validator: (_rule: any, value: any, callback: any) => {
if (value) {
if (!/^https?:\/\/.+/.test(value)) {
callback(new Error($T('MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE')))
@ -786,7 +786,7 @@ export const supportedPicBedList: IStringKeyMap = {
default: '',
rule: [
{
validator: (rule: any, value: any, callback: any) => {
validator: (_rule: any, value: any, callback: any) => {
if (!value) {
callback(new Error($T('MANAGE_CONSTANT_LOCAL_BASE_DIR_RULE_MESSAGE')))
} else {
@ -804,7 +804,7 @@ export const supportedPicBedList: IStringKeyMap = {
tooltip: $T('MANAGE_CONSTANT_LOCAL_CUSTOM_URL_TOOLTIP'),
rule: [
{
validator: (rule: any, value: any, callback: any) => {
validator: (_rule: any, value: any, callback: any) => {
if (value) {
if (!/^https?:\/\/.+/.test(value)) {
callback(new Error($T('MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE')))
@ -841,5 +841,139 @@ export const supportedPicBedList: IStringKeyMap = {
options: ['alias', 'baseDir', 'customUrl', 'bucketName', 'webPath'],
refLink: 'https://piclist.cn',
referenceText: $T('MANAGE_CONSTANT_LOCAL_REFER_TEXT')
},
sftp: {
name: $T('MANAGE_CONSTANT_SFTP_NAME'),
icon: 'sftp',
configOptions: {
alias: {
required: true,
description: $T('MANAGE_CONSTANT_SFTP_ALIAS_DESC'),
placeholder: $T('MANAGE_CONSTANT_SFTP_ALIAS_PLACEHOLDER'),
type: 'string',
rule: aliasRule,
default: 'sftp-A',
tooltip: aliasTooltip
},
host: {
required: true,
description: $T('MANAGE_CONSTANT_SFTP_HOST_DESC'),
placeholder: $T('MANAGE_CONSTANT_SFTP_HOST_PLACEHOLDER'),
type: 'string',
rule: defaultBaseRule('host'),
default: ''
},
port: {
required: false,
description: $T('MANAGE_CONSTANT_SFTP_PORT_DESC'),
placeholder: $T('MANAGE_CONSTANT_SFTP_PORT_PLACEHOLDER'),
type: 'number',
default: 22
},
username: {
required: false,
description: $T('MANAGE_CONSTANT_SFTP_USERNAME_DESC'),
placeholder: $T('MANAGE_CONSTANT_SFTP_USERNAME_PLACEHOLDER'),
type: 'string',
default: ''
},
password: {
required: false,
description: $T('MANAGE_CONSTANT_SFTP_PASSWORD_DESC'),
placeholder: $T('MANAGE_CONSTANT_SFTP_PASSWORD_PLACEHOLDER'),
type: 'string',
default: ''
},
privateKey: {
required: false,
description: $T('MANAGE_CONSTANT_SFTP_PRIVATE_KEY_DESC'),
placeholder: $T('MANAGE_CONSTANT_SFTP_PRIVATE_KEY_PLACEHOLDER'),
type: 'string',
default: ''
},
passphrase: {
required: false,
description: $T('MANAGE_CONSTANT_SFTP_PASSPHRASE_DESC'),
placeholder: $T('MANAGE_CONSTANT_SFTP_PASSPHRASE_PLACEHOLDER'),
type: 'string',
default: ''
},
fileMode: {
required: false,
description: $T('MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_DESC'),
placeholder: $T('MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_PLACEHOLDER'),
type: 'string',
default: '0664'
},
dirMode: {
required: false,
description: $T('MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_DESC'),
placeholder: $T('MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_PLACEHOLDER'),
type: 'string',
default: '0755'
},
baseDir: {
required: true,
description: $T('MANAGE_CONSTANT_SFTP_BASE_DIR_DESC'),
placeholder: $T('MANAGE_CONSTANT_SFTP_BASE_DIR_PLACEHOLDER'),
type: 'string',
default: '',
rule: [
{
validator: (_rule: any, value: any, callback: any) => {
if (!value) {
callback(new Error($T('MANAGE_CONSTANT_SFTP_BASE_DIR_RULE_MESSAGE')))
} else {
callback()
}
}
}
]
},
customUrl: {
required: false,
description: $T('MANAGE_CONSTANT_SFTP_CUSTOM_URL_DESC'),
placeholder: $T('MANAGE_CONSTANT_SFTP_CUSTOM_URL_PLACEHOLDER'),
type: 'string',
tooltip: $T('MANAGE_CONSTANT_SFTP_CUSTOM_URL_TOOLTIP'),
rule: [
{
validator: (_rule: any, value: any, callback: any) => {
if (value) {
if (!/^https?:\/\/.+/.test(value)) {
callback(new Error($T('MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE')))
} else {
callback()
}
} else {
callback()
}
},
trigger: 'change'
}
]
},
bucketName: {
required: true,
description: $T('MANAGE_CONSTANT_SFTP_BUCKET_DESC'),
placeholder: $T('MANAGE_CONSTANT_SFTP_BUCKET_PLACEHOLDER'),
type: 'string',
default: 'sftp',
disabled: true,
tooltip: $T('MANAGE_CONSTANT_SFTP_BUCKET_TOOLTIP')
},
webPath: {
required: false,
description: $T('MANAGE_CONSTANT_SFTP_WEB_PATH'),
placeholder: $T('MANAGE_CONSTANT_SFTP_WEB_PATH_PLACEHOLDER'),
type: 'string',
tooltip: $T('MANAGE_CONSTANT_SFTP_WEB_PATH_TOOLTIP'),
default: ''
}
},
explain: $T('MANAGE_CONSTANT_SFTP_EXPLAIN'),
options: ['alias', 'host', 'port', 'username', 'password', 'privateKey', 'passphrase', 'fileMode', 'dirMode', 'baseDir', 'customUrl', 'bucketName', 'webPath'],
refLink: 'https://github.com/imba97/picgo-plugin-sftp-uploader',
referenceText: $T('MANAGE_CONSTANT_SFTP_REFER_TEXT')
}
}

View File

@ -589,6 +589,42 @@ interface ILocales {
MANAGE_CONSTANT_LOCAL_BUCKET_DESC: string
MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER: string
MANAGE_CONSTANT_LOCAL_BUCKET_TOOLTIP: string
MANAGE_CONSTANT_SFTP_NAME: string
MANAGE_CONSTANT_SFTP_ALIAS_DESC: string
MANAGE_CONSTANT_SFTP_ALIAS_PLACEHOLDER: string
MANAGE_CONSTANT_SFTP_HOST_DESC: string
MANAGE_CONSTANT_SFTP_HOST_PLACEHOLDER: string
MANAGE_CONSTANT_SFTP_PORT_DESC: string
MANAGE_CONSTANT_SFTP_PORT_PLACEHOLDER: string
MANAGE_CONSTANT_SFTP_USERNAME_DESC: string
MANAGE_CONSTANT_SFTP_USERNAME_PLACEHOLDER: string
MANAGE_CONSTANT_SFTP_PASSWORD_DESC: string
MANAGE_CONSTANT_SFTP_PASSWORD_PLACEHOLDER: string
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_DESC: string
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_PLACEHOLDER: string
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_TOOLTIP: string
MANAGE_CONSTANT_SFTP_PASSPHRASE_DESC: string
MANAGE_CONSTANT_SFTP_PASSPHRASE_PLACEHOLDER: string
MANAGE_CONSTANT_SFTP_BASE_DIR_DESC: string
MANAGE_CONSTANT_SFTP_BASE_DIR_PLACEHOLDER: string
MANAGE_CONSTANT_SFTP_CUSTOM_URL_DESC: string
MANAGE_CONSTANT_SFTP_CUSTOM_URL_PLACEHOLDER: string
MANAGE_CONSTANT_SFTP_CUSTOM_URL_TOOLTIP: string
MANAGE_CONSTANT_SFTP_WEB_PATH: string
MANAGE_CONSTANT_SFTP_WEB_PATH_PLACEHOLDER: string
MANAGE_CONSTANT_SFTP_WEB_PATH_TOOLTIP: string
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_DESC: string
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_PLACEHOLDER: string
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_TOOLTIP: string
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_DESC: string
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_PLACEHOLDER: string
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_TOOLTIP: string
MANAGE_CONSTANT_SFTP_EXPLAIN: string
MANAGE_CONSTANT_SFTP_REFER_TEXT: string
MANAGE_CONSTANT_SFTP_BASE_DIR_RULE_MESSAGE: string
MANAGE_CONSTANT_SFTP_BUCKET_DESC: string
MANAGE_CONSTANT_SFTP_BUCKET_PLACEHOLDER: string
MANAGE_CONSTANT_SFTP_BUCKET_TOOLTIP: string
MANAGE_LOGIN_PAGE_PANE_NAME: string
MANAGE_LOGIN_PAGE_PANE_DESC: string
MANAGE_LOGIN_PAGE_PANE_LOADING: string