Browse Source

feat: 增加应用商店显示的过滤数量 (#4183)

pull/4187/head
zhengkunwang 8 months ago committed by GitHub
parent
commit
be36103475
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 19
      frontend/package-lock.json
  2. 2
      frontend/package.json
  3. 1150
      frontend/src/assets/json/iso.json
  4. 4
      frontend/src/assets/json/world-name.json
  5. 76
      frontend/src/global/mimetype.ts
  6. 12
      frontend/src/styles/common.scss
  7. 8
      frontend/src/views/app-store/apps/index.vue

19
frontend/package-lock.json generated

@ -65,7 +65,7 @@
"sass": "^1.49.7",
"standard-version": "^9.5.0",
"stylelint": "^15.10.1",
"tailwindcss": "^3.3.2",
"tailwindcss": "^3.4.1",
"typescript": "^4.5.4",
"unplugin-auto-import": "^0.16.4",
"unplugin-vue-components": "^0.25.0",
@ -6456,9 +6456,9 @@
}
},
"node_modules/jiti": {
"version": "1.18.2",
"resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz",
"integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==",
"version": "1.21.0",
"resolved": "https://registry.npmmirror.com/jiti/-/jiti-1.21.0.tgz",
"integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==",
"dev": true,
"bin": {
"jiti": "bin/jiti.js"
@ -9769,9 +9769,9 @@
}
},
"node_modules/tailwindcss": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz",
"integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==",
"version": "3.4.1",
"resolved": "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-3.4.1.tgz",
"integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==",
"dev": true,
"dependencies": {
"@alloc/quick-lru": "^5.2.0",
@ -9779,10 +9779,10 @@
"chokidar": "^3.5.3",
"didyoumean": "^1.2.2",
"dlv": "^1.1.3",
"fast-glob": "^3.2.12",
"fast-glob": "^3.3.0",
"glob-parent": "^6.0.2",
"is-glob": "^4.0.3",
"jiti": "^1.18.2",
"jiti": "^1.19.1",
"lilconfig": "^2.1.0",
"micromatch": "^4.0.5",
"normalize-path": "^3.0.0",
@ -9794,7 +9794,6 @@
"postcss-load-config": "^4.0.1",
"postcss-nested": "^6.0.1",
"postcss-selector-parser": "^6.0.11",
"postcss-value-parser": "^4.2.0",
"resolve": "^1.22.2",
"sucrase": "^3.32.0"
},

2
frontend/package.json

@ -77,7 +77,7 @@
"sass": "^1.49.7",
"standard-version": "^9.5.0",
"stylelint": "^15.10.1",
"tailwindcss": "^3.3.2",
"tailwindcss": "^3.4.1",
"typescript": "^4.5.4",
"unplugin-auto-import": "^0.16.4",
"unplugin-vue-components": "^0.25.0",

1150
frontend/src/assets/json/iso.json

File diff suppressed because it is too large Load Diff

4
frontend/src/assets/json/world-name.json

@ -188,5 +188,7 @@
"Yugoslavia": "南斯拉夫",
"Zaire": "扎伊尔",
"Zambia": "赞比亚",
"Zimbabwe": "津巴布韦"
"Zimbabwe": "津巴布韦",
"Hong Kong": "中国香港",
"Macau": "中国澳门"
}

76
frontend/src/global/mimetype.ts

@ -181,3 +181,79 @@ export const DNSTypes = [
value: 'Godaddy',
},
];
export const Fields = [
{
label: 'URL',
value: 'URL',
},
{
label: 'IP',
value: 'IP',
},
{
label: 'Header',
value: 'Header',
},
{
label: 'Host',
value: 'Host',
},
];
export const Patterns = [
{
label: i18n.global.t('xpack.waf.contain'),
value: 'contain',
},
{
label: i18n.global.t('xpack.waf.equal'),
value: 'eq',
},
{
label: i18n.global.t('xpack.waf.regex'),
value: 'regex',
},
{
label: i18n.global.t('xpack.waf.notEqual'),
value: 'notEq',
},
];
export const HttpCodes = [
{
label: i18n.global.t('xpack.waf.badReq'),
value: 400,
},
{
label: i18n.global.t('xpack.waf.forbidden'),
value: 403,
},
{
label: i18n.global.t('xpack.waf.noRes'),
value: 444,
},
{
label: i18n.global.t('xpack.waf.serverErr'),
value: 500,
},
];
export const Actions = [
{
label: i18n.global.t('xpack.waf.actionAllow'),
value: 'allow',
},
{
label: i18n.global.t('xpack.waf.deny'),
value: 'deny',
},
{
label: i18n.global.t('xpack.waf.captcha'),
value: 'captcha',
},
{
label: i18n.global.t('xpack.waf.fiveSeconds'),
value: 'five_seconds',
},
];

12
frontend/src/styles/common.scss

@ -419,6 +419,18 @@ html {
width: 200px !important;
}
.p-w-100 {
width: 100px !important;
}
.p-w-150 {
width: 150px !important;
}
.p-w-400 {
width: 400px !important;
}
.p-ml-20 {
margin-left: 20px !important;
}

8
frontend/src/views/app-store/apps/index.vue

@ -12,7 +12,7 @@
>
{{ $t('app.all') }}
</el-button>
<div v-for="item in tags.slice(0, 6)" :key="item.key" class="inline">
<div v-for="item in tags.slice(0, 7)" :key="item.key" class="inline">
<el-button
class="tag-button"
:class="activeTag === item.key ? '' : 'no-active'"
@ -38,7 +38,7 @@
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item
v-for="item in tags.slice(6)"
v-for="item in tags.slice(7)"
@click="changeTag(item.key)"
:key="item.key"
>
@ -106,7 +106,7 @@
<div class="app-content">
<div class="app-header">
<span class="app-title">{{ app.name }}</span>
<el-text type="success" style="margin-left: 10px" v-if="app.installed">
<el-text type="success" class="!ml-2" v-if="app.installed">
{{ $t('app.allReadyInstalled') }}
</el-text>
<el-button
@ -274,7 +274,7 @@ const changeTag = (key: string) => {
req.tags = [key];
}
const index = tags.value.findIndex((tag) => tag.key === key);
if (index > 5) {
if (index > 6) {
moreTag.value = key;
} else {
moreTag.value = '';

Loading…
Cancel
Save