feat: 自定义版本功能更新
Build and Release / Build (push) Has been cancelled

- 新增家庭共享订阅管理
- 新增用户邀请统计
- 新增签名和订阅模式设置表单
- 更新 API 服务层和国际化文件
- UI 组件优化(enhanced-input、pro-table)
This commit is contained in:
2026-03-19 01:56:13 -07:00
parent 31803a1d24
commit 6b92979c7c
82 changed files with 3266 additions and 739 deletions
@@ -99,6 +99,8 @@
"title": "Email Settings",
"trafficExceedEmailTemplate": "Traffic Exceed Email Template",
"trafficTemplate": "Traffic Template",
"deleteAccountEmailTemplate": "Delete Account Email Template",
"deleteAccountTemplate": "Delete Account Template",
"verifyEmailTemplate": "Verify Email Template",
"verifyTemplate": "Verify Template",
"whitelistSuffixes": "Whitelist Suffixes",
@@ -31,6 +31,7 @@
"System Config": "System Config",
"Ticket Management": "Ticket Management",
"Traffic Details": "Traffic Details",
"Device Group": "Device Group",
"User Management": "User Management",
"Users & Support": "Users & Support"
}
@@ -3,6 +3,7 @@
"common": {
"cancel": "Cancel",
"save": "Save Settings",
"saving": "Saving...",
"saveFailed": "Save Failed",
"saveSuccess": "Save Successful"
},
@@ -23,6 +24,10 @@
"description": "Configure user invitation and referral reward settings",
"forcedInvite": "Require Invitation to Register",
"forcedInviteDescription": "When enabled, users must register through an invitation link",
"giftDays": "Invite Gift Days",
"giftDaysDescription": "When referral percentage is 0, both the inviter and invitee receive this many extra subscription days after the invitee makes a purchase",
"giftDaysPlaceholder": "Enter days",
"giftDaysSuffix": "day(s)",
"inputPlaceholder": "Please enter",
"onlyFirstPurchase": "First Purchase Reward Only",
"onlyFirstPurchaseDescription": "When enabled, referrers only receive rewards for the first purchase by referred users",
@@ -42,6 +47,22 @@
"title": "Log Cleanup Settings"
},
"logSettings": "Log Settings",
"signature": {
"title": "Request Signature",
"description": "Enable or disable request signature verification for public APIs",
"enable": "Enable Signature Verification",
"enableDescription": "When enabled, clients can trigger strict signature verification by sending X-Signature-Enabled: 1",
"saveSuccess": "Save Successful",
"saveFailed": "Save Failed"
},
"subscribeMode": {
"title": "Subscription Mode",
"description": "Configure single or multiple subscription purchase behavior",
"singleSubscriptionMode": "Single Subscription Mode",
"singleSubscriptionModeDescription": "After enabling, users can only purchase/renew one subscription in the same account",
"saveSuccess": "Subscription mode updated successfully",
"saveFailed": "Failed to update settings"
},
"privacyPolicy": {
"description": "Edit and manage privacy policy content",
"title": "Privacy Policy"
@@ -24,6 +24,7 @@
"createSubscription": "Create Subscription",
"createSuccess": "Created successfully",
"createUser": "Create User",
"currentCommission": "Current Commission",
"delete": "Delete",
"deleted": "Deleted",
"deleteDescription": "This action cannot be undone.",
@@ -31,19 +32,57 @@
"deleteSuccess": "Deleted successfully",
"isDeleted": "Status",
"deviceLimit": "Device Limit",
"deviceGroup": "Device Group",
"deviceNo": "Device No.",
"deviceSearch": "Device",
"download": "Download",
"downloadTraffic": "Download Traffic",
"edit": "Edit",
"editSubscription": "Edit Subscription",
"enable": "Enable",
"enabled": "Enabled",
"disabled": "Disabled",
"expiredAt": "Expired At",
"expireTime": "expireTime",
"familyActions": "Actions",
"familyConfirmDissolve": "Confirm Dissolve",
"familyConfirmRemoveMember": "Confirm Remove Member",
"familyDetail": "Device Group Detail",
"familyDisabled": "Disabled",
"familyDissolve": "Dissolve",
"familyDissolved": "Device group dissolved",
"familyDissolveDescription": "This will dissolve the device group and remove all active members.",
"familyId": "Device Group ID",
"familyInvalidMaxMembers": "Invalid max members",
"familyJoinSource": "Join Source",
"familyJoinSourceOwnerInit": "Owner Init",
"familyJoinedAt": "Joined At",
"familyLeftAt": "Left At",
"familyManagement": "Device Group Management",
"familyMaxMembers": "Max Members",
"familyMaxMembersTooSmall": "Max members cannot be lower than active member count",
"familyMember": "Member",
"familyMemberLeft": "Left",
"familyMemberRemoved": "Removed",
"familyMembers": "Members",
"familyNoData": "No device group data",
"familyNoMembers": "No members",
"familyOwnerUserId": "Owner User ID",
"familyRemoveMemberDescription": "This will remove the member from the active device group.",
"familyStatus": "Status",
"familySummary": "Summary",
"familyUpdateMaxMembers": "Update Max Members",
"firstPurchaseOnly": "First purchase only",
"giftAmount": "Gift Amount",
"giftAmountPlaceholder": "Enter gift amount",
"giftLogs": "Gift Logs",
"globalDefault": "Global Default",
"invalidEmailFormat": "Invalid email format",
"inviteCode": "Invite Code",
"inviteCodePlaceholder": "Enter invite code",
"inviteCount": "Invited Users",
"inviteStats": "Invite Statistics",
"invitedUsers": "Invited Users",
"kickOfflineConfirm": "kickOfflineConfirm",
"kickOfflineSuccess": "Device kicked offline",
"lastSeen": "Last Seen",
@@ -52,17 +91,22 @@
"loginNotifications": "Login Notifications",
"loginStatus": "Login Status",
"manager": "Administrator",
"memberCount": "Member Count",
"more": "More",
"normal": "Normal",
"next": "Next",
"noInvitedUsers": "No invited users yet",
"notifySettingsTitle": "Notify Settings",
"offline": "Offline",
"online": "Online",
"onlineDevices": "Online Devices",
"onlyFirstPurchase": "First Purchase Only",
"orderList": "Order List",
"owner": "Owner",
"password": "Password",
"passwordPlaceholder": "Enter password",
"permanent": "Permanent",
"prev": "Prev",
"pleaseEnterEmail": "Enter email",
"referer": "Referer",
"refererId": "Referer ID",
@@ -71,7 +115,9 @@
"referralPercentage": "Referral Percentage",
"referralPercentagePlaceholder": "Enter percentage",
"referrerUserId": "Referrer User ID",
"registeredAt": "Registered At",
"remove": "Remove",
"removeSuccess": "Removed successfully",
"resetLogs": "Reset Logs",
"resetTraffic": "Reset Traffic",
"toggleStatus": "Toggle Status",
@@ -81,6 +127,7 @@
"resetSubscriptionTrafficDescription": "This will reset the subscription traffic counters.",
"toggleSubscriptionStatus": "Toggle Status",
"toggleSubscriptionStatusDescription": "This will toggle the subscription status.",
"resetSearch": "Reset",
"resetTime": "Reset Time",
"resetToken": "Reset Subscription Address",
"resetTokenDescription": "This will reset the subscription address and regenerate a new token.",
@@ -102,6 +149,12 @@
"statusDeducted": "Deducted",
"statusStopped": "Stopped",
"save": "Save",
"search": "Search",
"searchPlaceholder": "Email / Invite Code / Device ID",
"searchInputPlaceholder": "Enter search term",
"sharedSubscription": "Shared",
"sharedSubscriptionInfo": "This user is a device group member. Showing shared subscriptions from owner (ID: {{ownerId}})",
"sharedSubscriptionList": "Shared Subscription List",
"speedLimit": "Speed Limit",
"startTime": "startTime",
"subscription": "Subscription",
@@ -114,6 +167,7 @@
"telephone": "Phone",
"telephonePlaceholder": "Enter phone number",
"token": "token",
"totalCommission": "Total Commission",
"totalTraffic": "Total Traffic",
"tradeNotifications": "Trade Notifications",
"trafficDetails": "Traffic Details",
@@ -134,5 +188,7 @@
"userList": "User List",
"userName": "Username",
"userProfile": "User Profile",
"verified": "Verified"
"verified": "Verified",
"viewDeviceGroup": "View Device Group",
"viewOwner": "View Owner"
}