feat: add Web UI for notification config (feishu + email)

- New config/notify_store.go: persistent notification config (notify.json)
- New API: GET/PUT /api/notify/config, POST /api/notify/test-feishu, POST /api/notify/test-email
- New Vue page: NotifyConfig.vue with feishu webhook and SMTP settings
- Updated cron/init to read from persistent store instead of env vars
- Password masked as ******** in API responses, preserved on updates
This commit is contained in:
2026-07-23 16:31:04 +08:00
parent 2d70a15307
commit bbf09fbc8d
9 changed files with 627 additions and 42 deletions
+7
View File
@@ -2,6 +2,7 @@ import { createRouter, createWebHistory } from 'vue-router'
import Dashboard from '../views/Dashboard.vue'
import CertList from '../views/CertList.vue'
import CertCreate from '../views/CertCreate.vue'
import NotifyConfig from '../views/NotifyConfig.vue'
import Login from '../views/Login.vue'
import { isLoggedIn } from '../api'
@@ -32,6 +33,12 @@ const router = createRouter({
component: CertCreate,
meta: { requiresAuth: true },
},
{
path: '/notify',
name: 'NotifyConfig',
component: NotifyConfig,
meta: { requiresAuth: true },
},
],
})