mirror of
https://github.com/Kuingsmile/PicList.git
synced 2025-02-02 11:08:13 -05:00
✨ Feature(custom): support create bucket for s3
This commit is contained in:
parent
e67313eebb
commit
226f1704c3
@ -944,19 +944,16 @@ MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_B: Bucket name length cannot exceed
|
|||||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_C: Bucket names can only contain lowercase letters, numbers, and hyphens, and cannot start or end with a hyphen.
|
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_C: Bucket names can only contain lowercase letters, numbers, and hyphens, and cannot start or end with a hyphen.
|
||||||
MANAGE_NEW_BUCKET_QINIU_REGION: Region
|
MANAGE_NEW_BUCKET_QINIU_REGION: Region
|
||||||
MANAGE_NEW_BUCKET_QINIU_ACL_DESC: Public Access
|
MANAGE_NEW_BUCKET_QINIU_ACL_DESC: Public Access
|
||||||
MANAGE_NEW_BUCKET_UPYUN_NAME: Upyun
|
MANAGE_NEW_BUCKET_S3PLIST_NAME: S3-Compatible
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_DESC: Bucket Name
|
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_DESC: Bucket Name
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_PLACEHOLDER: Please enter bucket name
|
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_PLACEHOLDER: Please enter the Bucket name
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_RULE_MSG_A: Bucket name cannot be empty
|
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_RULE_MSG_A: Bucket name can't be empty
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_RULE_MSG_B: Bucket name length should be between 5-20 characters
|
MANAGE_NEW_BUCKET_S3PLIST_REGION: Region
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_RULE_MSG_C: Bucket names can only contain lowercase letters, numbers, and hyphens, and cannot start or end with a hyphen.
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_DESC: Access Control
|
||||||
MANAGE_NEW_BUCKET_UPYUN_OPERATORNAME_DESC: Operator Name
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_RW: Public Read and Write
|
||||||
MANAGE_NEW_BUCKET_UPYUN_OPERATORNAME_PLACEHOLDER: Please enter operator name
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_R: Public Read
|
||||||
MANAGE_NEW_BUCKET_UPYUN_OPERATORNAME_RULE_MSG_A: Operator name cannot be empty
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_PRIVATE: Private
|
||||||
MANAGE_NEW_BUCKET_UPYUN_PASSWORD_DESC: Password
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_AUTHENTICATED_READ: Authenticated Read
|
||||||
MANAGE_NEW_BUCKET_UPYUN_PASSWORD_PLACEHOLDER: Please enter password
|
|
||||||
MANAGE_NEW_BUCKET_UPYUN_PASSWORD_RULE_MSG_A: Password cannot be empty
|
|
||||||
|
|
||||||
# ---renderer i18n end---
|
# ---renderer i18n end---
|
||||||
|
|
||||||
# plugins
|
# plugins
|
||||||
|
@ -949,19 +949,16 @@ MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_B: Bucket名称长度不能超过63
|
|||||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_C: Bucket名称只能包含小写字母、数字和中划线,且不能以中划线开头和结尾
|
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_C: Bucket名称只能包含小写字母、数字和中划线,且不能以中划线开头和结尾
|
||||||
MANAGE_NEW_BUCKET_QINIU_REGION: 区域
|
MANAGE_NEW_BUCKET_QINIU_REGION: 区域
|
||||||
MANAGE_NEW_BUCKET_QINIU_ACL_DESC: 公开访问
|
MANAGE_NEW_BUCKET_QINIU_ACL_DESC: 公开访问
|
||||||
MANAGE_NEW_BUCKET_UPYUN_NAME: 又拍云
|
MANAGE_NEW_BUCKET_S3PLIST_NAME: S3兼容云
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_DESC: Bucket名
|
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_DESC: Bucket名
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_PLACEHOLDER: 请输入Bucket名
|
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_PLACEHOLDER: 请输入Bucket名
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_RULE_MSG_A: Bucket名不能为空
|
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_RULE_MSG_A: Bucket名不能为空
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_RULE_MSG_B: Bucket名称长度为5-20个字符
|
MANAGE_NEW_BUCKET_S3PLIST_REGION: 区域
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_RULE_MSG_C: Bucket名称只能包含小写字母、数字和中划线,且不能以中划线开头和结尾
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_DESC: 访问权限
|
||||||
MANAGE_NEW_BUCKET_UPYUN_OPERATORNAME_DESC: 操作员
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_RW: 公共读写
|
||||||
MANAGE_NEW_BUCKET_UPYUN_OPERATORNAME_PLACEHOLDER: 请输入操作员
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_R: 公共读
|
||||||
MANAGE_NEW_BUCKET_UPYUN_OPERATORNAME_RULE_MSG_A: 操作员不能为空
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_PRIVATE: 私有
|
||||||
MANAGE_NEW_BUCKET_UPYUN_PASSWORD_DESC: 密码
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_AUTHENTICATED_READ: 授权读
|
||||||
MANAGE_NEW_BUCKET_UPYUN_PASSWORD_PLACEHOLDER: 请输入密码
|
|
||||||
MANAGE_NEW_BUCKET_UPYUN_PASSWORD_RULE_MSG_A: 密码不能为空
|
|
||||||
|
|
||||||
|
|
||||||
# ---renderer i18n end---
|
# ---renderer i18n end---
|
||||||
|
|
||||||
|
@ -944,18 +944,16 @@ MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_B: Bucket名稱長度不能超過63
|
|||||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_C: Bucket名稱只能包含小寫字母、數字和中橫線,且不能以中橫線開頭和結尾
|
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_C: Bucket名稱只能包含小寫字母、數字和中橫線,且不能以中橫線開頭和結尾
|
||||||
MANAGE_NEW_BUCKET_QINIU_REGION: 區域
|
MANAGE_NEW_BUCKET_QINIU_REGION: 區域
|
||||||
MANAGE_NEW_BUCKET_QINIU_ACL_DESC: 公開訪問
|
MANAGE_NEW_BUCKET_QINIU_ACL_DESC: 公開訪問
|
||||||
MANAGE_NEW_BUCKET_UPYUN_NAME: 又拍雲
|
MANAGE_NEW_BUCKET_S3PLIST_NAME: S3兼容雲
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_DESC: Bucket名稱
|
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_DESC: Bucket名稱
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_PLACEHOLDER: 請輸入Bucket名稱
|
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_PLACEHOLDER: 請輸入Bucket名稱
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_RULE_MSG_A: Bucket名稱不能為空
|
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_RULE_MSG_A: Bucket名稱不能為空
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_RULE_MSG_B: Bucket名稱長度為5-20個字符
|
MANAGE_NEW_BUCKET_S3PLIST_REGION: 區域
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_RULE_MSG_C: Bucket名稱只能包含小寫字母、數字和中橫線,且不能以中橫線開頭和結尾
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_DESC: 訪問權限
|
||||||
MANAGE_NEW_BUCKET_UPYUN_OPERATORNAME_DESC: 操作員
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_RW: 公共讀寫
|
||||||
MANAGE_NEW_BUCKET_UPYUN_OPERATORNAME_PLACEHOLDER: 請輸入操作員
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_R: 公共讀
|
||||||
MANAGE_NEW_BUCKET_UPYUN_OPERATORNAME_RULE_MSG_A: 操作員不能為空
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_PRIVATE: 私有
|
||||||
MANAGE_NEW_BUCKET_UPYUN_PASSWORD_DESC: 密碼
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_AUTHENTICATED_READ: 授權讀
|
||||||
MANAGE_NEW_BUCKET_UPYUN_PASSWORD_PLACEHOLDER: 請輸入密碼
|
|
||||||
MANAGE_NEW_BUCKET_UPYUN_PASSWORD_RULE_MSG_A: 密碼不能為空
|
|
||||||
# ---renderer i18n end---
|
# ---renderer i18n end---
|
||||||
|
|
||||||
# plugins
|
# plugins
|
||||||
|
@ -12,7 +12,10 @@ import {
|
|||||||
DeleteObjectCommand,
|
DeleteObjectCommand,
|
||||||
DeleteObjectsCommand,
|
DeleteObjectsCommand,
|
||||||
PutObjectCommand,
|
PutObjectCommand,
|
||||||
S3ClientConfig
|
S3ClientConfig,
|
||||||
|
CreateBucketCommand,
|
||||||
|
PutPublicAccessBlockCommand,
|
||||||
|
PutBucketAclCommand
|
||||||
} from '@aws-sdk/client-s3'
|
} from '@aws-sdk/client-s3'
|
||||||
|
|
||||||
// AWS S3 上传和进度
|
// AWS S3 上传和进度
|
||||||
@ -171,6 +174,89 @@ class S3plistApi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async putPublicAccess (bucketName: string, client: S3Client) {
|
||||||
|
const input = {
|
||||||
|
Bucket: bucketName,
|
||||||
|
PublicAccessBlockConfiguration: {
|
||||||
|
BlockPublicAcls: false,
|
||||||
|
IgnorePublicAcls: false,
|
||||||
|
BlockPublicPolicy: false,
|
||||||
|
RestrictPublicBuckets: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const command = new PutPublicAccessBlockCommand(input)
|
||||||
|
const data = await client.send(command)
|
||||||
|
if (data.$metadata.httpStatusCode !== 200) {
|
||||||
|
this.logParam(data, 'putPublicAccess')
|
||||||
|
throw new Error('manage.setting.putPublicAccessError')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新建存储桶
|
||||||
|
* @param {Object} configMap
|
||||||
|
* configMap = {
|
||||||
|
* BucketName: string,
|
||||||
|
* region: string,
|
||||||
|
* acl: string
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
async createBucket (configMap: IStringKeyMap): Promise<boolean> {
|
||||||
|
const { BucketName, region, acl, endpoint } = configMap
|
||||||
|
try {
|
||||||
|
await this.getDogeCloudToken()
|
||||||
|
const options = Object.assign({}, this.baseOptions) as S3ClientConfig
|
||||||
|
options.region = String(region) || 'us-east-1'
|
||||||
|
const client = new S3Client(options)
|
||||||
|
const command = new ListBucketsCommand({})
|
||||||
|
const data = await client.send(command)
|
||||||
|
if (data.$metadata.httpStatusCode === 200) {
|
||||||
|
const bucketList = data.Buckets?.map((item) => item.Name)
|
||||||
|
if (bucketList?.includes(BucketName)) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (endpoint === '' || endpoint.includes('amazonaws')) {
|
||||||
|
const createCommand = new CreateBucketCommand({
|
||||||
|
Bucket: BucketName,
|
||||||
|
ObjectOwnership: 'BucketOwnerPreferred'
|
||||||
|
})
|
||||||
|
const createData = await client.send(createCommand)
|
||||||
|
if (createData.$metadata.httpStatusCode === 200) {
|
||||||
|
if (acl !== 'private') {
|
||||||
|
await this.putPublicAccess(BucketName, client)
|
||||||
|
const putACLCommand = new PutBucketAclCommand({
|
||||||
|
Bucket: BucketName,
|
||||||
|
ACL: acl
|
||||||
|
})
|
||||||
|
const putACLData = await client.send(putACLCommand)
|
||||||
|
if (putACLData.$metadata.httpStatusCode !== 200) {
|
||||||
|
this.logParam(putACLData, 'createBucket')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
|
this.logParam(createData, 'createBucket')
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
const createCommand = new CreateBucketCommand({
|
||||||
|
Bucket: BucketName,
|
||||||
|
ACL: acl
|
||||||
|
})
|
||||||
|
const createData = await client.send(createCommand)
|
||||||
|
if (createData.$metadata.httpStatusCode === 200) {
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
|
this.logParam(createData, 'createBucket')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
this.logParam(error, 'createBucket')
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取存储桶列表
|
* 获取存储桶列表
|
||||||
*/
|
*/
|
||||||
|
@ -108,13 +108,8 @@ class TcyunApi {
|
|||||||
* acl: private | publicRead | publicReadWrite
|
* acl: private | publicRead | publicReadWrite
|
||||||
*/
|
*/
|
||||||
async createBucket (configMap: IStringKeyMap): Promise < boolean > {
|
async createBucket (configMap: IStringKeyMap): Promise < boolean > {
|
||||||
const aclTransMap: IStringKeyMap = {
|
|
||||||
private: 'private',
|
|
||||||
publicRead: 'public-read',
|
|
||||||
publicReadWrite: 'public-read-write'
|
|
||||||
}
|
|
||||||
const res = await this.ctx.putBucket({
|
const res = await this.ctx.putBucket({
|
||||||
ACL: aclTransMap[configMap.acl],
|
ACL: configMap.acl,
|
||||||
Bucket: configMap.BucketName,
|
Bucket: configMap.BucketName,
|
||||||
Region: configMap.region
|
Region: configMap.region
|
||||||
})
|
})
|
||||||
|
@ -230,6 +230,7 @@ export class ManageApi extends EventEmitter implements ManageApiType {
|
|||||||
case 'tcyun':
|
case 'tcyun':
|
||||||
case 'aliyun':
|
case 'aliyun':
|
||||||
case 'qiniu':
|
case 'qiniu':
|
||||||
|
case 's3plist':
|
||||||
try {
|
try {
|
||||||
client = this.createClient() as any
|
client = this.createClient() as any
|
||||||
return await client.createBucket(param!)
|
return await client.createBucket(param!)
|
||||||
|
@ -355,7 +355,7 @@ const urlMap : IStringKeyMap = {
|
|||||||
webdavplist: 'https://baike.baidu.com/item/WebDAV/4610909'
|
webdavplist: 'https://baike.baidu.com/item/WebDAV/4610909'
|
||||||
}
|
}
|
||||||
|
|
||||||
const showNewIconList = ['aliyun', 'qiniu', 'tcyun']
|
const showNewIconList = ['aliyun', 'qiniu', 'tcyun', 's3plist']
|
||||||
|
|
||||||
const bucketT = $T('MANAGE_MAIN_PAGE_BUCKET')
|
const bucketT = $T('MANAGE_MAIN_PAGE_BUCKET')
|
||||||
const galleryT = $T('MANAGE_MAIN_PAGE_GALLERY')
|
const galleryT = $T('MANAGE_MAIN_PAGE_GALLERY')
|
||||||
@ -415,6 +415,7 @@ function createNewBucket (picBedName: string) {
|
|||||||
if (currentPicBedName.value === 'tcyun') {
|
if (currentPicBedName.value === 'tcyun') {
|
||||||
resultMap.BucketName = `${resultMap.BucketName}-${currentPagePicBedConfig.appId}`
|
resultMap.BucketName = `${resultMap.BucketName}-${currentPagePicBedConfig.appId}`
|
||||||
}
|
}
|
||||||
|
resultMap.endpoint = currentPagePicBedConfig.endpoint
|
||||||
invokeToMain('createBucket', currentAlias, resultMap).then((result: any) => {
|
invokeToMain('createBucket', currentAlias, resultMap).then((result: any) => {
|
||||||
if (result) {
|
if (result) {
|
||||||
ElNotification({
|
ElNotification({
|
||||||
|
@ -50,8 +50,8 @@ export const newBucketConfig:IStringKeyMap = {
|
|||||||
default: 'private',
|
default: 'private',
|
||||||
options: {
|
options: {
|
||||||
private: $T('MANAGE_NEW_BUCKET_TCYUN_ACL_PRIVATE'),
|
private: $T('MANAGE_NEW_BUCKET_TCYUN_ACL_PRIVATE'),
|
||||||
publicRead: $T('MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_R'),
|
'public-read': $T('MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_R'),
|
||||||
publicReadWrite: $T('MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_RW')
|
'public-read-write': $T('MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_RW')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -162,67 +162,46 @@ export const newBucketConfig:IStringKeyMap = {
|
|||||||
},
|
},
|
||||||
options: ['BucketName', 'region', 'acl']
|
options: ['BucketName', 'region', 'acl']
|
||||||
},
|
},
|
||||||
upyun: {
|
s3plist: {
|
||||||
name: $T('MANAGE_NEW_BUCKET_UPYUN_NAME'),
|
name: $T('MANAGE_NEW_BUCKET_S3PLIST_NAME'),
|
||||||
icon: 'upyun',
|
icon: 's3plist',
|
||||||
configOptions: {
|
configOptions: {
|
||||||
BucketName: {
|
BucketName: {
|
||||||
required: true,
|
required: true,
|
||||||
description: $T('MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_DESC'),
|
description: $T('MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_DESC'),
|
||||||
placeholder: $T('MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_PLACEHOLDER'),
|
placeholder: $T('MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_PLACEHOLDER'),
|
||||||
paraType: 'string',
|
paraType: 'string',
|
||||||
component: 'input',
|
component: 'input',
|
||||||
default: 'piclist',
|
default: 'piclist',
|
||||||
rule: [
|
rule: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: $T('MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_RULE_MSG_A'),
|
message: $T('MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_RULE_MSG_A'),
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
},
|
|
||||||
{
|
|
||||||
validator: (rule: any, value: any, callback: any) => {
|
|
||||||
const reg = /^[a-z][a-z0-9-]{4,19}$/
|
|
||||||
if (value.length > 23 || value.length < 5) {
|
|
||||||
callback(new Error($T('MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_RULE_MSG_B')))
|
|
||||||
} else if (!reg.test(value)) {
|
|
||||||
callback(new Error($T('MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_RULE_MSG_C')))
|
|
||||||
} else {
|
|
||||||
callback()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
trigger: 'change'
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
operator: {
|
region: {
|
||||||
required: true,
|
required: true,
|
||||||
description: $T('MANAGE_NEW_BUCKET_UPYUN_OPERATORNAME_DESC'),
|
description: $T('MANAGE_NEW_BUCKET_S3PLIST_REGION'),
|
||||||
placeholder: $T('MANAGE_NEW_BUCKET_UPYUN_OPERATORNAME_PLACEHOLDER'),
|
|
||||||
paraType: 'string',
|
paraType: 'string',
|
||||||
component: 'input',
|
component: 'input',
|
||||||
rule: [
|
default: 'us-east-1'
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: $T('MANAGE_NEW_BUCKET_UPYUN_OPERATORNAME_RULE_MSG_A'),
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
password: {
|
acl: {
|
||||||
required: true,
|
required: true,
|
||||||
description: $T('MANAGE_NEW_BUCKET_UPYUN_PASSWORD_DESC'),
|
description: $T('MANAGE_NEW_BUCKET_S3PLIST_ACL_DESC'),
|
||||||
placeholder: $T('MANAGE_NEW_BUCKET_UPYUN_PASSWORD_PLACEHOLDER'),
|
|
||||||
paraType: 'string',
|
paraType: 'string',
|
||||||
component: 'input',
|
component: 'select',
|
||||||
rule: [
|
default: 'private',
|
||||||
{
|
options: {
|
||||||
required: true,
|
private: $T('MANAGE_NEW_BUCKET_S3PLIST_ACL_PRIVATE'),
|
||||||
message: $T('MANAGE_NEW_BUCKET_UPYUN_PASSWORD_RULE_MSG_A'),
|
'public-read': $T('MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_R'),
|
||||||
trigger: 'blur'
|
'public-read-write': $T('MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_RW'),
|
||||||
|
'authenticated-read': $T('MANAGE_NEW_BUCKET_S3PLIST_ACL_AUTHENTICATED_READ')
|
||||||
}
|
}
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
options: ['BucketName', 'operator', 'password']
|
options: ['BucketName', 'region', 'acl']
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
22
src/universal/types/i18n.d.ts
vendored
22
src/universal/types/i18n.d.ts
vendored
@ -901,18 +901,16 @@ interface ILocales {
|
|||||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_C: string
|
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_C: string
|
||||||
MANAGE_NEW_BUCKET_QINIU_REGION: string
|
MANAGE_NEW_BUCKET_QINIU_REGION: string
|
||||||
MANAGE_NEW_BUCKET_QINIU_ACL_DESC: string
|
MANAGE_NEW_BUCKET_QINIU_ACL_DESC: string
|
||||||
MANAGE_NEW_BUCKET_UPYUN_NAME: string
|
MANAGE_NEW_BUCKET_S3PLIST_NAME: string
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_DESC: string
|
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_DESC: string
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_PLACEHOLDER: string
|
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_PLACEHOLDER: string
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_RULE_MSG_A: string
|
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_RULE_MSG_A: string
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_RULE_MSG_B: string
|
MANAGE_NEW_BUCKET_S3PLIST_REGION: string
|
||||||
MANAGE_NEW_BUCKET_UPYUN_BUCKETNAME_RULE_MSG_C: string
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_DESC: string
|
||||||
MANAGE_NEW_BUCKET_UPYUN_OPERATORNAME_DESC: string
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_RW: string
|
||||||
MANAGE_NEW_BUCKET_UPYUN_OPERATORNAME_PLACEHOLDER: string
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_R: string
|
||||||
MANAGE_NEW_BUCKET_UPYUN_OPERATORNAME_RULE_MSG_A: string
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_PRIVATE: string
|
||||||
MANAGE_NEW_BUCKET_UPYUN_PASSWORD_DESC: string
|
MANAGE_NEW_BUCKET_S3PLIST_ACL_AUTHENTICATED_READ: string
|
||||||
MANAGE_NEW_BUCKET_UPYUN_PASSWORD_PLACEHOLDER: string
|
|
||||||
MANAGE_NEW_BUCKET_UPYUN_PASSWORD_RULE_MSG_A: string
|
|
||||||
PLUGIN_INSTALL_SUCCEED: string
|
PLUGIN_INSTALL_SUCCEED: string
|
||||||
PLUGIN_INSTALL_FAILED: string
|
PLUGIN_INSTALL_FAILED: string
|
||||||
PLUGIN_UNINSTALL_SUCCEED: string
|
PLUGIN_UNINSTALL_SUCCEED: string
|
||||||
|
Loading…
Reference in New Issue
Block a user