erio
b32d1a2c9f
feat(notify): add balance low & account quota notification system
- User balance low notification: email alert when balance drops below
configurable threshold (user email + verified extra emails)
- Account quota notification: broadcast email to admin-configured
recipients when daily/weekly/total quota usage exceeds alert threshold
- Admin settings: global enable/disable, default threshold, quota
notification email list (Email Settings tab)
- User profile: enable/disable, custom threshold, add/remove extra
notification emails with verification code flow
- Account quota: per-dimension alert toggle and threshold in quota
control card
- Trigger logic: first-crossing only (old >= threshold && new < threshold
for balance; old < threshold && new >= threshold for quota), naturally
prevents duplicate notifications without Redis dedup
2026-04-14 09:23:02 +08:00
..
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-03-14 12:45:10 +08:00
2026-03-01 14:25:16 +08:00
2026-02-28 20:38:35 +08:00
2026-04-09 18:14:28 +08:00
2026-03-04 15:22:46 +08:00
2026-03-18 10:06:35 +08:00
2026-02-12 14:20:14 +08:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-02-11 01:23:21 +08:00
2026-02-28 20:18:14 +08:00
2026-02-28 20:18:14 +08:00
2026-03-16 20:22:10 +08:00
2026-02-28 20:38:35 +08:00
2026-04-05 22:32:49 +08:00
2026-04-14 09:22:12 +08:00
2026-03-11 16:46:58 +08:00
2026-03-17 19:26:30 +08:00
2026-03-17 19:26:30 +08:00
2026-04-04 11:13:58 +08:00
2026-03-17 19:26:11 +08:00
2026-03-17 19:26:11 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:05:54 +08:00
2026-02-10 11:42:39 +08:00
2026-02-24 20:04:05 +08:00
2026-04-09 21:35:48 +08:00
2026-03-04 15:22:46 +08:00
2026-03-04 13:45:49 +08:00
2026-02-23 12:45:37 +08:00
2026-02-23 12:45:37 +08:00
2026-04-05 17:11:01 +08:00
2026-03-10 11:29:31 +08:00
2026-02-12 14:20:14 +08:00
2026-01-14 23:56:45 +08:00
2026-02-07 12:31:10 +08:00
2026-02-12 16:27:29 +08:00
2026-02-12 16:27:29 +08:00
2026-03-04 13:45:49 +08:00
2026-02-12 16:25:44 +08:00
2026-02-12 16:27:29 +08:00
2026-02-28 15:01:20 +08:00
2026-04-11 13:16:35 +08:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-04-03 01:50:26 +08:00
2026-04-09 18:14:28 +08:00
2026-03-08 06:59:53 +08:00
2026-02-07 19:46:42 +08:00
2026-04-14 09:23:02 +08:00
2026-03-11 16:46:58 +08:00
2026-03-11 16:46:58 +08:00
2026-03-18 09:23:19 +08:00
2026-02-23 12:45:37 +08:00
2026-03-27 14:33:05 +08:00
2026-02-28 15:01:20 +08:00
2026-04-09 19:25:08 +08:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-03-04 13:45:49 +08:00
2026-04-09 18:14:28 +08:00