{{ t('stats_panel') }}
{{
t('stat_total_income_30d') }}
{{
formatMoney(statsSummary.totalIncome) }}
{{
t('stat_total_orders_30d') }}
{{ statsSummary.totalOrders }}
{{
t('stat_total_users_30d') }}
{{ statsSummary.totalNewUsers }}
{{ t('stats_orders') }}
{{ t('stats_users_dist') }}
{{ t('tipindeX') }}
{{ t('node_map') }}
{{ t('file_list') }}
{{ currentFile ? currentFile.path : t('unselected') }}
{{ currentFile.path }}
{{ currentFile.restrictedReason }}
{{ t('select_file_tip') }}
{{ t('user_list') }}
{{ t('app_link') }}
Loading...
{{ t('loading') || 'Loading...' }}
| ID | {{ t('user_email') }} | {{ t('user_traffic') }} / {{ t('user_expired') }} | {{ t('user_invite') }} | {{ t('user_status') }} / {{ t('created_at') }} | {{ t('action') }} | ||
|---|---|---|---|---|---|---|---|
| {{ t('no_users') }} | |||||||
| {{ user.id }} |
{{ user.email ? user.email.charAt(0).toUpperCase() : '?' }}
{{ user.email }}
{{ user.uuid }}
|
{{ calculateRemainingQuota(user)
}}
{{ formatDate(user.expired.expire_time).split(' ')[0] }}
{{
formatBytes(user.traffic.d) }}
{{
formatBytes(user.traffic.u) }}
|
{{ user.invite_count || 0
}}/{{
t('invite_dw')
}}
{{
user.invite.code }}
|
{{ formatDate(user.create_time) }}
|
|||
| {{ t('no_users') }} | |||||||
{{ t('node_list')
}}
Loading...
{{ t('loading') || 'Loading...' }}
| ID | {{ t('node_name') }} | {{ t('node_address') }} | {{ t('real_time_info') }} | {{ t('node_status') }} / {{ t('created_at') }} | {{ t('action') }} |
|---|---|---|---|---|---|
|
{{ t('no_data') || 'No Data' }}
|
|||||
| {{ node.id }} |
{{ node.name }}
{{
t('node_type_free') }}
{{
t('node_type_traffic') }}
{{
t('node_type_expire') }}
{{ node.version || '-' }}
|
{{ node.domain }}
{{ node.address }}:{{ node.port
}}
|
{{ node.real_status === 'running' ? t('status_running') :
(node.real_status === 'stopped' ? t('status_stopped') :
node.real_status) }}
{{ node.speed }}
-
{{ node.current_connects || 0 }}
{{ node.runtime ? formatDuration(node.runtime) : '-'
}}
|
{{ formatDate(node.create_time)
}}
|
|
{{ t('order_manage') }}
Loading...
| {{ t('order_no') }} / {{ t('out_trade_no') }} | {{ t('pay_channel') }} | {{ t('user_email') }} | {{ t('product_content') }} | {{ t('total_amount') }} | {{ t('order_status') }} / IP | {{ t('created_at') }} / {{ t('pay_time') }} | {{ t('action') }} |
|---|---|---|---|---|---|---|---|
| {{ t('no_order_data') }} | |||||||
|
{{ order.order_no }}
{{ order.payment?.out_trade_no || '-' }}
|
{{ getPayTypeName(order.payment?.pay_type) }}
{{ order.pay?.name || '-' }}
|
{{ order.user?.email || '-' }}
|
{{ order.name }}
{{ t('traffic') }}: {{
formatBytes(order.item_value) }}
{{ t('duration') }}: {{
order.item_value }}
{{ t('days') }}
|
{{ formatMoney(order.amount) }} |
{{ order.status === 1 ? t('status_paid') : (order.status === 0 ?
t('status_unpaid') :
t('status_expired')) }}
{{
order.client_ip }}
|
{{
formatDate(order.create_time) }}
{{
formatDate(order.update_time) }}
|
|
{{ t('payment_list') }}
{{ t('payment_name') }}
Loading...
| ID | {{ t('payment_name') }} | {{ t('payment_type') }} | {{ t('payment_config') }} | {{ t('payment_status') }} / {{ t('created_at') }} | {{ t('action') }} |
|---|---|---|---|---|---|
| {{ t('no_data') }} | |||||
| {{ pay.id }} |
{{ pay.name }}
{{ pay.label }}
|
{{ getPayTypeName(pay.type) }} |
{{ formatDate(pay.create_time) }}
|
||