diff --git a/web/src/views/website/BulkCreate.vue b/web/src/views/website/BulkCreate.vue
new file mode 100644
index 00000000..5f735155
--- /dev/null
+++ b/web/src/views/website/BulkCreate.vue
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+ {{
+ $gettext(
+ 'Please enter the website name, domain, port, path, and remark in the text area below, one per line.'
+ )
+ }}
+
+
+
+ {{
+ $gettext(
+ 'Name: The name of the website, which will be displayed in the website list, must be unique.'
+ )
+ }}
+
+
+ {{
+ $gettext(
+ 'Domain: The domain name of the website, multiple domains can be separated by commas.'
+ )
+ }}
+
+
+ {{
+ $gettext(
+ 'Port: The port number of the website, multiple ports can be separated by commas.'
+ )
+ }}
+
+
+ {{ $gettext('Path: The path of the website, can be empty to use the default path.') }}
+
+
+ {{ $gettext('Remark: The remark of the website, can be empty.') }}
+
+
+ {{ $gettext('Create') }}
+
+
+
+
+
+
diff --git a/web/src/views/website/IndexView.vue b/web/src/views/website/IndexView.vue
index 9bd52192..0d7cf9d9 100644
--- a/web/src/views/website/IndexView.vue
+++ b/web/src/views/website/IndexView.vue
@@ -11,6 +11,7 @@ import dashboard from '@/api/panel/dashboard'
import website from '@/api/panel/website'
import { useFileStore } from '@/store'
import { generateRandomString, isNullOrUndef, renderIcon } from '@/utils'
+import BulkCreate from '@/views/website/BulkCreate.vue'
const fileStore = useFileStore()
const { $gettext } = useGettext()
@@ -176,6 +177,7 @@ const columns: any = [
]
const createModal = ref(false)
+const bulkCreateModal = ref(false)
const editDefaultPageModal = ref(false)
const createModel = ref({
@@ -289,6 +291,9 @@ const handleCreate = async () => {
createModel.value.listens = createModel.value.listens.filter((item) => item !== '443')
useRequest(website.create(createModel.value)).onSuccess(() => {
refresh()
+ window.$message.success(
+ $gettext('Website %{ name } created successfully', { name: createModal.value.name })
+ )
createModal.value = false
createModel.value = {
name: '',
@@ -303,7 +308,6 @@ const handleCreate = async () => {
path: '',
remark: ''
}
- window.$message.success($gettext('Created successfully'))
})
}
@@ -339,10 +343,10 @@ onMounted(() => {
-
+
-
- {{ $gettext('Create Website') }}
+
+ {{ $gettext('Modify Default Page') }}
@@ -354,10 +358,15 @@ onMounted(() => {
)
}}
-
- {{ $gettext('Modify Default Page') }}
+
+ {{ $gettext('Bulk Create Website') }}
+
+
+ {{ $gettext('Create Website') }}
+
+
{
+