Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Iskuchekov <egregors@pm.me>2025-09-16 10:24:32 +0300
committerGitHub <noreply@github.com>2025-09-16 10:24:32 +0300
commit9623e875113adad1fcbae7370e043db040462f2a (patch)
tree925a7b445bfb7bd41b4bdec665d5c75353dafcfa /web/html/form
parentbc0518391ef06d3d6b9f826085b73d1f1e35c913 (diff)
feat: Simple periodic traffic reset (for Inbounds) – daily | weekly | monthly (#3407)
* Add periodic traffic reset feature model and ui with localization support * Remove periodic traffic reset fields from client * fix: add periodicTrafficReset field to inbound data structure * feat: implement periodic traffic reset job and integrate with cron scheduler * feat: enhance periodic traffic reset functionality with scheduling and inbound filtering * refactor: rename periodicTrafficReset to trafficReset and add lastTrafficResetTime field * feat: add periodic client traffic reset job and schedule tasks * Update web/job/periodic_traffic_reset_job.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update web/job/periodic_client_traffic_reset_job.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update web/service/inbound.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * refactor: rename periodicTrafficReset to trafficReset and add lastTrafficResetTime * feat: add last traffic reset time display and update logic in inbound service * fix: correct log message for completed periodic traffic reset * refactor: update traffic reset fields in Inbound model and remove unused client traffic reset job * refactor: remove unused traffic reset logic and clean up client model fields * cleanup comments * fix
Diffstat (limited to 'web/html/form')
-rw-r--r--web/html/form/inbound.html24
1 files changed, 24 insertions, 0 deletions
diff --git a/web/html/form/inbound.html b/web/html/form/inbound.html
index 69f5fbb3..ca4dc66a 100644
--- a/web/html/form/inbound.html
+++ b/web/html/form/inbound.html
@@ -48,6 +48,30 @@
<template slot="label">
<a-tooltip>
<template slot="title">
+ <span>{{ i18n "pages.inbounds.periodicTrafficResetDesc" }}</span>
+ <br v-if="dbInbound.lastTrafficResetTime && dbInbound.lastTrafficResetTime > 0">
+ <span v-if="dbInbound.lastTrafficResetTime && dbInbound.lastTrafficResetTime > 0">
+ <strong>{{ i18n "pages.inbounds.lastReset" }}:</strong>
+ <span v-if="datepicker == 'gregorian'">[[ moment(dbInbound.lastTrafficResetTime).format('YYYY-MM-DD HH:mm:ss') ]]</span>
+ <span v-else>[[ DateUtil.convertToJalalian(moment(dbInbound.lastTrafficResetTime)) ]]</span>
+ </span>
+ </template>
+ {{ i18n "pages.inbounds.periodicTrafficResetTitle" }}
+ <a-icon type="question-circle"></a-icon>
+ </a-tooltip>
+ </template>
+ <a-select v-model="dbInbound.trafficReset" :dropdown-class-name="themeSwitcher.currentTheme">
+ <a-select-option value="never">{{ i18n "pages.inbounds.periodicTrafficReset.never" }}</a-select-option>
+ <a-select-option value="daily">{{ i18n "pages.inbounds.periodicTrafficReset.daily" }}</a-select-option>
+ <a-select-option value="weekly">{{ i18n "pages.inbounds.periodicTrafficReset.weekly" }}</a-select-option>
+ <a-select-option value="monthly">{{ i18n "pages.inbounds.periodicTrafficReset.monthly" }}</a-select-option>
+ </a-select>
+ </a-form-item>
+
+ <a-form-item>
+ <template slot="label">
+ <a-tooltip>
+ <template slot="title">
<span>{{ i18n "pages.inbounds.leaveBlankToNeverExpire" }}</span>
</template>
{{ i18n "pages.inbounds.expireDate" }}