diff options
| author | Vadim Iskuchekov <egregors@pm.me> | 2025-09-16 10:24:32 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-16 10:24:32 +0300 |
| commit | 9623e875113adad1fcbae7370e043db040462f2a (patch) | |
| tree | 925a7b445bfb7bd41b4bdec665d5c75353dafcfa /web/html/form | |
| parent | bc0518391ef06d3d6b9f826085b73d1f1e35c913 (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.html | 24 |
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" }} |
