diff --git a/frontend/src/views/components/ConfigSettings/ConfigForm/ConfigForm.js b/frontend/src/views/components/ConfigSettings/ConfigForm/ConfigForm.js
index c553d480..a52a613f 100644
--- a/frontend/src/views/components/ConfigSettings/ConfigForm/ConfigForm.js
+++ b/frontend/src/views/components/ConfigSettings/ConfigForm/ConfigForm.js
@@ -76,7 +76,7 @@ const validDomain = value => {
}
const baseGroups = [
- group('site', '站点与域名', '填写域名即可,无需添加协议前缀或路径。', [
+ group('site', '站点与域名', '', [
field('domains.primary', '主邮件域名', 'text', { required: true, placeholder: 'example.com' }),
field('domains.web', '网页访问域名', 'text', { required: true, placeholder: 'mail.example.com' }),
field('domains.accepted', '接收邮件的域名', 'list', { required: true, wide: false, hint: '需包含主邮件域名,每个域名单独填写。', placeholder: 'example.com' }),
@@ -88,7 +88,7 @@ const baseGroups = [
port('database.port', '数据库端口', { min: 1, show: networkDatabase }),
field('database.username', '数据库用户名', 'text', { required: true, show: networkDatabase })
]),
- group('http', '网页访问服务', '端口和加密方式变更可能需要重启,并影响当前访问地址。', [
+ group('http', '网页访问服务', '', [
field('http.tlsMode', '加密连接方式', 'select', {
options: options([['', '沿用当前设置'], ['direct', '由 Smail 提供 HTTPS'], ['proxy', '由反向代理提供 HTTPS']]),
hint: '选择内置 HTTPS 自动启用并补全端口;选择反向代理后,Smail 不自动申请或续期 SSL 证书,由反代服务器负责;邮件协议仍需有效的本地证书。'
diff --git a/frontend/src/views/components/ConfigSettings/ConfigSettings.js b/frontend/src/views/components/ConfigSettings/ConfigSettings.js
index d289d012..4bb081a0 100644
--- a/frontend/src/views/components/ConfigSettings/ConfigSettings.js
+++ b/frontend/src/views/components/ConfigSettings/ConfigSettings.js
@@ -185,7 +185,7 @@ export function usePage(pageKey = 'base') {
}
return null
})
- const sensitiveHint = computed(() => secretField.value ? '密码不会回填,修改请使用下方独立输入框,留空保持原值' : '系统内部字段自动保留,无需手工填写')
+ const sensitiveHint = computed(() => secretField.value ? '密码不会回填,修改请使用下方独立输入框,留空保持原值' : '')
const invalidateCandidate = () => {
savedGeneration.value = 0
diff --git a/test/frontend/config-settings.test.mjs b/test/frontend/config-settings.test.mjs
index be4a8200..3959b128 100644
--- a/test/frontend/config-settings.test.mjs
+++ b/test/frontend/config-settings.test.mjs
@@ -418,7 +418,7 @@ test('配置编辑区移除填写标题、说明与重复标签,保留主标
assert.match(template, /
{{ currentSection.label }}/)
assert.match(template, /v-if="selectedSection === 'ssl' && status.tlsMode === 'proxy'"[^>]*role="note"/)
assert.match(template, /v-if="sectionError"[\s\S]*?:title="sectionError"/)
- assert.match(template, /
]*role="status"/)
})
@@ -462,16 +462,12 @@ test('标题合并配置状态,保留刷新保护和降级提示,不再渲
assert.match(header, /aria-labelledby="config-page-title"/)
assert.match(header, /
{{ currentSection.label }}/)
assert.match(header, /运行状态:<\/span>{{ stateLabel }}/)
- assert.match(header, //)
- assert.equal((header.match(/- /g) || []).length, 3)
- assert.match(header, /status.activeGeneration/)
- assert.match(header, /formatTime\(status.lastValidAt\)/)
- assert.match(header, /v-for="service in status.pendingRestart"/)
assert.match(header, /v-for="issue in status.degradedReasons \|\| \[\]"/)
assert.match(header, /v-if="!loading && !availabilityError"/)
assert.match(header, /:disabled="!!working \|\| sectionLoading \|\| loading"/)
assert.match(header, /@click="refreshPage"/)
- assert.match(header, /canWrite \? '敏感凭据已脱敏' : '只读模式'/)
+ assert.doesNotMatch(header, /