登录/LOGIN
{{ loading ? '验证中/AUTHENTICATING...' : '>> ' + t('unlockBtn') }}
RenewHelper
|
时序·守望
Service Lifecycle Management
///
分布式云资产全周期托管中枢
{{ t('check') }}
{{ t('add') }}
{{ t('settings') }}
{{ t('logs') }}
{{ lang==='zh'?'EN':'ZH' }}
{{ t('logout') }}
{{ t('totalServices') }}
{{ list.length }}
≈ {{ totalAmount }} {{ settings.defaultCurrency || 'CNY' }}
{{ t('expiringSoon') }}
{{ expiringCount }}
≈ {{ expiringTotal }} {{ settings.defaultCurrency || 'CNY' }}
{{ t('expiredAlert') }}
{{ expiredCount }}
≈ {{ expiredTotal }} {{ settings.defaultCurrency || 'CNY' }}
{{ t('viewSwitch') }}
{{ t('viewProjects') }}
{{ t('viewSpending') }}
{{ t('tagAll') }}
{{ t('disabledFilter') }}
{{ disabledCount }}
{{ tag }}
{{ getTagCount(tag) }}
MONITORING // TAG:
{{ currentTag }}
MATCHED:
{{ filteredList.length }}
{{ scope.row.name }}
// {{ scope.row.message }}
{{ tag }}
{{ scope.row.fixedPrice }}
{{ scope.row.currency }}
{{ t('typeReset') }}
{{ t('typeCycle') }}
{{ formatDaysLeft(scope.row.daysLeft) }}
{{ t('lunarCal') }}
TARGET: {{ scope.row.nextDueDate }}
({{ scope.row.nextDueDateLunar }})
:: {{ t('lbOffline') }} ::
{{ scope.row.serviceDays }} {{ t('daysUnit') }}
{{ scope.row.lastRenewDate ? scope.row.lastRenewDate.replace(/s+/g, '').replace(/(d{4}-d{2}-d{2}).*/, '$1') : '' }}
({{ scope.row.lastRenewDateLunar }})
{{ scope.row.intervalDays }}
{{ t('unit.'+(scope.row.cycleUnit||'day')) }}
{{ t('tipRenew') }}
{{ t('history') }}
{{ t('tipEdit') }}
{{ t('tipDelete') }}
window.scrollTo({top: 0, behavior: 'smooth'})" @current-change="() => window.scrollTo({top: 0, behavior: 'smooth'})" />
{{ upcoming7DaysBills.length }}
{{ t('upcomingBills').replace('%s', settings.upcomingBillsDays || 7) }}
{{ t('filter.w7').replace('%s', settings.upcomingBillsDays || 7) }}
{{ upcoming7DaysTotal }}
{{ bill.name }}
{{ t('predictedTag') }}
{{ bill.days === 0 ? (lang==='zh'?'今天':'TODAY') : bill.days + (lang==='zh'?' 天剩余':' DAYS LEFT') }}
{{ bill.amount }}
{{ bill.currency }}
{{ t('noData') }}
{{ t('billAmount') }}
{{ t('opSpending') }}
{{ t('monthlyTrend') }}
({{ spendingMode==='bill' ? '12M' : '12M' }})
{{ Math.max(...spendingStats[spendingMode].trends.map(m => parseFloat(m.val)), 0).toFixed(0) }}
0
{{ t('avgMonthlyLabel') }}: {{ spendingStats[spendingMode].avgVal.toFixed(2) }} {{ settings.defaultCurrency || 'CNY' }}
{{ spendingStats[spendingMode].trends[hoverIndex].month }}
{{ t('total') }}
{{ spendingStats[spendingMode].trends[hoverIndex].total }}
{{ settings.defaultCurrency || 'CNY' }}
{{ t('count') }}
{{ spendingStats[spendingMode].trends[hoverIndex].count }}
{{ t('growth') }}
{{ parseFloat(spendingStats[spendingMode].trends[hoverIndex].growth) > 0 ? '+' : '' }}{{ spendingStats[spendingMode].trends[hoverIndex].growth }}%
{{ item.month.slice(5) }}
{{ selectedMonth || '-' }} {{ t('itemDetails') }}
{{ monthDetails.length }} {{ t('count') }}
{{ t('noData') }}
{{ item.name }}
{{ t('predictedTag') }}
{{ item.period }}
{{ item.amount }}
{{ settings.defaultCurrency || 'CNY' }}
{{ t('annualSummary') }}
{{ spendingStats[spendingMode].selectedInfo?.label === '12M' ? t('last12M') : spendingStats[spendingMode].selectedInfo?.label }} {{ t('total') }}
{{ parseFloat(spendingStats[spendingMode].selectedInfo?.total || 0).toFixed(2) }}
{{ settings.defaultCurrency || 'CNY' }}
{{ parseFloat(y.total).toFixed(2) }} {{ settings.defaultCurrency || 'CNY' }}
{{ y.year }}
{{ spendingStats[spendingMode].recentTotal?.toFixed(2) || '0.00' }} {{ settings.defaultCurrency || 'CNY' }}
{{ t('last12M') }}
{{ t('monthlyBreakdown') }}
{{ m.month }}
{{ t('currMonth') }}
{{ m.total }}
{{ settings.defaultCurrency || 'CNY' }}
{{ parseFloat(m.growth) > 0 ? '↑' : (parseFloat(m.growth) < 0 ? '↓' : '-') }} {{ Math.abs(m.growth) }}%
{{ t('noSpendingData') }}
© 2025-2026
RenewHelper
v2.0.15
|
DESIGNED BY
LOSTFREE
📅 {{ t('cycle') }}
⏳ {{ t('reset') }}
{{ t('createDate') }}
{{ getLunarStr(form.createDate).replace('农历: ','') }}
{{c.text}}
{{getSmartLunarText(c)}}
{{getMonthStr(c.text)}}
{{c.text}}
{{getYearGanZhi(c.text)}}
{{c.text}}
{{getMonthStr(c.text)}}
{{c.text}}
{{ t('lastRenew') }}
{{ getLunarStr(form.lastRenewDate).replace('农历: ','') }}
{{c.text}}
{{getSmartLunarText(c)}}
{{getMonthStr(c.text)}}
{{c.text}}
{{getYearGanZhi(c.text)}}
{{c.text}}
{{getMonthStr(c.text)}}
{{c.text}}
{{ t('nextDue') }}
{{ previewData.date }}
{{ t('previewCalc') }}
{{ previewData.diff }}
{{ t('status') }}
{{ t('cancel') }}
{{ t('save') }}
{{ t('secPref') }}
{{ t('secNotify') }}
{{ t('pushSwitch') }}
{{ t('lblPushTitle') || 'Title' }}
Telegram
{{ t('lblToken') }}
{{ t('lblChatId') }}
{{ t('btnTest') }}
Bark
{{ t('lblServer') }}
{{ t('lblDevKey') }}
{{ t('btnTest') }}
Gotify
{{ t('lblServer') }}
{{ t('lblToken') }}
{{ t('btnTest') }}
Ntfy
{{ t('lblServer') }}
{{ t('lblTopic') }}
{{ t('lblToken') }}
{{ t('btnTest') }}
PushPlus
{{ t('lblToken') }}
{{ t('btnTest') }}
NotifyX
{{ t('lblApiKey') }}
{{ t('btnTest') }}
Resend
{{ t('lblApiKey') }}
{{ t('lblFrom') }}
{{ t('lblTo') }}
{{ t('btnTest') }}
Webhook 1
{{ t('lblServer') }}
{{ t('lblHeaders') }}
{{ t('lblBody') }}
{{ t('btnTest') }}
Webhook 2
{{ t('lblServer') }}
{{ t('lblHeaders') }}
{{ t('lblBody') }}
{{ t('btnTest') }}
Webhook 3
{{ t('lblServer') }}
{{ t('lblHeaders') }}
{{ t('lblBody') }}
{{ t('btnTest') }}
{{ t('lblIcsTitle') }}
{{ t('lblIcsUrl') }}
{{ t('btnResetToken') }}
{{ t('btnCopy') }}
{{ t('secData') }}
{{ t('btnExport') }}
{{ t('btnImport') }}
{{ lang === 'zh' ? '升级旧数据 (生成初始账单)' : 'Migrate Old Data (Generate Initial Bills)' }}
{{ t('cancel') }}
{{ t('saveSettings') }}
{{t('billPeriod')}}
{{ currentRenewItem.intervalDays }} {{ t('unit.' + (currentRenewItem.cycleUnit || 'day')) }}
{{ t('lunarCal') }}
{{c.text}}
{{getSmartLunarText(c)}}
{{getMonthStr(c.text)}}
{{c.text}}
{{getYearGanZhi(c.text)}}
{{c.text}}
{{getMonthStr(c.text)}}
{{c.text}}
{{ getLunarStr(renewForm.startDate) }}
-
{{c.text}}
{{getSmartLunarText(c)}}
{{getMonthStr(c.text)}}
{{c.text}}
{{getYearGanZhi(c.text)}}
{{c.text}}
{{getMonthStr(c.text)}}
{{c.text}}
{{ getLunarStr(renewForm.endDate) }}
{{t('cancel')}}
{{t('yes')}}
{{t('totalCost')}}
{{historyStats.convertedTotal}}
{{historyStats.preferredCurrency}}
{{amount.toFixed(2)}} {{cur}}
{{t('totalCount')}}
{{historyStats.count}}
{{ item.renewDate ? item.renewDate.substring(0, 16) : 'N/A' }}
{{ t('tagLatest') }}
{{ t('tagAuto') }}
{{ t('tagManual') }}
{{ t('billPeriod') }}
{{ item.startDate }}
->
{{ item.endDate }}
{{ item.price }}
{{ item.currency }}
📝 {{ item.note }}
{{ t('opDate') }}
{{ t('amount') }}
{{ t('billPeriod') }} ({{ t('readOnly') }})
-
{{ t('note') }}
{{ t('cancel') }}
{{ t('save') }}
{{ t('btnRefresh') }}
{{ t('clearHistory') }}
{{ formatLogTime(l.time) }}
{{ l.trigger }}
{{ t('tag.'+tag) }}
{{line}}
{{ line }}
WAITING FOR RESPONSE...