mirror of
https://github.com/Kuingsmile/PicList.git
synced 2025-02-02 11:08:13 -05:00
🚧 WIP: add sftp into manage page
This commit is contained in:
parent
3e32cbba33
commit
1629dcaef0
@ -629,6 +629,43 @@ MANAGE_CONSTANT_LOCAL_BUCKET_DESC: Special Configuration
|
|||||||
MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER: 'bucket1'
|
MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER: 'bucket1'
|
||||||
MANAGE_CONSTANT_LOCAL_BUCKET_TOOLTIP: This cannot be modified, only for software compatibility consideration
|
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_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_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...
|
MANAGE_LOGIN_PAGE_PANE_LOADING: Importing...
|
||||||
|
@ -632,6 +632,44 @@ MANAGE_CONSTANT_LOCAL_BUCKET_DESC: 特殊配置
|
|||||||
MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER: '例如:bucket1'
|
MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER: '例如:bucket1'
|
||||||
MANAGE_CONSTANT_LOCAL_BUCKET_TOOLTIP: 此处不可修改,仅为软件兼容性考虑
|
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_NAME: 已保存配置
|
||||||
MANAGE_LOGIN_PAGE_PANE_DESC: 点击图标和别名可查看详情,点击进入可查看文件页面,点击删除可删除配置
|
MANAGE_LOGIN_PAGE_PANE_DESC: 点击图标和别名可查看详情,点击进入可查看文件页面,点击删除可删除配置
|
||||||
MANAGE_LOGIN_PAGE_PANE_LOADING: 导入配置...
|
MANAGE_LOGIN_PAGE_PANE_LOADING: 导入配置...
|
||||||
|
@ -629,6 +629,43 @@ MANAGE_CONSTANT_LOCAL_BUCKET_DESC: 特殊配置
|
|||||||
MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER: '例如:bucket1'
|
MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER: '例如:bucket1'
|
||||||
MANAGE_CONSTANT_LOCAL_BUCKET_TOOLTIP: 此處不可修改,僅為軟體相容性考量
|
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_NAME: 已保存配置
|
||||||
MANAGE_LOGIN_PAGE_PANE_DESC: 點擊圖標和別名可查看詳情,點擊進入可查看檔案頁面,點擊刪除可刪除配置
|
MANAGE_LOGIN_PAGE_PANE_DESC: 點擊圖標和別名可查看詳情,點擊進入可查看檔案頁面,點擊刪除可刪除配置
|
||||||
MANAGE_LOGIN_PAGE_PANE_LOADING: 導入配置...
|
MANAGE_LOGIN_PAGE_PANE_LOADING: 導入配置...
|
||||||
|
0
src/main/manage/apis/sftp.ts
Normal file
0
src/main/manage/apis/sftp.ts
Normal file
@ -562,7 +562,7 @@ function handleConfigImport (alias: string) {
|
|||||||
|
|
||||||
async function getCurrentConfigList () {
|
async function getCurrentConfigList () {
|
||||||
const configList = await getPicBedsConfig<any>('uploader') ?? {}
|
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 filteredConfigList = pbList.flatMap((pb) => {
|
||||||
const config = configList[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[]) {
|
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
|
if (!autoImportPicBed.includes(picBedName) || isImported(alias)) return
|
||||||
const commonConfig = {
|
const commonConfig = {
|
||||||
alias,
|
alias,
|
||||||
@ -728,10 +734,30 @@ async function transUpToManage (config: IUploaderConfigListItem, picBedName: str
|
|||||||
})
|
})
|
||||||
delete resultMap.paging
|
delete resultMap.paging
|
||||||
break
|
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':
|
case 'aws-s3':
|
||||||
if (!config.accessKeyID || !config.secretAccessKey) return
|
if (!config.accessKeyID || !config.secretAccessKey) return
|
||||||
Object.assign(resultMap, {
|
Object.assign(resultMap, {
|
||||||
...commonConfig,
|
...commonConfig,
|
||||||
|
picBedName: 's3plist',
|
||||||
accessKeyId: config.accessKeyID,
|
accessKeyId: config.accessKeyID,
|
||||||
secretAccessKey: config.secretAccessKey,
|
secretAccessKey: config.secretAccessKey,
|
||||||
endpoint: config.endpoint || '',
|
endpoint: config.endpoint || '',
|
||||||
|
@ -336,16 +336,17 @@ watch(route, async (newRoute) => {
|
|||||||
const getCurrentActiveBucket = computed(() => bucketNameList.value.length === 0 ? '' : bucketNameList.value[0])
|
const getCurrentActiveBucket = computed(() => bucketNameList.value.length === 0 ? '' : bucketNameList.value[0])
|
||||||
|
|
||||||
const urlMap : IStringKeyMap = {
|
const urlMap : IStringKeyMap = {
|
||||||
smms: 'https://smms.app',
|
aliyun: 'https://oss.console.aliyun.com',
|
||||||
github: 'https://github.com',
|
github: 'https://github.com',
|
||||||
imgur: 'https://imgur.com',
|
imgur: 'https://imgur.com',
|
||||||
aliyun: 'https://oss.console.aliyun.com',
|
local: 'https://piclist.cn',
|
||||||
qiniu: 'https://portal.qiniu.com',
|
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',
|
tcyun: 'https://console.cloud.tencent.com/cos',
|
||||||
upyun: 'https://console.upyun.com',
|
upyun: 'https://console.upyun.com',
|
||||||
s3plist: 'https://aws.amazon.com/cn/s3/',
|
webdavplist: 'https://baike.baidu.com/item/WebDAV/4610909'
|
||||||
webdavplist: 'https://baike.baidu.com/item/WebDAV/4610909',
|
|
||||||
local: 'https://piclist.cn'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const showNewIconList = ['aliyun', 'qiniu', 'tcyun']
|
const showNewIconList = ['aliyun', 'qiniu', 'tcyun']
|
||||||
@ -360,6 +361,7 @@ const menuTitleMap:IStringKeyMap = {
|
|||||||
tcyun: bucketT,
|
tcyun: bucketT,
|
||||||
upyun: bucketT,
|
upyun: bucketT,
|
||||||
s3plist: bucketT,
|
s3plist: bucketT,
|
||||||
|
sftp: '',
|
||||||
smms: galleryT,
|
smms: galleryT,
|
||||||
imgur: galleryT,
|
imgur: galleryT,
|
||||||
github: repositoryT,
|
github: repositoryT,
|
||||||
|
@ -52,15 +52,17 @@ export function renameFileNameWithCustomString (oldName: string, customFormat: s
|
|||||||
}, customFormat) + ext
|
}, customFormat) + ext
|
||||||
}
|
}
|
||||||
|
|
||||||
export function renameFile (typeMap : IStringKeyMap, oldName: string): string {
|
export function renameFile ({ timestampRename, randomStringRename, customRename, customRenameFormat }: IStringKeyMap, oldName = ''): string {
|
||||||
if (typeMap.timestampRename) {
|
switch (true) {
|
||||||
|
case timestampRename:
|
||||||
return renameFileNameWithTimestamp(oldName)
|
return renameFileNameWithTimestamp(oldName)
|
||||||
} else if (typeMap.randomStringRename) {
|
case randomStringRename:
|
||||||
return renameFileNameWithRandomString(oldName, 20)
|
return renameFileNameWithRandomString(oldName, 20)
|
||||||
} else if (typeMap.customRename) {
|
case customRename:
|
||||||
return renameFileNameWithCustomString(oldName, typeMap.customRenameFormat)
|
return renameFileNameWithCustomString(oldName, customRenameFormat)
|
||||||
}
|
default:
|
||||||
return oldName
|
return oldName
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function formatLink (url: string, fileName: string, type: string, format?: string) : Promise<string> {
|
export async function formatLink (url: string, fileName: string, type: string, format?: string) : Promise<string> {
|
||||||
|
@ -22,7 +22,7 @@ const itemsPerPageRule = [
|
|||||||
trigger: 'change'
|
trigger: 'change'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
validator: (rule: any, value: any, callback: any) => {
|
validator: (_rule: any, value: any, callback: any) => {
|
||||||
if (value < 20 || value > 1000) {
|
if (value < 20 || value > 1000) {
|
||||||
callback(new Error($T('MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_C')))
|
callback(new Error($T('MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_C')))
|
||||||
} else {
|
} else {
|
||||||
@ -40,7 +40,7 @@ const aliasRule = [
|
|||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
validator: (rule: any, value: any, callback: any) => {
|
validator: (_rule: any, value: any, callback: any) => {
|
||||||
const reg = /^[\u4e00-\u9fff_a-zA-Z0-9-]+$/
|
const reg = /^[\u4e00-\u9fff_a-zA-Z0-9-]+$/
|
||||||
if (!reg.test(value)) {
|
if (!reg.test(value)) {
|
||||||
callback(new Error($T('MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_B')))
|
callback(new Error($T('MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_B')))
|
||||||
@ -469,7 +469,7 @@ export const supportedPicBedList: IStringKeyMap = {
|
|||||||
trigger: 'change'
|
trigger: 'change'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
validator: (rule: any, value: any, callback: any) => {
|
validator: (_rule: any, value: any, callback: any) => {
|
||||||
if (value) {
|
if (value) {
|
||||||
const customUrlList = value.split(',')
|
const customUrlList = value.split(',')
|
||||||
const customUrlValid = customUrlList.every((customUrl: string) => {
|
const customUrlValid = customUrlList.every((customUrl: string) => {
|
||||||
@ -722,7 +722,7 @@ export const supportedPicBedList: IStringKeyMap = {
|
|||||||
tooltip: $T('MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_TOOLTIP'),
|
tooltip: $T('MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_TOOLTIP'),
|
||||||
rule: [
|
rule: [
|
||||||
{
|
{
|
||||||
validator: (rule: any, value: any, callback: any) => {
|
validator: (_rule: any, value: any, callback: any) => {
|
||||||
if (value) {
|
if (value) {
|
||||||
if (!/^https?:\/\/.+/.test(value)) {
|
if (!/^https?:\/\/.+/.test(value)) {
|
||||||
callback(new Error($T('MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE')))
|
callback(new Error($T('MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE')))
|
||||||
@ -786,7 +786,7 @@ export const supportedPicBedList: IStringKeyMap = {
|
|||||||
default: '',
|
default: '',
|
||||||
rule: [
|
rule: [
|
||||||
{
|
{
|
||||||
validator: (rule: any, value: any, callback: any) => {
|
validator: (_rule: any, value: any, callback: any) => {
|
||||||
if (!value) {
|
if (!value) {
|
||||||
callback(new Error($T('MANAGE_CONSTANT_LOCAL_BASE_DIR_RULE_MESSAGE')))
|
callback(new Error($T('MANAGE_CONSTANT_LOCAL_BASE_DIR_RULE_MESSAGE')))
|
||||||
} else {
|
} else {
|
||||||
@ -804,7 +804,7 @@ export const supportedPicBedList: IStringKeyMap = {
|
|||||||
tooltip: $T('MANAGE_CONSTANT_LOCAL_CUSTOM_URL_TOOLTIP'),
|
tooltip: $T('MANAGE_CONSTANT_LOCAL_CUSTOM_URL_TOOLTIP'),
|
||||||
rule: [
|
rule: [
|
||||||
{
|
{
|
||||||
validator: (rule: any, value: any, callback: any) => {
|
validator: (_rule: any, value: any, callback: any) => {
|
||||||
if (value) {
|
if (value) {
|
||||||
if (!/^https?:\/\/.+/.test(value)) {
|
if (!/^https?:\/\/.+/.test(value)) {
|
||||||
callback(new Error($T('MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE')))
|
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'],
|
options: ['alias', 'baseDir', 'customUrl', 'bucketName', 'webPath'],
|
||||||
refLink: 'https://piclist.cn',
|
refLink: 'https://piclist.cn',
|
||||||
referenceText: $T('MANAGE_CONSTANT_LOCAL_REFER_TEXT')
|
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')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
36
src/universal/types/i18n.d.ts
vendored
36
src/universal/types/i18n.d.ts
vendored
@ -589,6 +589,42 @@ interface ILocales {
|
|||||||
MANAGE_CONSTANT_LOCAL_BUCKET_DESC: string
|
MANAGE_CONSTANT_LOCAL_BUCKET_DESC: string
|
||||||
MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER: string
|
MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER: string
|
||||||
MANAGE_CONSTANT_LOCAL_BUCKET_TOOLTIP: 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_NAME: string
|
||||||
MANAGE_LOGIN_PAGE_PANE_DESC: string
|
MANAGE_LOGIN_PAGE_PANE_DESC: string
|
||||||
MANAGE_LOGIN_PAGE_PANE_LOADING: string
|
MANAGE_LOGIN_PAGE_PANE_LOADING: string
|
||||||
|
Loading…
Reference in New Issue
Block a user