mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2026-09-23 00:00:52 +00:00
feat: Add multiple dimensions to website search (#13163)
This commit is contained in:
@@ -17,6 +17,7 @@ type IWebsiteRepo interface {
|
||||
WithGroupID(groupId uint) DBOption
|
||||
WithDefaultServer() DBOption
|
||||
WithDomainLike(domain string) DBOption
|
||||
WithSearchKeyword(keyword string, ids []uint) DBOption
|
||||
WithRuntimeID(runtimeID uint) DBOption
|
||||
WithParentID(websiteID uint) DBOption
|
||||
WithType(websiteType string) DBOption
|
||||
@@ -76,6 +77,19 @@ func (w *WebsiteRepo) WithDomainLike(domain string) DBOption {
|
||||
}
|
||||
}
|
||||
|
||||
func (w *WebsiteRepo) WithSearchKeyword(keyword string, ids []uint) DBOption {
|
||||
return func(db *gorm.DB) *gorm.DB {
|
||||
if keyword == "" {
|
||||
return db
|
||||
}
|
||||
keyword = "%" + keyword + "%"
|
||||
if len(ids) == 0 {
|
||||
return db.Where("(primary_domain like ? OR alias like ?)", keyword, keyword)
|
||||
}
|
||||
return db.Where("(primary_domain like ? OR alias like ? OR id in (?))", keyword, keyword, ids)
|
||||
}
|
||||
}
|
||||
|
||||
func (w *WebsiteRepo) WithAlias(alias string) DBOption {
|
||||
return func(db *gorm.DB) *gorm.DB {
|
||||
return db.Where("alias = ?", alias)
|
||||
|
||||
@@ -168,15 +168,13 @@ func (w WebsiteService) PageWebsite(req request.WebsiteSearch) (int64, []respons
|
||||
opts = append(opts, repo.WithOrderRuleBy(req.OrderBy, req.Order), repo.WithOrderRuleBy("updated_at", "descending"))
|
||||
if req.Name != "" {
|
||||
domains, _ := websiteDomainRepo.GetBy(websiteDomainRepo.WithDomainLike(req.Name))
|
||||
var websiteIds []uint
|
||||
if len(domains) > 0 {
|
||||
var websiteIds []uint
|
||||
for _, domain := range domains {
|
||||
websiteIds = append(websiteIds, domain.WebsiteID)
|
||||
}
|
||||
opts = append(opts, repo.WithByIDs(websiteIds))
|
||||
} else {
|
||||
opts = append(opts, websiteRepo.WithDomainLike(req.Name))
|
||||
}
|
||||
opts = append(opts, websiteRepo.WithSearchKeyword(req.Name, websiteIds))
|
||||
}
|
||||
if req.WebsiteGroupID != 0 {
|
||||
opts = append(opts, websiteRepo.WithGroupID(req.WebsiteGroupID))
|
||||
|
||||
+4
-4
@@ -6,9 +6,9 @@ replace github.com/moby/go-archive => github.com/moby/go-archive v0.1.0
|
||||
|
||||
require (
|
||||
github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible
|
||||
github.com/compose-spec/compose-go/v2 v2.11.0
|
||||
github.com/compose-spec/compose-go/v2 v2.12.1
|
||||
github.com/creack/pty v1.1.24
|
||||
github.com/docker/cli v29.6.0+incompatible
|
||||
github.com/docker/cli v29.6.1+incompatible
|
||||
github.com/docker/docker v28.5.2+incompatible
|
||||
github.com/docker/go-connections v0.7.0
|
||||
github.com/fsnotify/fsnotify v1.10.1
|
||||
@@ -30,7 +30,7 @@ require (
|
||||
github.com/klauspost/compress v1.18.6
|
||||
github.com/mholt/archiver/v4 v4.0.0-alpha.8
|
||||
github.com/miekg/dns v1.1.72
|
||||
github.com/minio/minio-go/v7 v7.2.0
|
||||
github.com/minio/minio-go/v7 v7.2.1
|
||||
github.com/nicksnyder/go-i18n/v2 v2.6.1
|
||||
github.com/opencontainers/image-spec v1.1.1
|
||||
github.com/oschwald/maxminddb-golang v1.13.1
|
||||
@@ -60,7 +60,7 @@ require (
|
||||
google.golang.org/genproto v0.0.0-20260414002931-afd174a4e478
|
||||
gopkg.in/ini.v1 v1.67.3
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
gorm.io/gorm v1.31.1
|
||||
gorm.io/gorm v1.31.2
|
||||
)
|
||||
|
||||
require (
|
||||
|
||||
+10
-8
@@ -204,8 +204,8 @@ github.com/cloudwego/base64x v0.1.6/go.mod h1:OFcloc187FXDaYHvrNIjxSe8ncn0OOM8gE
|
||||
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
|
||||
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
|
||||
github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
||||
github.com/compose-spec/compose-go/v2 v2.11.0 h1:xoq/ootgIL6TsHmbJHrkuh7+bzjhPV3NHftHRPPyVXM=
|
||||
github.com/compose-spec/compose-go/v2 v2.11.0/go.mod h1:ZU6zlcweCZKyiB7BVfCizQT9XmkEIMFE+PRZydVcsZg=
|
||||
github.com/compose-spec/compose-go/v2 v2.12.1 h1:+xBZNxcgSus4atQJwXPEdhHRgCEyZmj/BuqN5m33Ou0=
|
||||
github.com/compose-spec/compose-go/v2 v2.12.1/go.mod h1:ZU6zlcweCZKyiB7BVfCizQT9XmkEIMFE+PRZydVcsZg=
|
||||
github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI=
|
||||
github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M=
|
||||
github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE=
|
||||
@@ -230,8 +230,8 @@ github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5Qvfr
|
||||
github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
|
||||
github.com/dlclark/regexp2 v1.12.0 h1:0j4c5qQmnC6XOWNjP3PIXURXN2gWx76rd3KvgdPkCz8=
|
||||
github.com/dlclark/regexp2 v1.12.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
|
||||
github.com/docker/cli v29.6.0+incompatible h1:nw9himxMMZ7eIeherJNlKQq+acnlzGgHd+4uf10QRSc=
|
||||
github.com/docker/cli v29.6.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
|
||||
github.com/docker/cli v29.6.1+incompatible h1:oO7F4nn3Ovr/5TlfTUWFbMwBSS/B7Xs6Epv26gBrUP8=
|
||||
github.com/docker/cli v29.6.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
|
||||
github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM=
|
||||
github.com/docker/docker v28.5.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
||||
github.com/docker/docker-credential-helpers v0.9.5 h1:EFNN8DHvaiK8zVqFA2DT6BjXE0GzfLOZ38ggPTKePkY=
|
||||
@@ -608,8 +608,8 @@ github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLT
|
||||
github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY=
|
||||
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
|
||||
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
|
||||
github.com/minio/minio-go/v7 v7.2.0 h1:RCJM0R1XOsRs+A3x3UCaf3ZYbByDaLjFeAi+YCQEPhs=
|
||||
github.com/minio/minio-go/v7 v7.2.0/go.mod h1:EU9hENAStx/xXduNdrGO5e4X5vk19NtgB+RIPjZO8o0=
|
||||
github.com/minio/minio-go/v7 v7.2.1 h1:PfBfwvKB/MmqyN8Vb1G9voWisaM9OrLv+WwOvMwS9Dw=
|
||||
github.com/minio/minio-go/v7 v7.2.1/go.mod h1:EU9hENAStx/xXduNdrGO5e4X5vk19NtgB+RIPjZO8o0=
|
||||
github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI=
|
||||
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
|
||||
@@ -1409,8 +1409,10 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C
|
||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gorm.io/gorm v1.31.1 h1:7CA8FTFz/gRfgqgpeKIBcervUn3xSyPUmr6B2WXJ7kg=
|
||||
gorm.io/gorm v1.31.1/go.mod h1:XyQVbO2k6YkOis7C2437jSit3SsDK72s7n7rsSHd+Gs=
|
||||
gorm.io/driver/sqlite v1.6.0 h1:WHRRrIiulaPiPFmDcod6prc4l2VGVWHz80KspNsxSfQ=
|
||||
gorm.io/driver/sqlite v1.6.0/go.mod h1:AO9V1qIQddBESngQUKWL9yoH93HIeA1X6V633rBwyT8=
|
||||
gorm.io/gorm v1.31.2 h1:3o8FXNo9v9S858gil+3LlZA1LkCOzgb4g5BL64FgaCo=
|
||||
gorm.io/gorm v1.31.2/go.mod h1:XyQVbO2k6YkOis7C2437jSit3SsDK72s7n7rsSHd+Gs=
|
||||
gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
|
||||
gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
|
||||
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
|
||||
@@ -74,7 +74,6 @@ const docTemplate = `{
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"additionalProperties": {
|
||||
"format": "int64",
|
||||
"type": "integer"
|
||||
},
|
||||
"type": "object"
|
||||
|
||||
@@ -70,7 +70,6 @@
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"additionalProperties": {
|
||||
"format": "int64",
|
||||
"type": "integer"
|
||||
},
|
||||
"type": "object"
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ require (
|
||||
golang.org/x/text v0.38.0
|
||||
gopkg.in/yaml.v2 v2.4.0
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
gorm.io/gorm v1.31.1
|
||||
gorm.io/gorm v1.31.2
|
||||
)
|
||||
|
||||
require (
|
||||
|
||||
+6
-2
@@ -148,6 +148,8 @@ github.com/mattn/go-isatty v0.0.21 h1:xYae+lCNBP7QuW4PUnNG61ffM4hVIfm+zUzDuSzYLG
|
||||
github.com/mattn/go-isatty v0.0.21/go.mod h1:ZXfXG4SQHsB/w3ZeOYbR0PrPwLy+n6xiMrJlRFqopa4=
|
||||
github.com/mattn/go-runewidth v0.0.21 h1:jJKAZiQH+2mIinzCJIaIG9Be1+0NR+5sz/lYEEjdM8w=
|
||||
github.com/mattn/go-runewidth v0.0.21/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs=
|
||||
github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU=
|
||||
github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
|
||||
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||
@@ -287,8 +289,10 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gorm.io/gorm v1.31.1 h1:7CA8FTFz/gRfgqgpeKIBcervUn3xSyPUmr6B2WXJ7kg=
|
||||
gorm.io/gorm v1.31.1/go.mod h1:XyQVbO2k6YkOis7C2437jSit3SsDK72s7n7rsSHd+Gs=
|
||||
gorm.io/driver/sqlite v1.6.0 h1:WHRRrIiulaPiPFmDcod6prc4l2VGVWHz80KspNsxSfQ=
|
||||
gorm.io/driver/sqlite v1.6.0/go.mod h1:AO9V1qIQddBESngQUKWL9yoH93HIeA1X6V633rBwyT8=
|
||||
gorm.io/gorm v1.31.2 h1:3o8FXNo9v9S858gil+3LlZA1LkCOzgb4g5BL64FgaCo=
|
||||
gorm.io/gorm v1.31.2/go.mod h1:XyQVbO2k6YkOis7C2437jSit3SsDK72s7n7rsSHd+Gs=
|
||||
modernc.org/cc/v4 v4.27.3 h1:uNCgn37E5U09mTv1XgskEVUJ8ADKpmFMPxzGJ0TSo+U=
|
||||
modernc.org/cc/v4 v4.27.3/go.mod h1:3YjcbCqhoTTHPycJDRl2WZKKFj0nwcOIPBfEZK0Hdk8=
|
||||
modernc.org/ccgo/v4 v4.32.4 h1:L5OB8rpEX4ZsXEQwGozRfJyJSFHbbNVOoQ59DU9/KuU=
|
||||
|
||||
Generated
+421
-243
File diff suppressed because it is too large
Load Diff
@@ -56,20 +56,20 @@
|
||||
"vue-codemirror": "^6.1.1",
|
||||
"vue-demi": "^0.14.6",
|
||||
"vue-i18n": "^11.4.4",
|
||||
"vue-router": "^4.5.1"
|
||||
"vue-router": "^5.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tailwindcss/postcss": "^4.3.0",
|
||||
"@types/node": "^25.9.1",
|
||||
"@types/uuid": "^11.0.0",
|
||||
"@typescript-eslint/eslint-plugin": "^8.61.1",
|
||||
"@typescript-eslint/parser": "^8.61.1",
|
||||
"@typescript-eslint/eslint-plugin": "^8.62.0",
|
||||
"@typescript-eslint/parser": "^8.62.0",
|
||||
"@vitejs/plugin-vue": "^6.0.7",
|
||||
"@vitejs/plugin-vue-jsx": "^5.1.5",
|
||||
"@vue/compiler-sfc": "^3.5.35",
|
||||
"autoprefixer": "^10.5.0",
|
||||
"esbuild": "^0.28.0",
|
||||
"eslint": "^10.4.1",
|
||||
"eslint": "^10.5.0",
|
||||
"eslint-config-prettier": "^10.1.8",
|
||||
"eslint-plugin-prettier": "^5.5.5",
|
||||
"eslint-plugin-vue": "^10.9.2",
|
||||
@@ -86,7 +86,7 @@
|
||||
"unplugin-vue-components": "^32.1.0",
|
||||
"vite": "^8.0.16",
|
||||
"vite-plugin-compression": "^0.5.1",
|
||||
"vite-plugin-eslint2": "^5.0.3",
|
||||
"vite-plugin-eslint2": "^5.3.0",
|
||||
"vite-svg-loader": "^5.1.1",
|
||||
"vue-eslint-parser": "^10.4.1",
|
||||
"vue-tsc": "^3.3.4"
|
||||
|
||||
@@ -4797,6 +4797,8 @@ const message = {
|
||||
urlcc: 'URL frequency limit',
|
||||
method: 'Request type',
|
||||
addIpsToBlock: 'Batch block IP',
|
||||
addIpSegmentToBlock: 'Block IP segment',
|
||||
addIpSegmentsToBlock: 'Batch block IP segments',
|
||||
addUrlsToWhite: 'Batch add URL to white list',
|
||||
noBlackIp: 'IP is already blocked, no need to block again',
|
||||
noWhiteUrl: 'URL is already in the white list, no need to add again',
|
||||
|
||||
@@ -4846,6 +4846,8 @@ const message = {
|
||||
urlcc: 'Límite de frecuencia por URL',
|
||||
method: 'Método de petición',
|
||||
addIpsToBlock: 'Bloqueo masivo de IPs',
|
||||
addIpSegmentToBlock: 'Bloquear segmento IP',
|
||||
addIpSegmentsToBlock: 'Bloqueo masivo de segmentos IP',
|
||||
addUrlsToWhite: 'Añadir URLs en whitelist en lote',
|
||||
noBlackIp: 'IP ya bloqueada',
|
||||
noWhiteUrl: 'URL ya en whitelist',
|
||||
|
||||
@@ -4768,6 +4768,8 @@ const message = {
|
||||
urlcc: 'محدودیت فرکانس URL',
|
||||
method: 'نوع درخواست',
|
||||
addIpsToBlock: 'مسدودسازی دستهای IP',
|
||||
addIpSegmentToBlock: 'مسدود کردن بخش IP',
|
||||
addIpSegmentsToBlock: 'مسدودسازی دستهای بخشهای IP',
|
||||
addUrlsToWhite: 'افزودن دستهای URL به لیست سفید',
|
||||
noBlackIp: 'IP از قبل مسدود شده است، نیازی به مسدودسازی مجدد نیست',
|
||||
noWhiteUrl: 'URL از قبل در لیست سفید است، نیازی به افزودن مجدد نیست',
|
||||
|
||||
@@ -4818,6 +4818,8 @@ const message = {
|
||||
urlcc: 'URL 頻度制限',
|
||||
method: 'リクエストタイプ',
|
||||
addIpsToBlock: 'IP を一括ブロック',
|
||||
addIpSegmentToBlock: 'IP セグメントをブラック追加',
|
||||
addIpSegmentsToBlock: 'IP セグメントを一括ブラック追加',
|
||||
addUrlsToWhite: 'URL を一括でホワイトリストに追加',
|
||||
noBlackIp: 'IP は既にブロックされているため、再度ブロックする必要はありません',
|
||||
noWhiteUrl: 'URL は既にホワイトリストに含まれているため、再度追加する必要はありません',
|
||||
|
||||
@@ -4720,6 +4720,8 @@ const message = {
|
||||
urlcc: 'URL 빈도 제한',
|
||||
method: '요청 유형',
|
||||
addIpsToBlock: 'IP 일괄 차단',
|
||||
addIpSegmentToBlock: 'IP 대역 차단',
|
||||
addIpSegmentsToBlock: 'IP 대역 일괄 차단',
|
||||
addUrlsToWhite: 'URL을 일괄 허용 목록에 추가',
|
||||
noBlackIp: 'IP가 이미 차단되어 있으므로 다시 차단할 필요가 없습니다',
|
||||
noWhiteUrl: 'URL이 이미 허용 목록에 포함되어 있으므로 다시 추가할 필요가 없습니다',
|
||||
|
||||
@@ -4878,6 +4878,8 @@ const message = {
|
||||
urlcc: 'Had frekuensi URL',
|
||||
method: 'Jenis permintaan',
|
||||
addIpsToBlock: 'Sekat IP secara pukal',
|
||||
addIpSegmentToBlock: 'Sekat segmen IP',
|
||||
addIpSegmentsToBlock: 'Sekat segmen IP secara pukal',
|
||||
addUrlsToWhite: 'Tambah URL ke senarai putih secara pukal',
|
||||
noBlackIp: 'IP telah disekat, tidak perlu disekat semula',
|
||||
noWhiteUrl: 'URL telah dimasukkan ke senarai putih, tidak perlu ditambah semula',
|
||||
|
||||
@@ -5023,6 +5023,8 @@ const message = {
|
||||
urlcc: 'Limitação de frequência de URL',
|
||||
method: 'Tipo de solicitação',
|
||||
addIpsToBlock: 'Bloquear IPs em massa',
|
||||
addIpSegmentToBlock: 'Bloquear segmento de IP',
|
||||
addIpSegmentsToBlock: 'Bloquear segmentos de IP em massa',
|
||||
addUrlsToWhite: 'Adicionar URLs à lista branca em massa',
|
||||
noBlackIp: 'O IP já está bloqueado, não é necessário bloquear novamente',
|
||||
noWhiteUrl: 'O URL já está na lista branca, não é necessário adicionar novamente',
|
||||
|
||||
@@ -4872,6 +4872,8 @@ const message = {
|
||||
urlcc: 'Ограничение частоты URL',
|
||||
method: 'Тип запроса',
|
||||
addIpsToBlock: 'Массовая блокировка IP',
|
||||
addIpSegmentToBlock: 'Блокировать IP-сегмент',
|
||||
addIpSegmentsToBlock: 'Массовая блокировка IP-сегментов',
|
||||
addUrlsToWhite: 'Массовое добавление URL в белый список',
|
||||
noBlackIp: 'IP уже заблокирован, не нужно блокировать снова',
|
||||
noWhiteUrl: 'URL уже в белом списке, не нужно добавлять снова',
|
||||
|
||||
@@ -4868,6 +4868,8 @@ const message = {
|
||||
urlcc: 'URL sıklık sınırı',
|
||||
method: 'İstek türü',
|
||||
addIpsToBlock: 'Toplu IP engelleme',
|
||||
addIpSegmentToBlock: 'IP segmentini engelle',
|
||||
addIpSegmentsToBlock: 'IP segmentlerini toplu engelle',
|
||||
addUrlsToWhite: 'Toplu URL’yi beyaz listeye ekleme',
|
||||
noBlackIp: 'IP zaten engellenmiş, tekrar engellemeye gerek yok',
|
||||
noWhiteUrl: 'URL zaten beyaz listede, tekrar eklemeye gerek yok',
|
||||
|
||||
@@ -4471,6 +4471,8 @@ const message = {
|
||||
urlcc: 'URL 頻率限制',
|
||||
method: '請求類型',
|
||||
addIpsToBlock: '批次封鎖 IP',
|
||||
addIpSegmentToBlock: '封鎖 IP 段',
|
||||
addIpSegmentsToBlock: '批次封鎖 IP 段',
|
||||
addUrlsToWhite: '批次加白 URL',
|
||||
noBlackIp: 'IP 已封鎖,無需再次封鎖',
|
||||
noWhiteUrl: 'URL 已加白,無需再次加白',
|
||||
|
||||
@@ -3923,6 +3923,8 @@ const message = {
|
||||
urlcc: 'URL 频率限制',
|
||||
method: '请求类型',
|
||||
addIpsToBlock: '批量拉黑 IP',
|
||||
addIpSegmentToBlock: '拉黑 IP 段',
|
||||
addIpSegmentsToBlock: '批量拉黑 IP 段',
|
||||
addUrlsToWhite: '批量加白 URL',
|
||||
noBlackIp: 'IP 已拉黑,无需再次拉黑',
|
||||
noWhiteUrl: 'URL 已加白,无需再次加白',
|
||||
|
||||
Reference in New Issue
Block a user